Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Guiu2019-11-26 08:39:06 +0000
committerThomas Guiu2019-11-26 09:48:51 +0000
commit622176dfcaca0dacf063000e675e98c2e88a1445 (patch)
tree4e9c2ae38aa929795acd78b49f832c60b32e81d4
parentbd9929b24ae1a84b1cd37d0e554844aeeb1af04b (diff)
downloadorg.eclipse.emf.egf-622176dfcaca0dacf063000e675e98c2e88a1445.tar.gz
org.eclipse.emf.egf-622176dfcaca0dacf063000e675e98c2e88a1445.tar.xz
org.eclipse.emf.egf-622176dfcaca0dacf063000e675e98c2e88a1445.zip
Bug 553463 - Move to 2019-12
Change-Id: I0a5cfe4e663ceea6299f432318dbb0004974a31b Signed-off-by: Thomas Guiu <thomas.guiu@soyatec.com>
-rw-r--r--doc/org.eclipse.egf.doc.user/META-INF/MANIFEST.MF2
-rw-r--r--doc/org.eclipse.egf.engine.doc.pattern/META-INF/MANIFEST.MF2
-rw-r--r--doc/org.eclipse.egf.engine.doc/META-INF/MANIFEST.MF2
-rw-r--r--doc/pom.xml2
-rw-r--r--examples/workspace/org.eclipse.egf.example.emf.docgen.html/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.example.strategy.modeldriven/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.example.task.ant/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.example.task.h1/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.example.task.h4/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.example.type.extension.egf/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.examples.installer/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.examples.installer/pom.xml2
-rw-r--r--examples/workspace/org.eclipse.egf.portfolio.acceleo3.examples.installer/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.portfolio.atl.examples.installer/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.portfolio.eclipse.build.examples/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.portfolio.genchain.extension/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.acceleo3/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.activityworkflow.uc1/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.atl/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.emf.uc1/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.emf.uc2/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.emf.uc3/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.fc.uc1/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.generationchain.uc1/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.jet/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.pattern.uc2/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/org.eclipse.egf.usecase.pattern.uc3.m2treporting/META-INF/MANIFEST.MF2
-rw-r--r--examples/workspace/pom.xml2
-rw-r--r--features/org.eclipse.egf.application.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.common.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.common.ui.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.core.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.core.ui.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.doc.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.examples.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.model.edit.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.model.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.model.fprod.edit.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.model.fprod.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.model.ftask.edit.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.model.ftask.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.model.ui.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.portfolio.acceleo3.examples.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.portfolio.acceleo3.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.portfolio.atl.examples.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.portfolio.atl.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.portfolio.emf.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.portfolio.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.portfolio.genchain.ecoretools.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.portfolio.genchain.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.portfolio.task.ant.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.portfolio.task.ant.test.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.producer.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.producer.ui.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.releng.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.sdk.feature/feature.xml2
-rw-r--r--features/org.eclipse.egf.test.feature/feature.xml2
-rw-r--r--features/pom.xml2
-rw-r--r--platform_specific/2019-03/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF2
-rw-r--r--platform_specific/2019-03/pom.xml2
-rw-r--r--platform_specific/2019-06/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF2
-rw-r--r--platform_specific/2019-06/pom.xml2
-rw-r--r--platform_specific/2019-09/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF2
-rw-r--r--platform_specific/2019-09/pom.xml2
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/.classpath7
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/.gitignore1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/.project34
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF29
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/about.html26
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/about.ini30
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/build.properties25
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/egf.pngbin0 -> 674 bytes
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore6807
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java236
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java139
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java150
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java219
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java134
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java841
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java889
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java271
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java202
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java512
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java264
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java385
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java335
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java321
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java383
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java357
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java186
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java213
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java281
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java212
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java274
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java213
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java268
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java212
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java261
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java1147
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java723
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java187
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java240
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java2713
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java267
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java197
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java274
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java134
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java1198
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java134
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java207
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java313
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java318
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java613
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java194
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java477
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java540
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java366
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java236
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java2262
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java637
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java1696
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java1695
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java2262
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java272
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java202
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java2762
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java2759
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java320
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java201
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java338
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java852
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java303
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java510
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java1911
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java289
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java326
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java539
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java329
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java812
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java329
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java550
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java780
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicDelegation.java304
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepostinsert.java330
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepreinsert.java330
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java587
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java401
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassegfCustomconstructoroverride.java305
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java715
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java841
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java406
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java751
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java344
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java525
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java994
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java320
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java304
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java384
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java326
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java399
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java573
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java338
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java338
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java402
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java1235
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java330
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java330
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java325
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java393
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java887
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java326
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java539
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java329
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java812
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java329
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java550
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java780
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicDelegation.java304
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepostinsert.java330
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepreinsert.java330
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java587
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java401
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceegfCustomconstructoroverride.java305
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java715
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java841
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java406
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java751
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java344
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java525
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java994
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java320
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java304
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java384
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java326
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java399
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java573
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java338
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java338
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java402
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java1235
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java330
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java330
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java325
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java317
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java393
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java887
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java208
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java186
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java229
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java247
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java282
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java514
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java279
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java184
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java224
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java496
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java160
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java162
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java160
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java238
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java160
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java277
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java162
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java160
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java264
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java147
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java162
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java160
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java238
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java162
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java160
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java243
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java162
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java160
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java238
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/org.eclipse.emf.codegen.ecore.patch24
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/plugin.properties13
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/plugin.xml25
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F-2J-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F82J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F8mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F9WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._CStaNHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfE2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfEmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfFWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfG2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._CLQuZHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQE2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQEmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQFWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQG2J-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._CMmyNHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daA2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daAmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daBWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daC2J-Ed-FqczH3ESmRw.pt23
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._CPu-tHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU-2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU82J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU8mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU9WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._CRq4ZHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00Bro2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BromJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrpWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrsmJ-Ed-FqczH3ESmRw.pt19
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._BW9jpHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00Lco2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcomJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcpWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcsmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._BX27hHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNo2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNomJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNpWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNsmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._BY5dVHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXk2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXkmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXlWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXomJ-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._BZy1NHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIk2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIkmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIlWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIomJ-Ed-FqczH3ESmRw.pt64
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._BaPhJHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5k2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5kmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5lWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5omJ-Ed-FqczH3ESmRw.pt20
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._BbSC9HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MY2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MYmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MZWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-McmJ-Ed-FqczH3ESmRw.pt126
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._BiI45HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bY2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bYmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bZWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bcmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._BgWJJHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-c2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-cmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-dWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-gmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._BcoGxHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgc2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgcmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgdWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hggmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._Bd9jhHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqY2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqYmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqZWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqcmJ-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._BfAsZHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229M2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229MmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229NWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229QmJ-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._Bn8l9HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWU2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWUmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWVWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWYmJ-Ed-FqczH3ESmRw.pt32
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._Bjx3pHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQ2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCRWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCUmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._BlkAVHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQ2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzRWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzUmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._BnDOFHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GE2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GEmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GFWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GIGJ-Ed-FqczH3ESmRw.pt13
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._Bx7oZHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuM2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuMmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuNWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuQmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._BpSpxHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfM2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfMmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfNWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfQWJ-Ed-FqczH3ESmRw.pt54
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._BqoGhHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpI2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpImJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpJWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpMWJ-Ed-FqczH3ESmRw.pt116
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._BsH7VHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daI2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daImJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daJWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daMWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._BtAsJHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkE2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFGJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkHWJ-Ed-FqczH3ESmRw.pt47
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._BuWv9XLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVE2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVEmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVFWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVG2J-Ed-FqczH3ESmRw.pt49
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._BvZRxHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n42J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n4mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n5WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n8GJ-Ed-FqczH3ESmRw.pt13
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._B_otNHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBA2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBAmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBBWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBEGJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._B2Z4tHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyA2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyAmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyBWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyEGJ-Ed-FqczH3ESmRw.pt15
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._B3vVdHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f782J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f78mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f79WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f8AGJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._B4yeVHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps82J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps8mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps9WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ptAGJ-Ed-FqczH3ESmRw.pt11
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._B63h9HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y242J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y24mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y25WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y28GJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._B-caZHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_w2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_wmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_xWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_y2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._CCU01HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT02J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT0mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT1WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT4GJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._CBIiBHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MQ2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRGJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MXGJ-Ed-FqczH3ESmRw.pt13
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._CC6qtXLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kI2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kImJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kJWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kK2J-Ed-FqczH3ESmRw.pt23
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._CKEblHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHM2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHMmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHNWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHS2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._CHY7BHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCI2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJGJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCLGJ-Ed-FqczH3ESmRw.pt17
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._CIbc1XLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA42J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA4mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA5WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA62J-Ed-FqczH3ESmRw.pt23
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._CUDeBHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGU2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUGJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUWJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGYGJ-Ed-FqczH3ESmRw.pt242
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method.__Dly1XLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQM2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQMmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQNWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQQmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method.__Fq2dHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyM2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyMmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyNWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyQWJ-Ed-FqczH3ESmRw.pt26
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method.__IDcFHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8I2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8ImJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8JWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8MmJ-Ed-FqczH3ESmRw.pt161
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method.__LCepHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3E2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3EmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3FWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3ImJ-Ed-FqczH3ESmRw.pt145
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method.__MrdZHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroE2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroEmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroFWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroImJ-Ed-FqczH3ESmRw.pt65
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method.__Nt_NHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l3642J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l364mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l365WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l368mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method.__XjQpHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUA2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUAmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUBWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUEmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method.__O6SBHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUF2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUFmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUGWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lSFCmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method.__P9a5HLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lSFDmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8GJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO_2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method.__RvjlHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPA2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBGJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPE2J-Ed-FqczH3ESmRw.pt9
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method.__TiTVHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_82J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_8mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_9WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0llAAmJ-Ed-FqczH3ESmRw.pt45
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method.__VBhFHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6c0mJ-Ed-FqczH3ESmRw.pt8
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cw2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cwmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cxWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method.__hsEFHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr42J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr4mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr5WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr8mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method.__ZDFdHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK102J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK10mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK11WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK14mJ-Ed-FqczH3ESmRw.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method.__a1OJHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm02J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm0mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm1WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm4mJ-Ed-FqczH3ESmRw.pt77
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method.__d9apHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnh0mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhw2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhwmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhxWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method.__fJtdHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6csWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6cvmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS12J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS1mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method.__gysNHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxS0mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSw2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSwmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSxWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method.__gDFVHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-s2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-smJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-tWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-wmJ-Ed-FqczH3ESmRw.pt181
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method.__jLR1HLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIo2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIomJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIpWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIsmJ-Ed-FqczH3ESmRw.pt25
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method.__m57RHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5o2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5omJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5pWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5smJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method.__oi6BHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqo2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqomJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqpWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqsmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method.__pvM1HLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0k2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0kmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0lWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0o2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method.__rEplHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BE2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BEmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BFWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BImJ-Ed-FqczH3ESmRw.pt151
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method.__0BKNHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaM2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaMmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaNWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaQ2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method.__sQ8ZHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaR2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaSGJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLMWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLP2J-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method.__tAjRHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVI2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVImJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVJWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVMmJ-Ed-FqczH3ESmRw.pt57
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method.__v101HLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGI2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGImJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGJWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGMmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method.__xezlHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3I2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3ImJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3JWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3MmJ-Ed-FqczH3ESmRw.pt8
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method.__yrGZHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjE2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjEmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjFWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjImJ-Ed-FqczH3ESmRw.pt19
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method.__1gX9HLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J82J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J8mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J9WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_KAmJ-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method.__6keJHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieA2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieAmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieBWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieEmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method.__349lHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn82J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn8mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn9WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rroAmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method.__5rtVHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s360mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36w2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36wmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36xWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._ADOD1HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT42J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT4mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT5WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT8mJ-Ed-FqczH3ESmRw.pt64
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method.__8ES9HLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE42J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE4mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE5WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE8mJ-Ed-FqczH3ESmRw.pt20
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method.__9sqpHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb142J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb14mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb15WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb18mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method.__-mChHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_02J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_0mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_1WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_4mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method.___faZHLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw02J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw0mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw1WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw4mJ-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._AAYyRHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7Do2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DomJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DpWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DsmJ-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._AKODtHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLc0GJ-Ed-FqczH3ESmRw.pt126
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcw2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwGJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwWJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._AD9qtHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUms2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmsmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmtWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmwmJ-Ed-FqczH3ESmRw.pt32
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._AFJ9hHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIs2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIsmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toItWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIwmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._AG8GNHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSo2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSomJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSpWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSsmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._AIbT9HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bg2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhGJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bk2J-Ed-FqczH3ESmRw.pt242
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._AQBwxXLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENk2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENkmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENlWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENomJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._ALaWhHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-k2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-kmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-lWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-oWJ-Ed-FqczH3ESmRw.pt54
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._AMmpVHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvk2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvkmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvlWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvoWJ-Ed-FqczH3ESmRw.pt116
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._AN8tJHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5g2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5gmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5hWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5kWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._AO_O9HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._--X7pXLYEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqg2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhGJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqimJ-Ed-FqczH3ESmRw.pt24
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWc2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWcmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWdWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWgmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._ARX0lHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgY2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgYmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgZWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgcWJ-Ed-FqczH3ESmRw.pt26
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._ASkHZHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRY2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRYmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRZWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRcmJ-Ed-FqczH3ESmRw.pt161
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._AUpyFHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCY2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCYmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCZWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCcmJ-Ed-FqczH3ESmRw.pt145
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._AWlrxHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMU2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMUmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMVWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMYmJ-Ed-FqczH3ESmRw.pt65
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._AXx-lHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fI2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fImJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fJWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fMmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._Ag3pJHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4Q2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4QmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4RWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4UmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._AZkHRHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQ2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpRWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpUmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._AawaFHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczM2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczMmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczNWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczQmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._Ab8s5HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkM2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkMmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkNWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkQmJ-Ed-FqczH3ESmRw.pt9
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._AdvcpHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVM2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVMmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVNWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVQmJ-Ed-FqczH3ESmRw.pt45
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._AfhlVHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oA2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oAmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oBWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oEmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._AtPRNHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oF2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oFmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oGWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0yFx-2J-Ed-FqczH3ESmRw.pt8
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._Aukt9HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQI2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQImJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQJWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQMmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._Ah6K9HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBI2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBImJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBJWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBMmJ-Ed-FqczH3ESmRw.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._Aizi1HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLE2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLEmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLFWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLImJ-Ed-FqczH3ESmRw.pt77
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._Aj_1pHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGA2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGAmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGBWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGEmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._AmYbRHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3A2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3AmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3BWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3EmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._AsC-ZHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y02J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y0mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y1WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y42J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._BI881HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi82J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi8mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi9WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPjAmJ-Ed-FqczH3ESmRw.pt181
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._AvxAxHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT82J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT8mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT9WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZUAmJ-Ed-FqczH3ESmRw.pt25
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._BAT-NHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J02J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J0mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J1WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J42J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._BKJPpHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J52J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J6GJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI60GJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI63mJ-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._BQGttHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid42J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid4mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid5WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid8mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._BGamNHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO42J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO4mJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO5WJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO8mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._BH6bBHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hs2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hsmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4htWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hwmJ-Ed-FqczH3ESmRw.pt151
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._BVnf1HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSE0mJ-Ed-FqczH3ESmRw.pt57
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEw2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEwmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSExWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._BR5ddHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb10mJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1w2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1wmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1xWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._BS7_RHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlm0mJ-Ed-FqczH3ESmRw.pt8
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmw2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmwmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmxWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._BUISFHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bcck2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcckmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcclWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bccm2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._CVZh1HLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmg2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmgmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmhWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmi2J-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._CWSSpHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXg2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXgmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXhWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXi2J-Ed-FqczH3ESmRw.pt23
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._CY-aRHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qU2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qUmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qVWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qW2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._CgILJHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDc2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDcmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDdWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDe2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._CanZBHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-Y2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-YmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-ZWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-a2J-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._CcGmxHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovY2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovYmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovZWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1Cova2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._CdcDhHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5U2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5UmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5VWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5W2J-Ed-FqczH3ESmRw.pt24
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._CeVbZHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbU2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbUmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbVWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbW2J-Ed-FqczH3ESmRw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._CjtDlHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQ2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlRWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlS2J-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._Ckl0ZHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQ2J-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQmJ-Ed-FqczH3ESmRw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWRWJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWSmJ-Ed-FqczH3ESmRw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._ClCgVHLZEd-09ds9dfYpFw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsLUk-XDEeCxnsoQRwU99Q.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFk-XDEeCxnsoQRwU99Q.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkOXDEeCxnsoQRwU99Q.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkeXDEeCxnsoQRwU99Q.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFouXDEeCxnsoQRwU99Q.pt44
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO4-XDEeCxnsoQRwU99Q.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5-XDEeCxnsoQRwU99Q.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5OXDEeCxnsoQRwU99Q.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5eXDEeCxnsoQRwU99Q.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO9uXDEeCxnsoQRwU99Q.pt44
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM03roEeC0XN9kbwkPYQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM0nroEeC0XN9kbwkPYQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1HroEeC0XN9kbwkPYQ.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1nroEeC0XN9kbwkPYQ.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM4XroEeC0XN9kbwkPYQ.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da03roEeC0XN9kbwkPYQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da0nroEeC0XN9kbwkPYQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1HroEeC0XN9kbwkPYQ.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1nroEeC0XN9kbwkPYQ.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da4XroEeC0XN9kbwkPYQ.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._06ILSWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._8vBvNHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9uTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusDG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusjG0Ed-kc8dEZsdm2w.pt38
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Sq2-OGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._05rfVmKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._8qZt5HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpojG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpozG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpqTG0Ed-kc8dEZsdm2w.pt54
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._SrAvOGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._06R8SWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._8mrriXLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaojG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaozG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLoTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLozG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLpTG0Ed-kc8dEZsdm2w.pt111
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._SqaSS2KPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._06k3OWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._8zCshHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlzG0Ed-kc8dEZsdm2w.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVmTG0Ed-kc8dEZsdm2w.pt26
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._SrTqKGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._09HN2WKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._89Lf9HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQiTG0Ed-kc8dEZsdm2w.pt1348
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._StPj2GKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._0767AmKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._9hr7NHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8cjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8czG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8eTG0Ed-kc8dEZsdm2w.pt84
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._SspG4mKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._08EE9mKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._9DSvBHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt989
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Sr5gCGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._07nZCWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._9fJklHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejecjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeczG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeeTG0Ed-kc8dEZsdm2w.pt155
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._SsWL8WKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._063yImKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._9AAxhHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoaTG0Ed-kc8dEZsdm2w.pt96
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._StFy12KPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._07UeGWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._9QQM9HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47OTG0Ed-kc8dEZsdm2w.pt355
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._SrwWGGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._07LUKWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._9cLJFHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfmAQTG0Ed-kc8dEZsdm2w.pt792
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._StZU2GKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._08Xm-WKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._9Kva1HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt989
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._SrmlGGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._08zr2WKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._9S7thHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsNTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IDG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IjG0Ed-kc8dEZsdm2w.pt1348
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._Ssf88WKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._08N1-WKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._9HAxZHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnKTG0Ed-kc8dEZsdm2w.pt792
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._StsPyGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._08qh6WKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._85wYhHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiGTG0Ed-kc8dEZsdm2w.pt462
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._SsDRCGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._07ePGWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._9Nt2VHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004jG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004zG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005TG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005zG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph006TG0Ed-kc8dEZsdm2w.pt678
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._SspG8mKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._089c2WKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._9Wzg5HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_CTG0Ed-kc8dEZsdm2w.pt183
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._Ssy372KPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._07BjKWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._82LgFHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh5-TG0Ed-kc8dEZsdm2w.pt245
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58jG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58zG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59TG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59zG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._StieyGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._0920uWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._9tdGVHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xzG0Ed-kc8dEZsdm2w.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39yTG0Ed-kc8dEZsdm2w.pt63
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Sub2qGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._09tDuWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._9qU51HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5jG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5zG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6TG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6zG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW7TG0Ed-kc8dEZsdm2w.pt141
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._SuSFqGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._09QXzWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._9kEg2HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0jG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0zG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1TG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1zG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR2TG0Ed-kc8dEZsdm2w.pt37
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._St_KvGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._09j5yWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._9nWeVHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMyTG0Ed-kc8dEZsdm2w.pt54
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._SuI7uGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._0-wMmGKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._97KyNHLYEd-09ds9dfYpFw.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkDG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkTG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkzG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQlzG0Ed-kc8dEZsdm2w.pt18
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._0-TgqWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._9wJN9HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4sjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4szG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4uTG0Ed-kc8dEZsdm2w.pt410
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._SuuxqGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._09_-qWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._92_c1HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzojG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzozG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzqTG0Ed-kc8dEZsdm2w.pt556
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._SulnpGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._0-JvqWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._9y-fhHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwumTG0Ed-kc8dEZsdm2w.pt254
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._SuuxmGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._-A1VWHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._0_DHiWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BaTG0Ed-kc8dEZsdm2w.pt88
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._SveYeGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._0-mbmGKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._99Zm1HLYEd-09ds9dfYpFw.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNahTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNaiTG0Ed-kc8dEZsdm2w.pt8
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._0-cqmGKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._9_MWlHLYEd-09ds9dfYpFw.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8hTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8iTG0Ed-kc8dEZsdm2w.pt11
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._-G79VHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._0_MReWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGeTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cDG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cjG0Ed-kc8dEZsdm2w.pt293
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._SvoJeGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._-DEJ9HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._0-5WjWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjaTG0Ed-kc8dEZsdm2w.pt35
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._SvVOjGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._-K9htHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._0_WCeWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVzG0Ed-kc8dEZsdm2w.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeWTG0Ed-kc8dEZsdm2w.pt114
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._Svx6eGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._-VjBFHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._1AFpWWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQDG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQjG0Ed-kc8dEZsdm2w.pt732
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPVTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._SwhhWGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._-SaNhHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._1APaWWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIDG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAITG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIzG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJTG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt2677
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._SwqrSGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._-Y0XhHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._0_yuaWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIDG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIjG0Ed-kc8dEZsdm2w.pt994
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxJTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._SwN_WGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._-dcY1HLYEd-09ds9dfYpFw.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._1AYkSGKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D-TG0Ed-kc8dEZsdm2w.pt8
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8jG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8zG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D9TG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._-NpCRHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._0_fzeWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsGTG0Ed-kc8dEZsdm2w.pt142
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._SwE1aGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._-P4d9HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._0_o9aWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnCTG0Ed-kc8dEZsdm2w.pt738
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._Sv7EaGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._-bppFHLYEd-09ds9dfYpFw.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._1AiVSGKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJBTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJCTG0Ed-kc8dEZsdm2w.pt8
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._-e7mmHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._1BIyOWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0jG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0zG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1TG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1zG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b2TG0Ed-kc8dEZsdm2w.pt48
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._SxRIOGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._-pXU9HLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._1A1QOWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5TG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5jG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6DG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6jG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-7DG0Ed-kc8dEZsdm2w.pt46
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._SxaSKGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._-iWuBHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._1AsGTWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4jG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4zG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5TG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5zG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv6TG0Ed-kc8dEZsdm2w.pt33
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._SxHXPGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._-w9xxHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._1BuoGWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ojG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ozG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39pTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuoDG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuojG0Ed-kc8dEZsdm2w.pt193
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Sx2-GGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._-uRqJHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._1BR8KWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCsjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCszG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtzG0Ed-kc8dEZsdm2w.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCuTG0Ed-kc8dEZsdm2w.pt18
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._SxkDKGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._-7Y5FHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._1BbtKWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fcjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fczG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6feTG0Ed-kc8dEZsdm2w.pt87
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._SyAvGGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._-0r0JHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._1Bk3GWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakzG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeamTG0Ed-kc8dEZsdm2w.pt210
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._Sxt0KGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._-5ATdHLYEd-09ds9dfYpFw.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._1B4ZGWKMEd-_wNQtGaQ-lw.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBcjG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBczG0Ed-kc8dEZsdm2w.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdTG0Ed-kc8dEZsdm2w.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdzG0Ed-kc8dEZsdm2w.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBeTG0Ed-kc8dEZsdm2w.pt87
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._SyKgGGKPEd-2a5uccsiuZA.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxo37rEd-W9_ZFSEQEPg.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxon7rEd-W9_ZFSEQEPg.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpH7rEd-W9_ZFSEQEPg.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpn7rEd-W9_ZFSEQEPg.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqH7rEd-W9_ZFSEQEPg.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqX7rEd-W9_ZFSEQEPg.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqn7rEd-W9_ZFSEQEPg.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxrH7rEd-W9_ZFSEQEPg.pt27
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYH7rEd-W9_ZFSEQEPg.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYX7rEd-W9_ZFSEQEPg.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYn7rEd-W9_ZFSEQEPg.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YZH7rEd-W9_ZFSEQEPg.pt27
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOc37rEd-W9_ZFSEQEPg.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOcn7rEd-W9_ZFSEQEPg.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdH7rEd-W9_ZFSEQEPg.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdn7rEd-W9_ZFSEQEPg.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DE37rEd-W9_ZFSEQEPg.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DEn7rEd-W9_ZFSEQEPg.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFH7rEd-W9_ZFSEQEPg.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFn7rEd-W9_ZFSEQEPg.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGH7rEd-W9_ZFSEQEPg.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGX7rEd-W9_ZFSEQEPg.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGn7rEd-W9_ZFSEQEPg.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DHH7rEd-W9_ZFSEQEPg.pt186
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpII37rEd-W9_ZFSEQEPg.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIIn7rEd-W9_ZFSEQEPg.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJH7rEd-W9_ZFSEQEPg.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJn7rEd-W9_ZFSEQEPg.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKH7rEd-W9_ZFSEQEPg.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKX7rEd-W9_ZFSEQEPg.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKn7rEd-W9_ZFSEQEPg.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpILH7rEd-W9_ZFSEQEPg.pt42
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WU7GoCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVOBkCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVqtgCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WWQjYCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WZig4CSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZA4WkCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZAcRsCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZB7fcCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZBVCgCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZFqI4CSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZG2bsCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZGZvwCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHSgkCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHvMgCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZLd18CSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-BmtEeCMbfVQrOfmzQ.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-RmtEeCMbfVQrOfmzQ.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-hmtEeCMbfVQrOfmzQ.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48hmtEeCMbfVQrOfmzQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48xmtEeCMbfVQrOfmzQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49BmtEeCMbfVQrOfmzQ.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49hmtEeCMbfVQrOfmzQ.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4_BmtEeCMbfVQrOfmzQ.pt95
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZhmtEeCMbfVQrOfmzQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZxmtEeCMbfVQrOfmzQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8baBmtEeCMbfVQrOfmzQ.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bahmtEeCMbfVQrOfmzQ.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbBmtEeCMbfVQrOfmzQ.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbRmtEeCMbfVQrOfmzQ.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbhmtEeCMbfVQrOfmzQ.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bcBmtEeCMbfVQrOfmzQ.pt21
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQhmtEeCMbfVQrOfmzQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQxmtEeCMbfVQrOfmzQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRBmtEeCMbfVQrOfmzQ.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRhmtEeCMbfVQrOfmzQ.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSBmtEeCMbfVQrOfmzQ.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSRmtEeCMbfVQrOfmzQ.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zShmtEeCMbfVQrOfmzQ.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zTBmtEeCMbfVQrOfmzQ.pt82
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAhmtEeCMbfVQrOfmzQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAxmtEeCMbfVQrOfmzQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBBmtEeCMbfVQrOfmzQ.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBhmtEeCMbfVQrOfmzQ.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCBmtEeCMbfVQrOfmzQ.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCRmtEeCMbfVQrOfmzQ.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQChmtEeCMbfVQrOfmzQ.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQDBmtEeCMbfVQrOfmzQ.pt31
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_khmtEeCMbfVQrOfmzQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_kxmtEeCMbfVQrOfmzQ.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lBmtEeCMbfVQrOfmzQ.pt5
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lhmtEeCMbfVQrOfmzQ.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mBmtEeCMbfVQrOfmzQ.pt6
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mRmtEeCMbfVQrOfmzQ.pt4
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mhmtEeCMbfVQrOfmzQ.pt3
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_nBmtEeCMbfVQrOfmzQ.pt32
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cA-DcCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cAhXgCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cB3bUCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cBQ-YCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cFSiwCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eT5vYCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUMqUCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUpWQCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eVPMICSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eY91kCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eZ3NcCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eaTSUCSWEemxeP6B0lLOpA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eam0UCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._ebMqMCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._efOOkCSWEemxeP6B0lLOpA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp07M-EeKd56X4hcZPSw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp0rM-EeKd56X4hcZPSw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1LM-EeKd56X4hcZPSw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1rM-EeKd56X4hcZPSw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp6LM-EeKd56X4hcZPSw.pt128
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcoc7M-EeKd56X4hcZPSw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcod7M-EeKd56X4hcZPSw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodLM-EeKd56X4hcZPSw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodbM-EeKd56X4hcZPSw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcof7M-EeKd56X4hcZPSw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQ7M-EeKd56X4hcZPSw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQrM-EeKd56X4hcZPSw.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRLM-EeKd56X4hcZPSw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRrM-EeKd56X4hcZPSw.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysWLM-EeKd56X4hcZPSw.pt128
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EM6oMEeOCpsO1cKKCxA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EMqoMEeOCpsO1cKKCxA.pt1
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENKoMEeOCpsO1cKKCxA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENqoMEeOCpsO1cKKCxA.pt0
-rw-r--r--platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EPKoMEeOCpsO1cKKCxA.pt50
-rw-r--r--platform_specific/2019-12/pom.xml28
-rw-r--r--platform_specific/oxygen/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF2
-rw-r--r--platform_specific/oxygen/pom.xml2
-rw-r--r--platform_specific/photon/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF2
-rw-r--r--platform_specific/photon/pom.xml2
-rw-r--r--plugins/org.eclipse.egf.application/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.application/ant_tasks/egf.ant.tasks.jarbin6680 -> 6680 bytes
-rw-r--r--plugins/org.eclipse.egf.common.ui/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.common/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.console/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.core.pde/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.core.platform/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.core.producer/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.core.ui/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.core/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.dev/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.domain/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model.edit/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model.editor/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model.fprod.edit/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model.fprod.edit/plugin.properties60
-rw-r--r--plugins/org.eclipse.egf.model.fprod/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model.ftask.edit/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model.ftask/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model.javapattern.edit/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model.javapattern/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model.jetpattern.edit/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model.jetpattern/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.model/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.pattern.ftask/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.pattern.java/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.pattern.jet/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.pattern.ui.java/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.pattern.ui.jet/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.pattern.ui/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.pattern/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.producer.fprod/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.producer.ftask/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.producer.ui/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.producer/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.task.ui/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.egf.task/META-INF/MANIFEST.MF2
-rw-r--r--plugins/pom.xml2
-rw-r--r--pom.xml8
-rw-r--r--portfolio/org.eclipse.egf.eclipse.resources.mgt/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.emf.docgen.html/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.emf.pattern.base/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.emf.pattern.cdo/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.emf.pattern.ui/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.emf.wrapper.ui/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.emf.wrapper/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.ant.javadoc/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.eclipse.build.egf/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.eclipse.build.ui/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.eclipse.build.ui/plugin.properties666
-rw-r--r--portfolio/org.eclipse.egf.portfolio.eclipse.build/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.eclipse.util/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.egf/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.file.resources/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.genchain.cdo.model.edit/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.genchain.cdo.model/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.genchain.cdo/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.genchain.ecoretools.edit/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.genchain.ecoretools/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.genchain.edit/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.genchain.editor/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.genchain.tools.ui/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.genchain.tools/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.genchain/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.task.acceleo3.ui/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.task.acceleo3/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.task.ant.ui/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.task.ant/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.task.atl.ui/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.task.atl/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.task.jet.ui/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.task.jet/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/org.eclipse.egf.portfolio.type/META-INF/MANIFEST.MF2
-rw-r--r--portfolio/pom.xml2
-rw-r--r--releng/org.eclipse.egf.core.updatesite/pom.xml2
-rw-r--r--releng/org.eclipse.egf.product/META-INF/MANIFEST.MF2
-rw-r--r--releng/org.eclipse.egf.product/egf.product7
-rw-r--r--releng/org.eclipse.egf.product/pom.xml2
-rw-r--r--releng/org.eclipse.egf.releng2/META-INF/MANIFEST.MF2
-rw-r--r--releng/org.eclipse.egf.targets/core-2019-12.target48
-rw-r--r--releng/org.eclipse.egf.targets/core-2019-12.targetplatform43
-rw-r--r--releng/org.eclipse.egf.targets/pom.xml2
-rw-r--r--tests/org.eclipse.egf.core.test.model.edit/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.egf.core.test.model.editor/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.egf.core.test.model/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.egf.core.test.pattern/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.egf.core.test/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.egf.core.test/pom.xml2
-rw-r--r--tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h2/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h3/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h4/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.egf.portfolio.task.ant.test/META-INF/MANIFEST.MF2
-rw-r--r--tests/org.eclipse.emf.egf.core.test.rcptt/pom.xml2
-rw-r--r--tests/pom.xml2
-rw-r--r--tools/org.eclipse.egf.emf.pattern.codegen.ui/META-INF/MANIFEST.MF2
-rw-r--r--tools/org.eclipse.egf.emf.pattern.codegen/META-INF/MANIFEST.MF2
1547 files changed, 121848 insertions, 535 deletions
diff --git a/doc/org.eclipse.egf.doc.user/META-INF/MANIFEST.MF b/doc/org.eclipse.egf.doc.user/META-INF/MANIFEST.MF
index 4735332a3..94f94bce1 100644
--- a/doc/org.eclipse.egf.doc.user/META-INF/MANIFEST.MF
+++ b/doc/org.eclipse.egf.doc.user/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.doc.user; singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Require-Bundle:
diff --git a/doc/org.eclipse.egf.engine.doc.pattern/META-INF/MANIFEST.MF b/doc/org.eclipse.egf.engine.doc.pattern/META-INF/MANIFEST.MF
index b17783d58..dc8a42161 100644
--- a/doc/org.eclipse.egf.engine.doc.pattern/META-INF/MANIFEST.MF
+++ b/doc/org.eclipse.egf.engine.doc.pattern/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.engine.doc.pattern; singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Require-Bundle:
diff --git a/doc/org.eclipse.egf.engine.doc/META-INF/MANIFEST.MF b/doc/org.eclipse.egf.engine.doc/META-INF/MANIFEST.MF
index a6b1b7b17..54d24f7ba 100644
--- a/doc/org.eclipse.egf.engine.doc/META-INF/MANIFEST.MF
+++ b/doc/org.eclipse.egf.engine.doc/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.engine.doc; singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Require-Bundle:
diff --git a/doc/pom.xml b/doc/pom.xml
index 9cf666e7f..c2d4a340a 100644
--- a/doc/pom.xml
+++ b/doc/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
</project>
diff --git a/examples/workspace/org.eclipse.egf.example.emf.docgen.html/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.example.emf.docgen.html/META-INF/MANIFEST.MF
index 9969eec9f..f9629c687 100644
--- a/examples/workspace/org.eclipse.egf.example.emf.docgen.html/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.example.emf.docgen.html/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.example.emf.docgen.html;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-ActivationPolicy: lazy
diff --git a/examples/workspace/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF
index 5326d2c61..d0a8dfcd9 100644
--- a/examples/workspace/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.example.fcs;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-ActivationPolicy: lazy
diff --git a/examples/workspace/org.eclipse.egf.example.strategy.modeldriven/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.example.strategy.modeldriven/META-INF/MANIFEST.MF
index dcff074e9..6093c9080 100644
--- a/examples/workspace/org.eclipse.egf.example.strategy.modeldriven/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.example.strategy.modeldriven/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.example.strategy.modeldriven;singleton:=true
Bundle-Activator: strategy.Activator
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/examples/workspace/org.eclipse.egf.example.task.ant/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.example.task.ant/META-INF/MANIFEST.MF
index 5c363d313..1a6909471 100644
--- a/examples/workspace/org.eclipse.egf.example.task.ant/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.example.task.ant/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.example.task.ant;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.example.task.ant.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/examples/workspace/org.eclipse.egf.example.task.h1/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.example.task.h1/META-INF/MANIFEST.MF
index 685347eac..dc31212e8 100644
--- a/examples/workspace/org.eclipse.egf.example.task.h1/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.example.task.h1/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.example.task.h1;singleton:=true
Bundle-Activator: org.eclipse.egf.example.task.h1.Activator
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/examples/workspace/org.eclipse.egf.example.task.h4/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.example.task.h4/META-INF/MANIFEST.MF
index f412da211..dc9e194aa 100644
--- a/examples/workspace/org.eclipse.egf.example.task.h4/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.example.task.h4/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.example.task.h4;singleton:=true
Bundle-Activator: org.eclipse.egf.example.task.h4.Activator
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/examples/workspace/org.eclipse.egf.example.type.extension.egf/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.example.type.extension.egf/META-INF/MANIFEST.MF
index 453264260..3f3c3de56 100644
--- a/examples/workspace/org.eclipse.egf.example.type.extension.egf/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.example.type.extension.egf/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Egf
Bundle-SymbolicName: org.eclipse.egf.example.type.extension.egf;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Require-Bundle:
org.eclipse.egf.domain;visibility:=reexport
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/examples/workspace/org.eclipse.egf.examples.installer/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.examples.installer/META-INF/MANIFEST.MF
index df287e8b0..50b33882c 100644
--- a/examples/workspace/org.eclipse.egf.examples.installer/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.examples.installer/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.examples.installer;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.egf.examples.installer
diff --git a/examples/workspace/org.eclipse.egf.examples.installer/pom.xml b/examples/workspace/org.eclipse.egf.examples.installer/pom.xml
index 24c74002f..23d136d06 100644
--- a/examples/workspace/org.eclipse.egf.examples.installer/pom.xml
+++ b/examples/workspace/org.eclipse.egf.examples.installer/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../../..</relativePath>
</parent>
diff --git a/examples/workspace/org.eclipse.egf.portfolio.acceleo3.examples.installer/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.portfolio.acceleo3.examples.installer/META-INF/MANIFEST.MF
index e3be2d3e1..d11d773fd 100644
--- a/examples/workspace/org.eclipse.egf.portfolio.acceleo3.examples.installer/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.portfolio.acceleo3.examples.installer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.acceleo3.examples.installer;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.egf.portfolio.acceleo3.examples.installer
diff --git a/examples/workspace/org.eclipse.egf.portfolio.atl.examples.installer/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.portfolio.atl.examples.installer/META-INF/MANIFEST.MF
index 4579dda85..a2bf2ee12 100644
--- a/examples/workspace/org.eclipse.egf.portfolio.atl.examples.installer/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.portfolio.atl.examples.installer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.atl.examples.installer;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.egf.portfolio.atl.examples.installer
diff --git a/examples/workspace/org.eclipse.egf.portfolio.eclipse.build.examples/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.portfolio.eclipse.build.examples/META-INF/MANIFEST.MF
index 2922f0852..4ebd4cc2a 100644
--- a/examples/workspace/org.eclipse.egf.portfolio.eclipse.build.examples/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.portfolio.eclipse.build.examples/META-INF/MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-SymbolicName: org.eclipse.egf.portfolio.eclipse.build.examples;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Require-Bundle: org.eclipse.egf.portfolio.eclipse.build
diff --git a/examples/workspace/org.eclipse.egf.portfolio.genchain.extension/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.portfolio.genchain.extension/META-INF/MANIFEST.MF
index 00a46887b..e2b4ad463 100644
--- a/examples/workspace/org.eclipse.egf.portfolio.genchain.extension/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.portfolio.genchain.extension/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.genchain.extension;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/examples/workspace/org.eclipse.egf.usecase.acceleo3/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.acceleo3/META-INF/MANIFEST.MF
index c34b44f25..62d1b9461 100644
--- a/examples/workspace/org.eclipse.egf.usecase.acceleo3/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.acceleo3/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.acceleo3;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.usecase.acceleo3.Activator
Bundle-Vendor: %providerName
Require-Bundle: org.eclipse.core.runtime,
diff --git a/examples/workspace/org.eclipse.egf.usecase.activityworkflow.uc1/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.activityworkflow.uc1/META-INF/MANIFEST.MF
index b5896a54a..01fd7fec9 100644
--- a/examples/workspace/org.eclipse.egf.usecase.activityworkflow.uc1/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.activityworkflow.uc1/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.activityworkflow.uc1;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: %providerName
Export-Package: org.eclipse.egf.usecase.activityworkflow.uc1.java,
diff --git a/examples/workspace/org.eclipse.egf.usecase.atl/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.atl/META-INF/MANIFEST.MF
index dd3b40df8..d61c9928e 100644
--- a/examples/workspace/org.eclipse.egf.usecase.atl/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.atl/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.atl;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Require-Bundle: org.eclipse.uml2.uml,
org.eclipse.egf.model.ftask;visibility:=reexport
diff --git a/examples/workspace/org.eclipse.egf.usecase.emf.uc1/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.emf.uc1/META-INF/MANIFEST.MF
index 181c87316..27030418f 100644
--- a/examples/workspace/org.eclipse.egf.usecase.emf.uc1/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.emf.uc1/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.emf.uc1;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/examples/workspace/org.eclipse.egf.usecase.emf.uc2/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.emf.uc2/META-INF/MANIFEST.MF
index 9b0621469..79c0fee0d 100644
--- a/examples/workspace/org.eclipse.egf.usecase.emf.uc2/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.emf.uc2/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.emf.uc2;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/examples/workspace/org.eclipse.egf.usecase.emf.uc3/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.emf.uc3/META-INF/MANIFEST.MF
index b9be8c107..e67d19bc3 100644
--- a/examples/workspace/org.eclipse.egf.usecase.emf.uc3/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.emf.uc3/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.emf.uc3;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.egf.pattern;visibility:=reexport,
diff --git a/examples/workspace/org.eclipse.egf.usecase.fc.uc1/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.fc.uc1/META-INF/MANIFEST.MF
index e177d2c84..298e018aa 100644
--- a/examples/workspace/org.eclipse.egf.usecase.fc.uc1/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.fc.uc1/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.fc.uc1;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/examples/workspace/org.eclipse.egf.usecase.generationchain.uc1/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.generationchain.uc1/META-INF/MANIFEST.MF
index 36d97f8f0..ad5a6cf43 100644
--- a/examples/workspace/org.eclipse.egf.usecase.generationchain.uc1/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.generationchain.uc1/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.generationchain.uc1;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: %providerName
diff --git a/examples/workspace/org.eclipse.egf.usecase.jet/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.jet/META-INF/MANIFEST.MF
index ad9965e3e..b86ff54f0 100644
--- a/examples/workspace/org.eclipse.egf.usecase.jet/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.jet/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.jet;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Require-Bundle: org.eclipse.egf.model.ftask;visibility:=reexport,
org.eclipse.ui
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/examples/workspace/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF
index 4782cc971..bf6685ba3 100644
--- a/examples/workspace/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.pattern.uc1;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/examples/workspace/org.eclipse.egf.usecase.pattern.uc2/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.pattern.uc2/META-INF/MANIFEST.MF
index 79d0fc194..db02f6f14 100644
--- a/examples/workspace/org.eclipse.egf.usecase.pattern.uc2/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.pattern.uc2/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.pattern.uc2;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/examples/workspace/org.eclipse.egf.usecase.pattern.uc3.m2treporting/META-INF/MANIFEST.MF b/examples/workspace/org.eclipse.egf.usecase.pattern.uc3.m2treporting/META-INF/MANIFEST.MF
index acbfcfe74..adc5b7bc1 100644
--- a/examples/workspace/org.eclipse.egf.usecase.pattern.uc3.m2treporting/META-INF/MANIFEST.MF
+++ b/examples/workspace/org.eclipse.egf.usecase.pattern.uc3.m2treporting/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.pattern.uc3.m2treporting;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.usecase.pattern.uc3.postprocessing.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.egf.pattern;visibility:=reexport,
diff --git a/examples/workspace/pom.xml b/examples/workspace/pom.xml
index 4458a33e9..d96354311 100644
--- a/examples/workspace/pom.xml
+++ b/examples/workspace/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
</project>
diff --git a/features/org.eclipse.egf.application.feature/feature.xml b/features/org.eclipse.egf.application.feature/feature.xml
index 5e8a63528..b103bdbc9 100644
--- a/features/org.eclipse.egf.application.feature/feature.xml
+++ b/features/org.eclipse.egf.application.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.application.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
diff --git a/features/org.eclipse.egf.common.feature/feature.xml b/features/org.eclipse.egf.common.feature/feature.xml
index ea106a908..b70fc5a88 100644
--- a/features/org.eclipse.egf.common.feature/feature.xml
+++ b/features/org.eclipse.egf.common.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.common.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
plugin="org.eclipse.egf.common"
license-feature="org.eclipse.license"
diff --git a/features/org.eclipse.egf.common.ui.feature/feature.xml b/features/org.eclipse.egf.common.ui.feature/feature.xml
index e5079456f..d49cd93cd 100644
--- a/features/org.eclipse.egf.common.ui.feature/feature.xml
+++ b/features/org.eclipse.egf.common.ui.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.common.ui.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
diff --git a/features/org.eclipse.egf.core.feature/feature.xml b/features/org.eclipse.egf.core.feature/feature.xml
index d3348d9f3..f53fa9968 100644
--- a/features/org.eclipse.egf.core.feature/feature.xml
+++ b/features/org.eclipse.egf.core.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.core.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
plugin="org.eclipse.egf.core"
image="eclipse_update_120.jpg"
diff --git a/features/org.eclipse.egf.core.ui.feature/feature.xml b/features/org.eclipse.egf.core.ui.feature/feature.xml
index 0251a416e..d5a66c869 100644
--- a/features/org.eclipse.egf.core.ui.feature/feature.xml
+++ b/features/org.eclipse.egf.core.ui.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.core.ui.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
diff --git a/features/org.eclipse.egf.doc.feature/feature.xml b/features/org.eclipse.egf.doc.feature/feature.xml
index 81fbe99a5..c21dac225 100644
--- a/features/org.eclipse.egf.doc.feature/feature.xml
+++ b/features/org.eclipse.egf.doc.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.doc.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
diff --git a/features/org.eclipse.egf.examples.feature/feature.xml b/features/org.eclipse.egf.examples.feature/feature.xml
index 4de9bd96d..2abdc3d2b 100644
--- a/features/org.eclipse.egf.examples.feature/feature.xml
+++ b/features/org.eclipse.egf.examples.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.examples.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
plugin="org.eclipse.egf.examples.installer"
image="eclipse_update_120.jpg"
diff --git a/features/org.eclipse.egf.feature/feature.xml b/features/org.eclipse.egf.feature/feature.xml
index d62c0cfee..0ce63d4b5 100644
--- a/features/org.eclipse.egf.feature/feature.xml
+++ b/features/org.eclipse.egf.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.model.edit.feature/feature.xml b/features/org.eclipse.egf.model.edit.feature/feature.xml
index 174f4ae71..20f7789a8 100644
--- a/features/org.eclipse.egf.model.edit.feature/feature.xml
+++ b/features/org.eclipse.egf.model.edit.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.model.edit.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.model.feature/feature.xml b/features/org.eclipse.egf.model.feature/feature.xml
index 1a47214ce..07115e97b 100644
--- a/features/org.eclipse.egf.model.feature/feature.xml
+++ b/features/org.eclipse.egf.model.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.model.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.model.fprod.edit.feature/feature.xml b/features/org.eclipse.egf.model.fprod.edit.feature/feature.xml
index 4ea8fa626..cc93c5600 100644
--- a/features/org.eclipse.egf.model.fprod.edit.feature/feature.xml
+++ b/features/org.eclipse.egf.model.fprod.edit.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.model.fprod.edit.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.model.fprod.feature/feature.xml b/features/org.eclipse.egf.model.fprod.feature/feature.xml
index b655bf17d..8cc1c89e5 100644
--- a/features/org.eclipse.egf.model.fprod.feature/feature.xml
+++ b/features/org.eclipse.egf.model.fprod.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.model.fprod.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.model.ftask.edit.feature/feature.xml b/features/org.eclipse.egf.model.ftask.edit.feature/feature.xml
index c97dceb21..0e3793ea3 100644
--- a/features/org.eclipse.egf.model.ftask.edit.feature/feature.xml
+++ b/features/org.eclipse.egf.model.ftask.edit.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.model.ftask.edit.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.model.ftask.feature/feature.xml b/features/org.eclipse.egf.model.ftask.feature/feature.xml
index 77df2f215..de1ebd934 100644
--- a/features/org.eclipse.egf.model.ftask.feature/feature.xml
+++ b/features/org.eclipse.egf.model.ftask.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.model.ftask.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.model.ui.feature/feature.xml b/features/org.eclipse.egf.model.ui.feature/feature.xml
index 146135079..f2258619c 100644
--- a/features/org.eclipse.egf.model.ui.feature/feature.xml
+++ b/features/org.eclipse.egf.model.ui.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.model.ui.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
diff --git a/features/org.eclipse.egf.portfolio.acceleo3.examples.feature/feature.xml b/features/org.eclipse.egf.portfolio.acceleo3.examples.feature/feature.xml
index dc1fab331..6b6dd34c5 100644
--- a/features/org.eclipse.egf.portfolio.acceleo3.examples.feature/feature.xml
+++ b/features/org.eclipse.egf.portfolio.acceleo3.examples.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.portfolio.acceleo3.examples.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.portfolio.acceleo3.feature/feature.xml b/features/org.eclipse.egf.portfolio.acceleo3.feature/feature.xml
index 46b4c7e83..8ea230802 100644
--- a/features/org.eclipse.egf.portfolio.acceleo3.feature/feature.xml
+++ b/features/org.eclipse.egf.portfolio.acceleo3.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.portfolio.acceleo3.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.portfolio.atl.examples.feature/feature.xml b/features/org.eclipse.egf.portfolio.atl.examples.feature/feature.xml
index 14775085c..943c1f184 100644
--- a/features/org.eclipse.egf.portfolio.atl.examples.feature/feature.xml
+++ b/features/org.eclipse.egf.portfolio.atl.examples.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.portfolio.atl.examples.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.portfolio.atl.feature/feature.xml b/features/org.eclipse.egf.portfolio.atl.feature/feature.xml
index 426711dcf..7145210b3 100644
--- a/features/org.eclipse.egf.portfolio.atl.feature/feature.xml
+++ b/features/org.eclipse.egf.portfolio.atl.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.portfolio.atl.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.portfolio.emf.feature/feature.xml b/features/org.eclipse.egf.portfolio.emf.feature/feature.xml
index 518268817..b310fa43f 100644
--- a/features/org.eclipse.egf.portfolio.emf.feature/feature.xml
+++ b/features/org.eclipse.egf.portfolio.emf.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.portfolio.emf.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.portfolio.feature/feature.xml b/features/org.eclipse.egf.portfolio.feature/feature.xml
index 4d09c7d17..a897d8bd7 100644
--- a/features/org.eclipse.egf.portfolio.feature/feature.xml
+++ b/features/org.eclipse.egf.portfolio.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.portfolio.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.portfolio.genchain.ecoretools.feature/feature.xml b/features/org.eclipse.egf.portfolio.genchain.ecoretools.feature/feature.xml
index 09eb53d1d..2ef4c085b 100644
--- a/features/org.eclipse.egf.portfolio.genchain.ecoretools.feature/feature.xml
+++ b/features/org.eclipse.egf.portfolio.genchain.ecoretools.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.portfolio.genchain.ecoretools.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName"
diff --git a/features/org.eclipse.egf.portfolio.genchain.feature/feature.xml b/features/org.eclipse.egf.portfolio.genchain.feature/feature.xml
index bbc829446..812842558 100644
--- a/features/org.eclipse.egf.portfolio.genchain.feature/feature.xml
+++ b/features/org.eclipse.egf.portfolio.genchain.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.portfolio.genchain.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
diff --git a/features/org.eclipse.egf.portfolio.task.ant.feature/feature.xml b/features/org.eclipse.egf.portfolio.task.ant.feature/feature.xml
index 870dbfa26..f8c7a7266 100644
--- a/features/org.eclipse.egf.portfolio.task.ant.feature/feature.xml
+++ b/features/org.eclipse.egf.portfolio.task.ant.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.portfolio.task.ant.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
diff --git a/features/org.eclipse.egf.portfolio.task.ant.test.feature/feature.xml b/features/org.eclipse.egf.portfolio.task.ant.test.feature/feature.xml
index 6b67efab1..eb6fafa60 100644
--- a/features/org.eclipse.egf.portfolio.task.ant.test.feature/feature.xml
+++ b/features/org.eclipse.egf.portfolio.task.ant.test.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.portfolio.task.ant.test.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
diff --git a/features/org.eclipse.egf.producer.feature/feature.xml b/features/org.eclipse.egf.producer.feature/feature.xml
index 361e8829e..f1c25d056 100644
--- a/features/org.eclipse.egf.producer.feature/feature.xml
+++ b/features/org.eclipse.egf.producer.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.producer.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
diff --git a/features/org.eclipse.egf.producer.ui.feature/feature.xml b/features/org.eclipse.egf.producer.ui.feature/feature.xml
index f1da45410..3743af174 100644
--- a/features/org.eclipse.egf.producer.ui.feature/feature.xml
+++ b/features/org.eclipse.egf.producer.ui.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.producer.ui.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
diff --git a/features/org.eclipse.egf.releng.feature/feature.xml b/features/org.eclipse.egf.releng.feature/feature.xml
index bef5f4b83..8b0340ceb 100644
--- a/features/org.eclipse.egf.releng.feature/feature.xml
+++ b/features/org.eclipse.egf.releng.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.releng"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
license-feature="org.eclipse.license"
license-feature-version="0.0.0"
provider-name="%providerName">
diff --git a/features/org.eclipse.egf.sdk.feature/feature.xml b/features/org.eclipse.egf.sdk.feature/feature.xml
index de85b5a94..b13f8de22 100644
--- a/features/org.eclipse.egf.sdk.feature/feature.xml
+++ b/features/org.eclipse.egf.sdk.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.sdk.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
plugin="org.eclipse.egf.core"
image="eclipse_update_120.jpg"
diff --git a/features/org.eclipse.egf.test.feature/feature.xml b/features/org.eclipse.egf.test.feature/feature.xml
index 59705a630..f0cd1d2de 100644
--- a/features/org.eclipse.egf.test.feature/feature.xml
+++ b/features/org.eclipse.egf.test.feature/feature.xml
@@ -14,7 +14,7 @@
<feature
id="org.eclipse.egf.test.feature"
label="%featureName"
- version="1.6.1.qualifier"
+ version="1.6.2.qualifier"
provider-name="%providerName"
plugin="org.eclipse.egf.core.test"
license-feature="org.eclipse.license"
diff --git a/features/pom.xml b/features/pom.xml
index 0a18f0b7b..d025f1cc9 100644
--- a/features/pom.xml
+++ b/features/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
</project>
diff --git a/platform_specific/2019-03/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF b/platform_specific/2019-03/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
index 0b51d31ff..8b37c0bd9 100644
--- a/platform_specific/2019-03/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
+++ b/platform_specific/2019-03/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.pattern;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/platform_specific/2019-03/pom.xml b/platform_specific/2019-03/pom.xml
index e712c7b6f..aa5b8d745 100644
--- a/platform_specific/2019-03/pom.xml
+++ b/platform_specific/2019-03/pom.xml
@@ -22,7 +22,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
</project>
diff --git a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
index 6a3d0c46e..4aca01979 100644
--- a/platform_specific/2019-06/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
+++ b/platform_specific/2019-06/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.pattern;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/platform_specific/2019-06/pom.xml b/platform_specific/2019-06/pom.xml
index e712c7b6f..aa5b8d745 100644
--- a/platform_specific/2019-06/pom.xml
+++ b/platform_specific/2019-06/pom.xml
@@ -22,7 +22,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
</project>
diff --git a/platform_specific/2019-09/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF b/platform_specific/2019-09/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
index 6a3d0c46e..4aca01979 100644
--- a/platform_specific/2019-09/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
+++ b/platform_specific/2019-09/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.pattern;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/platform_specific/2019-09/pom.xml b/platform_specific/2019-09/pom.xml
index e712c7b6f..aa5b8d745 100644
--- a/platform_specific/2019-09/pom.xml
+++ b/platform_specific/2019-09/pom.xml
@@ -22,7 +22,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
</project>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.classpath b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.classpath
new file mode 100644
index 000000000..412928e6a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="generated"/>
+ <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/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.gitignore b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.gitignore
new file mode 100644
index 000000000..5e56e040e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.gitignore
@@ -0,0 +1 @@
+/bin
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.project b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.project
new file mode 100644
index 000000000..faa24f413
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.egf.emf.pattern</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.egf.pattern.ui.PatternBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <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.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.egf.core.EGFNature</nature>
+ </natures>
+</projectDescription>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.settings/org.eclipse.jdt.core.prefs b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..000dcdd57
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Mon May 03 11:37:29 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..4aca01979
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
@@ -0,0 +1,29 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.egf.emf.pattern;singleton:=true
+Bundle-Version: 1.6.2.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package:
+ org.eclipse.egf.emf.pattern.edit,
+ org.eclipse.egf.emf.pattern.edit.call.ItemProvider,
+ org.eclipse.egf.emf.pattern.editor,
+ org.eclipse.egf.emf.pattern.editor.call.Editor,
+ org.eclipse.egf.emf.pattern.model,
+ org.eclipse.egf.emf.pattern.model.call.Class,
+ org.eclipse.egf.emf.pattern.model.call.Interface,
+ org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass,
+ org.eclipse.egf.emf.pattern.model.call.ValidatorClass,
+ org.eclipse.egf.emf.pattern.tests,
+ org.eclipse.egf.emf.pattern.tests.call.TestCase
+Require-Bundle:
+ org.eclipse.egf.model.fprod,
+ org.eclipse.egf.pattern.jet,
+ org.eclipse.egf.emf.pattern.base;visibility:=reexport,
+ org.eclipse.egf.model.ftask;visibility:=reexport,
+ org.eclipse.egf.pattern;visibility:=reexport,
+ org.eclipse.egf.pattern.ftask;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/about.html b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/about.html
new file mode 100644
index 000000000..c9aa9153e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/about.html
@@ -0,0 +1,26 @@
+<!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 ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/about.ini b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/about.ini
new file mode 100644
index 000000000..46e430db7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/about.ini
@@ -0,0 +1,30 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=EGF (Eclipse Generation Factories) is a software factory tool with the purpose to generate software artifacts, such as code or application, in order to automate software development.\n\
+\n\Copyright (c) 2009, 2019 Thales Global Services\n\. All rights reserved.\n\n\
+Visit http://eclipse.org/egf
+
+# Property "windowImage" contains path to window icon (16x16)
+# needed for primary features only
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=egf.png
+
+# Property "aboutImage" contains path to product image (500x330 or 115x164)
+# needed for primary features only
+
+# Property "appName" contains name of the application (not translated)
+# needed for primary features only
+
+# Property "welcomePerspective" contains the id of the perspective in which the
+# welcome page is to be opened.
+# optional
+
+# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page
+# optional
+# tipsAndTricksHref=/org.eclipse.jdt.doc.user/tips/jdt_tips.html
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/build.properties b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/build.properties
new file mode 100644
index 000000000..cff94591c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/build.properties
@@ -0,0 +1,25 @@
+##
+# Copyright (c) 2009-2019 Thales Corporate Services S.A.S.
+#
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Thales Corporate Services S.A.S - initial API and implementation
+##
+source.. = generated/
+output.. = bin/
+bin.includes = META-INF/,\
+ templates/,\
+ .,\
+ about.html,\
+ plugin.properties,\
+ plugin.xml,\
+ egf/,\
+ egf.png,\
+ about.ini
+src.includes = about.html
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/egf.png b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/egf.png
new file mode 100644
index 000000000..cf6a65cd1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/egf.png
Binary files differ
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore
new file mode 100644
index 000000000..66ae2dfe8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore
@@ -0,0 +1,6807 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:domain="http://www.eclipse.org/egf/1.0.0/domain"
+ xmlns:fcore="http://www.eclipse.org/egf/1.0.0/fcore" xmlns:fprod="http://www.eclipse.org/egf/1.0.0/fprod"
+ xmlns:ftask="http://www.eclipse.org/egf/1.0.0/ftask" xmlns:jetpattern="http://www.eclipse.org/egf/1.0.0/jetpattern"
+ xmlns:pattern="http://www.eclipse.org/egf/1.0.0/pattern" xmlns:types="http://www.eclipse.org/egf/1.0.0/types">
+ <fcore:FactoryComponent xmi:id="_Pcm9sDG0Ed-kc8dEZsdm2w" name="EMF Model Pattern">
+ <contractContainer xmi:id="_Prg8ZDG0Ed-kc8dEZsdm2w">
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Prg8ZTG0Ed-kc8dEZsdm2w"
+ description="EMF Model Pattern" name="genModel" mandatory="true" invocationContracts="#_tNEmwId1EemTGPCEQmMGWg">
+ <type xmi:type="domain:TypeDomain" xmi:id="_tOHvoId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_WRxYEFIIEd-eGOdO3WtsxA"
+ description="EMF Model Pattern" name="pattern.execution.reporter" invocationContracts="#_tO0TMId1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tPhd0Id1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_TxwAHVkTEd-bv5aydwO2Qw"
+ description="EMF Model Pattern" name="pattern.ids" invocationContracts="#_tQPPgId1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternList" xmi:id="_tQ7zEId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_OVsagFHVEd-dr9AWwNwIMQ"
+ description="EMF Model Pattern" name="pattern.substitutions" invocationContracts="#_tRl6YId1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternSubstitution" xmi:id="_tSTsEId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_RcQCMPI7Ed-Pp8S8RvVOuQ"
+ description="EMF Model Pattern" name="usedGenPackages" invocationContracts="#_tS-acId1EemTGPCEQmMGWg">
+ <type xmi:type="domain:TypeGenPackages" xmi:id="_tTq-AId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_sluXsVLLEd-ZSLMRjxSbVQ"
+ description="EMF Model Pattern" name="mergeRulesURI" invocationContracts="#_tUW6gId1EemTGPCEQmMGWg">
+ <type xmi:type="types:TypeURI" xmi:id="_tVC3AId1EemTGPCEQmMGWg"/>
+ </contracts>
+ </contractContainer>
+ <viewpointContainer xmi:id="_Pcm9sTG0Ed-kc8dEZsdm2w">
+ <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_Pcm9sjG0Ed-kc8dEZsdm2w">
+ <libraries xmi:id="_Pcm9szG0Ed-kc8dEZsdm2w" name="org.eclipse.egf.emf.pattern.model">
+ <elements xmi:id="_Pcm9tDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/build.propertiesjet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"
+ name="BuildProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_Pcm9tjG0Ed-kc8dEZsdm2w" conditionMethod="#_8vBvNHLYEd-09ds9dfYpFw"
+ initMethod="#_Pcm9tzG0Ed-kc8dEZsdm2w" footerMethod="#_Pcm9uTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Slu7wId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Pcm9tjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pcm9tzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_8vBvNHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._8vBvNHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Pcm9uTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9uTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PcwusDG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusDG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Sq2-OGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Sq2-OGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_06ILSWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._06ILSWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PcwusjG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusjG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_So5kgId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_SqHsgId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_SquJcId1EemTGPCEQmMGWg"
+ called="#_PcwusjG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_SrBrcId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_SrT_UId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PdDpoDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/manifest.mfjet&quot;&#xA;"
+ name="ManifestMF" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PdDpojG0Ed-kc8dEZsdm2w" conditionMethod="#_8qZt5HLYEd-09ds9dfYpFw"
+ initMethod="#_PdDpozG0Ed-kc8dEZsdm2w" footerMethod="#_PdDppTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_S53YsId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PdDpojG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpojG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PdDpozG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpozG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_8qZt5HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._8qZt5HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PdDppTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PdDppzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SrAvOGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._SrAvOGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_05rfVmKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._05rfVmKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PdDpqTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpqTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_S8yJ0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_S98ncId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_S-lgoId1EemTGPCEQmMGWg"
+ called="#_PdDpqTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_S-30gId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_S_LWgId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PdNaoDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/plugin.xmljet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"
+ name="PluginXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PdNaojG0Ed-kc8dEZsdm2w" conditionMethod="#_8mrriXLYEd-09ds9dfYpFw"
+ initMethod="#_PdNaozG0Ed-kc8dEZsdm2w" footerMethod="#_PdXLoTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_SsGCcId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PdNaojG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaojG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PdNaozG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaozG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_8mrriXLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._8mrriXLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PdXLoTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLoTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PdXLozG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLozG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SqaSS2KPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._SqaSS2KPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_06R8SWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._06R8SWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PdXLpTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLpTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_SvJ9gId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_SwYFgId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Sw97YId1EemTGPCEQmMGWg"
+ called="#_PdXLpTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_SxQ2UId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_SxjxQId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PdgVkDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/plugin.propertiesjet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"
+ name="PluginProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_xxtwkCg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PdgVkjG0Ed-kc8dEZsdm2w" conditionMethod="#_8zCshHLYEd-09ds9dfYpFw"
+ initMethod="#_PdgVkzG0Ed-kc8dEZsdm2w" footerMethod="#_PdgVlTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_S_69YId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PdgVkjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PdgVkzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_8zCshHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._8zCshHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PdgVlTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PdgVlzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SrTqKGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._SrTqKGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_06k3OWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._06k3OWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PdgVmTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVmTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_TC1HcId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TEGSwId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_pQ16sChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TErhkId1EemTGPCEQmMGWg"
+ called="#_PdgVmTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_TE91cId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TFQJUId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PdzQgDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/PackageClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="PackageClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PdzQgjG0Ed-kc8dEZsdm2w" conditionMethod="#_89Lf9HLYEd-09ds9dfYpFw"
+ initMethod="#_PdzQgzG0Ed-kc8dEZsdm2w" footerMethod="#_PdzQhTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_T8ONkId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PdzQgjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PdzQgzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_89Lf9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._89Lf9HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PdzQhTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PdzQhzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_StPj2GKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._StPj2GKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_09HN2WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._09HN2WKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PdzQiTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQiTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_T_GicId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UAPx8Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UA0ZsId1EemTGPCEQmMGWg"
+ called="#_PdzQiTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_UBHUoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UBaPkId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PeP8cDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/XMLProcessorClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="XMLProcessorClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PeP8cjG0Ed-kc8dEZsdm2w" conditionMethod="#_9hr7NHLYEd-09ds9dfYpFw"
+ initMethod="#_PeP8czG0Ed-kc8dEZsdm2w" footerMethod="#_PeP8dTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_T2Ty0Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PeP8cjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8cjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PeP8czG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8czG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9hr7NHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._9hr7NHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PeP8dTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PeP8dzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SspG4mKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._SspG4mKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0767AmKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._0767AmKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PeP8eTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8eTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_T5N84Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_T6XMYId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_T67NEId1EemTGPCEQmMGWg"
+ called="#_PeP8eTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_T7Ng8Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_T7fNwId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PejecDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Plugin.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="Plugin" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PejecjG0Ed-kc8dEZsdm2w" conditionMethod="#_9fJklHLYEd-09ds9dfYpFw"
+ initMethod="#_PejeczG0Ed-kc8dEZsdm2w" footerMethod="#_PejedTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_TR5eMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PejecjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejecjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PejeczG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeczG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9fJklHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._9fJklHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PejedTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PejedzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SsWL8WKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._SsWL8WKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_07nZCWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._07nZCWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PejeeTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeeTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_TU02YId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TV-s8Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TWj7wId1EemTGPCEQmMGWg"
+ called="#_PejeeTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_TW2PoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TXJKkId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PesoYDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/ResourceFactoryClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA; * org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass.ResourceFactoryClass.createResource.override&#xA;"
+ name="ResourceFactoryClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PesoYjG0Ed-kc8dEZsdm2w" conditionMethod="#_9AAxhHLYEd-09ds9dfYpFw"
+ initMethod="#_PesoYzG0Ed-kc8dEZsdm2w" footerMethod="#_PesoZTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_TwPnEId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PesoYjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PesoYzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9AAxhHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._9AAxhHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PesoZTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PesoZzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_StFy12KPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._StFy12KPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_063yImKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._063yImKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PesoaTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoaTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_TzFfsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_T0U10Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_T05dkId1EemTGPCEQmMGWg"
+ called="#_PesoaTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_T1MYgId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_T1fTcId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Pe_jUDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.interface.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.egfCustom.constructor.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicDelegation&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.reflectiveDelegation.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeatureReified.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.eUnset.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.eIsSet.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.insert&#xA;"
+ name="Class" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_hYG6UCg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_Pe_jUjG0Ed-kc8dEZsdm2w" conditionMethod="#_9DSvBHLYEd-09ds9dfYpFw"
+ initMethod="#_Pe_jUzG0Ed-kc8dEZsdm2w" footerMethod="#_Pe_jVTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_TkHPkId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Pe_jUjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pe_jUzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9DSvBHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._9DSvBHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Pe_jVTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pe_jVzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Sr5gCGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Sr5gCGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_08EE9mKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._08EE9mKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pe_jWTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_TnBZoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ToOTgId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ToyUMId1EemTGPCEQmMGWg"
+ called="#_Pe_jWTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_TpGdQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TpZ_QId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PfcPQDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/FactoryClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="FactoryClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PfcPQjG0Ed-kc8dEZsdm2w" conditionMethod="#_9cLJFHLYEd-09ds9dfYpFw"
+ initMethod="#_PfcPQzG0Ed-kc8dEZsdm2w" footerMethod="#_PfcPRTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_UCLEkId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PfcPQjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PfcPQzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9cLJFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._9cLJFHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PfcPRTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PfcPRzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_StZU2GKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._StZU2GKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_07LUKWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._07LUKWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PfmAQTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfmAQTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_UFGcwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UGVy4Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UG7BsId1EemTGPCEQmMGWg"
+ called="#_PfmAQTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_UHN8oId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UHgQgId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Pf47MDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/EnumClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="EnumClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_txlYcCg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_Pf47MjG0Ed-kc8dEZsdm2w" conditionMethod="#_9QQM9HLYEd-09ds9dfYpFw"
+ initMethod="#_Pf47MzG0Ed-kc8dEZsdm2w" footerMethod="#_Pf47NTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_UIP3YId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Pf47MjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pf47MzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9QQM9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._9QQM9HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Pf47NTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pf47NzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SrwWGGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._SrwWGGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_07UeGWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._07UeGWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pf47OTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47OTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ULJaYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UMTQ8Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UM5G0Id1EemTGPCEQmMGWg"
+ called="#_Pf47OTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_UNLasId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UNeVoId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PgCsMDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/PackageClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="PackageInterface" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PgCsMjG0Ed-kc8dEZsdm2w" conditionMethod="#_9S7thHLYEd-09ds9dfYpFw"
+ initMethod="#_PgCsMzG0Ed-kc8dEZsdm2w" footerMethod="#_PgCsNTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_TeBOoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PgCsMjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PgCsMzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9S7thHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._9S7thHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PgCsNTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsNTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PgL2IDG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IDG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Ssf88WKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._Ssf88WKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_08zr2WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._08zr2WKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PgL2IjG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IjG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Tg_qIId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TiKu0Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TiwksId1EemTGPCEQmMGWg"
+ called="#_PgL2IjG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_TjC4kId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TjWakId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PgVnIDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/FactoryClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="FactoryInterface" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PgVnIjG0Ed-kc8dEZsdm2w" conditionMethod="#_9HAxZHLYEd-09ds9dfYpFw"
+ initMethod="#_PgVnIzG0Ed-kc8dEZsdm2w" footerMethod="#_PgVnJTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_UOQYwId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PgVnIjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PgVnIzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9HAxZHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._9HAxZHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PgVnJTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PgVnJzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_StsPyGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._StsPyGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_08N1-WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._08N1-WKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PgVnKTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnKTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_URQpcId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UScVMId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UTBkAId1EemTGPCEQmMGWg"
+ called="#_PgVnKTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_UTVGAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UTooAId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PgoiEDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/ResourceClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="ResourceClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PgoiEjG0Ed-kc8dEZsdm2w" conditionMethod="#_85wYhHLYEd-09ds9dfYpFw"
+ initMethod="#_PgoiEzG0Ed-kc8dEZsdm2w" footerMethod="#_PgoiFTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_UUcgUId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PgoiEjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PgoiEzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_85wYhHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._85wYhHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PgoiFTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PgoiFzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SsDRCGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._SsDRCGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_08qh6WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._08qh6WKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PgoiGTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiGTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_UXaUwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UZ2kwId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UacaoId1EemTGPCEQmMGWg"
+ called="#_PgoiGTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_UauugId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UbCQgId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Pg8EEDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.interface.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.egfCustom.constructor.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicDelegation&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.reflectiveDelegation.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeatureReified.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eUnset.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eIsSet.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.insert&#xA;"
+ name="Interface" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_hYG6UCg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_Pg8EEjG0Ed-kc8dEZsdm2w" conditionMethod="#_9Kva1HLYEd-09ds9dfYpFw"
+ initMethod="#_Pg8EEzG0Ed-kc8dEZsdm2w" footerMethod="#_Pg8EFTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_TGAXQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Pg8EEjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pg8EEzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9Kva1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._9Kva1HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Pg8EFTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pg8EFzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SrmlGGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._SrmlGGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_08Xm-WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._08Xm-WKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pg8EGTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_TI5TMId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TKCisId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TKl8UId1EemTGPCEQmMGWg"
+ called="#_Pg8EGTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_TK3CEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TLJV8Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PhO_ADG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/AdapterFactoryClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="AdapterFactoryClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PhO_AjG0Ed-kc8dEZsdm2w" conditionMethod="#_9Wzg5HLYEd-09ds9dfYpFw"
+ initMethod="#_PhO_AzG0Ed-kc8dEZsdm2w" footerMethod="#_PhO_BTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_TqLbUId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PhO_AjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PhO_AzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9Wzg5HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._9Wzg5HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PhO_BTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PhO_BzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Ssy372KPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._Ssy372KPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_089c2WKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._089c2WKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PhO_CTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_CTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_TtGMcId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TuSfQId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Tu4VIId1EemTGPCEQmMGWg"
+ called="#_PhO_CTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_TvLQEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TveyEId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Phh58DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/SwitchClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="SwitchClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_Phh58jG0Ed-kc8dEZsdm2w" conditionMethod="#_82LgFHLYEd-09ds9dfYpFw"
+ initMethod="#_Phh58zG0Ed-kc8dEZsdm2w" footerMethod="#_Phh59TG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_TL8AIId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Phh58jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58jG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Phh58zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_82LgFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._82LgFHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Phh59TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59TG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Phh59zG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_StieyGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._StieyGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_07BjKWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._07BjKWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Phh5-TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh5-TG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_TO2KMId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TQAn0Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TQl2oId1EemTGPCEQmMGWg"
+ called="#_Phh5-TG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_TQ3jcId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TRKeYId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Ph004DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/ValidatorClass.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA; * org.eclipse.egf.emf.pattern.model.call.ValidatorClass.ValidatorClass.insert&#xA;"
+ name="ValidatorClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_Ph004jG0Ed-kc8dEZsdm2w" conditionMethod="#_9Nt2VHLYEd-09ds9dfYpFw"
+ initMethod="#_Ph004zG0Ed-kc8dEZsdm2w" footerMethod="#_Ph005TG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_TX5YgId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Ph004jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004jG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Ph004zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9Nt2VHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._9Nt2VHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Ph005TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005TG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Ph005zG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SspG8mKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._SspG8mKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_07ePGWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._07ePGWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Ph006TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph006TG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Ta0wsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TcAccId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Tcm5YId1EemTGPCEQmMGWg"
+ called="#_Ph006TG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_Tc5NQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_TdK6EId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_QIGxoH7rEd-W9_ZFSEQEPg" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/module.gwt.xmljet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"
+ name="ModuleGWTXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_QIGxon7rEd-W9_ZFSEQEPg" conditionMethod="#_QIGxpH7rEd-W9_ZFSEQEPg"
+ initMethod="#_QIGxo37rEd-W9_ZFSEQEPg" footerMethod="#_QIGxpn7rEd-W9_ZFSEQEPg">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_SyV0YId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_QIGxon7rEd-W9_ZFSEQEPg" name="header" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxon7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QIGxo37rEd-W9_ZFSEQEPg" name="init" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxo37rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QIGxpH7rEd-W9_ZFSEQEPg" name="preCondition" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpH7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QIGxpn7rEd-W9_ZFSEQEPg" name="footer" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QIGxqH7rEd-W9_ZFSEQEPg" name="setReporterVariables"
+ patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqH7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QIGxqX7rEd-W9_ZFSEQEPg" name="setArgument" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqX7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QIGxqn7rEd-W9_ZFSEQEPg" name="ensureProjectExists" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QIGxrH7rEd-W9_ZFSEQEPg" name="doGenerate" patternFilePath="templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxrH7rEd-W9_ZFSEQEPg.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_S2yPgId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_S3_wcId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_S4k_QId1EemTGPCEQmMGWg"
+ called="#_QIGxrH7rEd-W9_ZFSEQEPg"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_S436MId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_S5I_8Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ </libraries>
+ <libraries xmi:id="_0uqqgGJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass">
+ <elements xmi:id="_0uqqgWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/ResourceFactoryClass.javajet&quot;&#xA;"
+ name="ResourceFactoryClass.createResource.override" headerMethod="#_0uqqg2J-Ed-FqczH3ESmRw"
+ conditionMethod="#_--X7pXLYEd-09ds9dfYpFw" initMethod="#_0uqqhGJ-Ed-FqczH3ESmRw"
+ footerMethod="#_0uqqhmJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_pe2BgId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0uqqg2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqg2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0uqqhGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhGJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_--X7pXLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._--X7pXLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0uqqhmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0uqqimJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqimJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_pilSAId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_pi7QQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_pjScoId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_piRI8Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_pkA1YId1EemTGPCEQmMGWg"
+ called="#_0uqqimJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ </libraries>
+ <libraries xmi:id="_0jpGTWJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.model.call.Class">
+ <elements xmi:id="_0jpGTmJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.insert&#xA;"
+ name="Class.declaredFieldGenFeature.override" headerMethod="#_0jpGUGJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__Dly1XLYEd-09ds9dfYpFw" initMethod="#_0jpGUWJ-Ed-FqczH3ESmRw"
+ footerMethod="#_0jpGU2J-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_gqeo4Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0jpGUGJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUGJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0jpGUWJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__Dly1XLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method.__Dly1XLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0jpGU2J-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGU2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0jpGYGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGYGJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_gt_P4Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_guTY8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_guoJEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_gu8SIId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_gvRpUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gvlyYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gv57cId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gwNdcId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_gwhmgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gw29sId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gxMU4Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gxi6MId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gx3DQId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_gyLzYId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gygjgId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gy0FgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gzI1oId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_gtqfwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_gzyV4Id1EemTGPCEQmMGWg"
+ called="#_0jpGYGJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0jyQMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.declaredFieldGenFeature.insert" headerMethod="#_0jyQMmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__Fq2dHLYEd-09ds9dfYpFw" initMethod="#_0jyQM2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0jyQNWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_g0guoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0jyQMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQMmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0jyQM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQM2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__Fq2dHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method.__Fq2dHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0jyQNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQNWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0jyQQmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQQmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_g3-5YId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_g4TCcId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_g4nLgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_g477oId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_g5QEsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_g5kNwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_g5494Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_g6NG8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_g6h3EId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_g63OQId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_g7OaoId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_g7jKwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_g74h8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_g8NSEId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_g8g0EId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_g8zvAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_g9HRAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_g3qwUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_g9u8EId1EemTGPCEQmMGWg"
+ called="#_0jyQQmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0kFyMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.reflectiveDelegation.override" headerMethod="#_0kFyMmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__IDcFHLYEd-09ds9dfYpFw" initMethod="#_0kFyM2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0kFyNWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_hTfJoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0kFyMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyMmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0kFyM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyM2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__IDcFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method.__IDcFHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0kFyNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyNWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0kFyQWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyQWJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_hW8tUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_hXQPUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_hXjxUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_hX3TUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hYLcYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hYe-YId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hYzugId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_hZH3kId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hZcAoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hZwwwId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_haFg4Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_haZp8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_hatzAId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hbB8EId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hbWFIId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hbq1QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_hWokQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_hcSgUId1EemTGPCEQmMGWg"
+ called="#_0kFyQWJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0kO8IGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.insert&#xA;"
+ name="Class.genFeature.override" headerMethod="#_0kO8ImJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__LCepHLYEd-09ds9dfYpFw" initMethod="#_0kO8I2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0kO8JWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_iQgLgId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0kO8ImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8ImJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0kO8I2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8I2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__LCepHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method.__LCepHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0kO8JWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8JWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0kO8MmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8MmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_iUGSEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_iUabIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_iUvyUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_iVFJgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_iVZ5oId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iVupwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iWCy0Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iWWU0Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_iWqd4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iW-m8Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iXTXEId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iXm5EId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iX7pMId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_iYPyQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iYkiYId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iY5SgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iZOCoId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_iTvswId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_iZ4xAId1EemTGPCEQmMGWg"
+ called="#_0kO8MmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0kh3EGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.TODO.override&#xA;"
+ name="Class.getGenFeature.override" headerMethod="#_0kh3EmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__MrdZHLYEd-09ds9dfYpFw" initMethod="#_0kh3E2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0kh3FWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_iapmAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0kh3EmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3EmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0kh3E2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3E2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__MrdZHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method.__MrdZHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0kh3FWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3FWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0kh3ImJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3ImJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_ieMpQId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_iegyUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ie0UUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ifIdYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ifcmcId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ifxWkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_igFfoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_igZosId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_igtKsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ihB60Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ihWq8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ihrbEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ih_kIId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_iiYlsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iiuj8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ijDUEId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ijYrQId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_id5HQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ikCykId1EemTGPCEQmMGWg"
+ called="#_0kh3ImJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0kroEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.insert&#xA;"
+ name="Class.getGenFeature.javadoc.override" headerMethod="#_0kroEmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__Nt_NHLYEd-09ds9dfYpFw" initMethod="#_0kroE2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0kroFWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ik3R8Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0kroEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroEmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0kroE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroE2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__Nt_NHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method.__Nt_NHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0kroFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroFWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0kroImJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroImJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_iocKYId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_iow6gId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ipFqoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ipZzsId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ipt8wId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iqCF0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iqWO4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iqqX8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_iq-hAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_irTRIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iroBQId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ir8xYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_isRhgId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_ismRoId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_is_TMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_itV4gId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_itrPsId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ioIoYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_iuUI4Id1EemTGPCEQmMGWg"
+ called="#_0kroImJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0lIUAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.getGenFeature.javadoc.insert" headerMethod="#_0lIUAmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__O6SBHLYEd-09ds9dfYpFw" initMethod="#_0lIUA2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0lIUBWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ivEW0Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0lIUAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUAmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0lIUA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUA2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__O6SBHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method.__O6SBHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0lIUBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUBWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0lIUEmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUEmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_iyp2UId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_iy9YUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_izRhYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_izlDYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_iz5McId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_i0NVgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_i0g3gId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_i01noId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_i1JwsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_i1d5wId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_i1z4AId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_i2IBEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_i2cxMId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_i2w6QId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_i3EcQId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_i3YlUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_i3tVcId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_iyVtQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_i4WOoId1EemTGPCEQmMGWg"
+ called="#_0lIUEmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0lIUFGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.getGenFeature.annotations.insert" headerMethod="#_0lIUFmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__P9a5HLYEd-09ds9dfYpFw" initMethod="#_0lIUF2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0lIUGWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_hnXH4Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0lIUFmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUFmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0lIUF2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUF2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__P9a5HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method.__P9a5HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0lIUGWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUGWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0lSFCmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lSFCmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_hq3H0Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_hrLQ4Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_hrgBAId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_hr0KEId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_hsITIId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hsccMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hsv-MId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_htEHQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_htY3YId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_httAcId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_huBJgId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_huVSkId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_huqCsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_hu9ksId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hvRtwId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hvlPwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hv5_4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_hqi-wId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_hwjgIId1EemTGPCEQmMGWg"
+ called="#_0lSFCmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0lSFDGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.getGenFeature.pre.insert" headerMethod="#_0lSFDmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__RvjlHLYEd-09ds9dfYpFw" initMethod="#_0lbO8GJ-Ed-FqczH3ESmRw"
+ footerMethod="#_0lbO8mJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_hxSf8Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0lSFDmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lSFDmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0lbO8GJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8GJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__RvjlHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method.__RvjlHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0lbO8mJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0lbO_2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO_2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_h06bsId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_h1RoEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_h1lxIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_h156MId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_h2OqUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_h2jacId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_h24KkId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_h3MToId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_h3fOkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_h3zXoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_h4G5oId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_h4bCsId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_h4vLwId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_h5DU0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_h5W20Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_h5q_4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_h6FPkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_h0j2YId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_h6uIwId1EemTGPCEQmMGWg"
+ called="#_0lbO_2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0lbPAWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.getGenFeature.TODO.override" headerMethod="#_0lbPA2J-Ed-FqczH3ESmRw"
+ conditionMethod="#__TiTVHLYEd-09ds9dfYpFw" initMethod="#_0lbPBGJ-Ed-FqczH3ESmRw"
+ footerMethod="#_0lbPBmJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_i5EnYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0lbPA2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPA2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0lbPBGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBGJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__TiTVHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method.__TiTVHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0lbPBmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0lbPE2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPE2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_i8g88Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_i80e8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_i9IoAId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_i9bi8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_i9vsAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_i-D1EId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_i-X-IId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_i-suQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_i_CFcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_i_YDsId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_i_sz0Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jABj8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jAVtAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_jAqdIId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jA_NQId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jBTWUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jBm4UId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_i8Mz4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_jCPKcId1EemTGPCEQmMGWg"
+ called="#_0lbPE2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0lk_8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.TODO.override&#xA;"
+ name="Class.basicGetGenFeature.override" headerMethod="#_0lk_8mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__VBhFHLYEd-09ds9dfYpFw" initMethod="#_0lk_82J-Ed-FqczH3ESmRw"
+ footerMethod="#_0lk_9WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_jC__cId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0lk_8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_8mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0lk_82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_82J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__VBhFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method.__VBhFHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0lk_9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_9WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0llAAmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0llAAmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_jGh0kId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_jG2ksId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_jHL74Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_jHk9cId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_jH67sId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jIPEwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jIlDAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jI5zIId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_jJQ_gId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jJlvoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jJ54sId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jKOo0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jKix4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_jK3iAId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jLMSIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jM0p0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jNNEUId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_jGMdYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_jN19gId1EemTGPCEQmMGWg"
+ called="#_0llAAmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0l364GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.basicGetGenFeature.annotations.insert" headerMethod="#_0l364mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__XjQpHLYEd-09ds9dfYpFw" initMethod="#_0l3642J-Ed-FqczH3ESmRw"
+ footerMethod="#_0l365WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_jOlkYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0l364mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l364mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0l3642J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l3642J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__XjQpHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method.__XjQpHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0l365WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l365WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0l368mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l368mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_jSE9QId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_jSYfQId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_jSsoUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_jTAKUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_jTUTYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jTpDgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jT7-cId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jUQHgId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_jUk3oId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jU5AsId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jVMisId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jVhS0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jV000Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_jWIW0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jWe8IId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jWzsQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jXH1UId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_jRw0MId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_jXvgYId1EemTGPCEQmMGWg"
+ called="#_0l368mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0mBr4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.basicGetGenFeature.pre.insert" headerMethod="#_0mBr4mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__ZDFdHLYEd-09ds9dfYpFw" initMethod="#_0mBr42J-Ed-FqczH3ESmRw"
+ footerMethod="#_0mBr5WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_jYfHQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0mBr4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr4mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mBr42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr42J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__ZDFdHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method.__ZDFdHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0mBr5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr5WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mBr8mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr8mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_jcCxkId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_jcXhsId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_jcsR0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_jdBB8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_jdVyEId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jdp7IId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jd-EMId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jeSNQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_jemWUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_je6fYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jfOocId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jfjYkId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jf26kId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_jgLqsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jgfMsId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jgyHoId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jhGQsId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_jbtaYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_jhtUsId1EemTGPCEQmMGWg"
+ called="#_0mBr8mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0mK10GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.basicGetGenFeature.TODO.override" headerMethod="#_0mK10mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__a1OJHLYEd-09ds9dfYpFw" initMethod="#_0mK102J-Ed-FqczH3ESmRw"
+ footerMethod="#_0mK11WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_jieJsId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0mK10mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK10mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mK102J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK102J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__a1OJHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method.__a1OJHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0mK11WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK11WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mK14mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK14mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_jmDCIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_jmYZUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_jmsiYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_jnArcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_jnU0gId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jnoWgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jn9GoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_joRPsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_jomm4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jo6v8Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jpOR8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jpjCEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jp4ZQId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_jqOXgId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jqjusId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jq6UAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jrOdEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_jlvgIId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_jr5ygId1EemTGPCEQmMGWg"
+ called="#_0mK14mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0mUm0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.TODO.override&#xA;"
+ name="Class.basicSetGenFeature.override" headerMethod="#_0mUm0mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__d9apHLYEd-09ds9dfYpFw" initMethod="#_0mUm02J-Ed-FqczH3ESmRw"
+ footerMethod="#_0mUm1WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_jsqngId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0mUm0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm0mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mUm02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm02J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__d9apHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method.__d9apHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0mUm1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm1WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mUm4mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm4mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_jwQuEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_jwk3IId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_jw5nQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_jxOXYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_jxigcId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jx33oId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jyLZoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jyfisId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_jy0S0Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jzIb4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_jzfoQId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_jz0YYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_j0IhcId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_j0efsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_j00d8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_j1LqUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_j1iPoId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_jv5hsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_j2OzMId1EemTGPCEQmMGWg"
+ called="#_0mUm4mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0mnhwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.basicSetGenFeature.annotations.insert" headerMethod="#_0mnhwmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__fJtdHLYEd-09ds9dfYpFw" initMethod="#_0mnhw2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0mnhxWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_h7dIkId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0mnhwmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhwmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mnhw2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhw2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__fJtdHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method.__fJtdHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0mnhxWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhxWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mnh0mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnh0mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_h-7TUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_h_O1UId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_h_iXUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_h_15UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_iAKCYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iAfZkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iA0JsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iBISwId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_iBcb0Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iBxzAId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iCFVAId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iCaFIId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iCtnIId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_iDBwMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iDWgUId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iDqpYId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iEAAkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_h-nxUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_iEwOgId1EemTGPCEQmMGWg"
+ called="#_0mnh0mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0mxSwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.basicSetGenFeature.pre.insert" headerMethod="#_0mxSwmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__gDFVHLYEd-09ds9dfYpFw" initMethod="#_0mxSw2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0mxSxWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_j3A2UId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0mxSwmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSwmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mxSw2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSw2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__gDFVHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method.__gDFVHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0mxSxWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSxWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mxS0mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxS0mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_j6mV0Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_j67tAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_j7P2EId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_j7nCcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_j77ykId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_j8PUkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_j8kEsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_j85b4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_j9OMAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_j9iVEId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_j93FMId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_j-ORkId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_j-jBsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_j-4Y4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_j_Mh8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_j_gD8Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_j_0NAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_j6SMwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_kAeUUId1EemTGPCEQmMGWg"
+ called="#_0mxS0mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0mxS1GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.basicSetGenFeature.post.insert" headerMethod="#_0mxS1mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__gysNHLYEd-09ds9dfYpFw" initMethod="#_0mxS12J-Ed-FqczH3ESmRw"
+ footerMethod="#_0m6csWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_kBOiQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0mxS1mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS1mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0mxS12J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS12J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__gysNHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method.__gysNHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0m6csWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6csWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0m6cvmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6cvmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_kEw-cId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_kFGVoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_kFbs0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_kFxEAId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_kGFNEId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kGZ9MId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kGutUId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kHFSoId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_kHZbsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kHuL0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kIC78Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kIXFAId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kIrOEId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_kJBMUId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kJZm0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kJtv4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kKE8QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_kEcOUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_kKwRsId1EemTGPCEQmMGWg"
+ called="#_0m6cvmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0m6cwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.basicSetGenFeature.TODO.override" headerMethod="#_0m6cwmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__hsEFHLYEd-09ds9dfYpFw" initMethod="#_0m6cw2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0m6cxWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_kLi74Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0m6cwmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cwmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0m6cw2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cw2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__hsEFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method.__hsEFHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0m6cxWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cxWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0m6c0mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6c0mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_kPIbYId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_kPdLgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_kPxUkId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_kQE2kId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_kRfL0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kR1xIId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kSJ6MId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kSfRYId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_kS0okId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kTLN4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kThzMId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kT2jUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kUNIoId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_kUh4wId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kU2o4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kVKx8Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kVgJIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_kO0SUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_kWH0MId1EemTGPCEQmMGWg"
+ called="#_0m6c0mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0nN-sGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicSetGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicSetGenFeature.post.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.post.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.TODO.override&#xA;"
+ name="Class.setGenFeature.override" headerMethod="#_0nN-smJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__jLR1HLYEd-09ds9dfYpFw" initMethod="#_0nN-s2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0nN-tWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_kW4CIId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0nN-smJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-smJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0nN-s2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-s2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__jLR1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method.__jLR1HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0nN-tWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-tWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0nN-wmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-wmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_kahMAId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ka2jMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_kbL6YId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_kbfcYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_kby-YId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kcGgYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kcaCYId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kctkYId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_kdAfUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kdUoYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kdoxcId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kd8TcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_keQcgId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_keklkId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ke4HkId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kfLpkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kffyoId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_kaNC8Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_kgJS4Id1EemTGPCEQmMGWg"
+ called="#_0nN-wmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0nXIoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.insert&#xA;"
+ name="Class.setGenFeature.javadoc.override" headerMethod="#_0nXIomJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__m57RHLYEd-09ds9dfYpFw" initMethod="#_0nXIo2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0nXIpWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_kg45wId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0nXIomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIomJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0nXIo2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIo2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__m57RHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method.__m57RHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0nXIpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIpWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0nXIsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIsmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_kkZgwId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_kktCwId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_klBy4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_klVU4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_klo24Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kl8_8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kmQh8Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kmlSEId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_km40EId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_knNkMId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_knqQIId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_koAOYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_koVlkId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_korj0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kpCwMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kpW5QId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kpsQcId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_kkFXsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_kqT7gId1EemTGPCEQmMGWg"
+ called="#_0nXIsmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0ng5oGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.setGenFeature.javadoc.insert" headerMethod="#_0ng5omJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__oi6BHLYEd-09ds9dfYpFw" initMethod="#_0ng5o2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0ng5pWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_krDiYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0ng5omJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5omJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0ng5o2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5o2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__oi6BHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method.__oi6BHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0ng5pWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5pWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0ng5smJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5smJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_kuhGEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ku1PIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_kvJYMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_kvfWcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_kvy4cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kwHBgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kwdm0Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kwxv4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_kxFR4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kxbQIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_kxvZMId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kyDiQId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kyaHkId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_kywF0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kzEO4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kzY_AId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_kztIEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_kuNkEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_k0X2cId1EemTGPCEQmMGWg"
+ called="#_0ng5smJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0nqqoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.setGenFeature.annotations.insert" headerMethod="#_0nqqomJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__pvM1HLYEd-09ds9dfYpFw" initMethod="#_0nqqo2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0nqqpWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_iFf1YId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0nqqomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqomJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0nqqo2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqo2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__pvM1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method.__pvM1HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0nqqpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqpWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0nqqsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqsmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_iJ_64Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_iKUrAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_iKo0EId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_iK89IId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_iLQfIId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iLkoMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iL4xQId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iMM6UId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_iMgcUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iM0lYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_iNJVgId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iNf60Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iN0D4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_iOI0AId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iOdkIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iOyUQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_iPGdUId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_iJp8oId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_iPv9kId1EemTGPCEQmMGWg"
+ called="#_0nqqsmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0nz0kGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.setGenFeature.pre.insert" headerMethod="#_0nz0kmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__rEplHLYEd-09ds9dfYpFw" initMethod="#_0nz0k2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0nz0lWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_k1HdUId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0nz0kmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0kmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0nz0k2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0k2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__rEplHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method.__rEplHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0nz0lWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0lWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0nz0o2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0o2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_k4hWoId1EemTGPCEQmMGWg" name="setAccessorOperation"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_k42GwId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_k5MFAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_k5gOEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_k50XIId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_k6IgMId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_k6cpQId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_k6wyUId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_k7FicId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_k7a5oId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_k7wQ0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_k8EZ4Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_k8Yi8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_k8uhMId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_k9D4YId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_k9YBcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_k9sKgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_k-CIwId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_k4N0oId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_k-pz0Id1EemTGPCEQmMGWg"
+ called="#_0nz0o2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0qMaMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.setGenFeature.post.insert" headerMethod="#_0qMaMmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__sQ8ZHLYEd-09ds9dfYpFw" initMethod="#_0qMaM2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0qMaNWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_lWAj4Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0qMaMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaMmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0qMaM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaM2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__sQ8ZHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method.__sQ8ZHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0qMaNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaNWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0qMaQ2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaQ2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_lZn4kId1EemTGPCEQmMGWg" name="setAccessorOperation"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_lZ8osId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_laR_4Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_lamI8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_la6SAId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_lbPpMId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lblAYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lb6XkId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lcOgoId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_lcjQwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lc3Z0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ldLi4Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ldg6EId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ld1qMId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_leJzQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lefKcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_le1IsId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lfKf4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_lZR6UId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_lfyyAId1EemTGPCEQmMGWg"
+ called="#_0qMaQ2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0qMaRWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.setGenFeature.TODO.override" headerMethod="#_0qMaR2J-Ed-FqczH3ESmRw"
+ conditionMethod="#__tAjRHLYEd-09ds9dfYpFw" initMethod="#_0qMaSGJ-Ed-FqczH3ESmRw"
+ footerMethod="#_0qWLMWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_lgi_8Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0qMaR2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaR2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0qMaSGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaSGJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__tAjRHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method.__tAjRHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0qWLMWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLMWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0qWLP2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLP2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_lkK7sId1EemTGPCEQmMGWg" name="setAccessorOperation"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_lkfEwId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_lkz04Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_llJMEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_llejQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_llz6cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lmIqkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lmczoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lmxjwId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_lnFs0Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lnac8Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lnv0IId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_loEkQId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_loYGQId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_lotdcId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lpCNkId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lpVvkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lppRkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_lj0WYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_lqRjsId1EemTGPCEQmMGWg"
+ called="#_0qWLP2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0qfVIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.TODO.override&#xA;"
+ name="Class.basicUnsetGenFeature.override" headerMethod="#_0qfVImJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__v101HLYEd-09ds9dfYpFw" initMethod="#_0qfVI2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0qfVJWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_lrAjgId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0qfVImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVImJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0qfVI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVI2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__v101HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method.__v101HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0qfVJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVJWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0qfVMmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVMmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_luiYoId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_lu2hsId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_lvKqwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_lvez0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_lv0LAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lwJiMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lwe5YId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lwzCcId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_lxHykId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lxcisId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lxwrwId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lyE00Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lyY94Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_lytuAId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lzCeIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lzWnMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lzqwQId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_luOPkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_l0U3kId1EemTGPCEQmMGWg"
+ called="#_0qfVMmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0qpGIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.basicUnsetGenFeature.annotations.insert" headerMethod="#_0qpGImJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__xezlHLYEd-09ds9dfYpFw" initMethod="#_0qpGI2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0qpGJWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_l1FskId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0qpGImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGImJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0qpGI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGI2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__xezlHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method.__xezlHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0qpGJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGJWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0qpGMmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGMmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_l4rMEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_l4_VIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_l5TeMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_l5oOUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_l58-cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_l6RHgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_l6kpgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_l66AsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_l7SbMId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_l7qOoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_l8Az8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_l8VkEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_l8ptIId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_l8-dQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_l9SmUId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_l9nWcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_l98toId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_l4XqEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_l-m08Id1EemTGPCEQmMGWg"
+ called="#_0qpGMmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0qy3IGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.basicUnsetGenFeature.TODO.override" headerMethod="#_0qy3ImJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__yrGZHLYEd-09ds9dfYpFw" initMethod="#_0qy3I2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0qy3JWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_l_YRAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0qy3ImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3ImJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0qy3I2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3I2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__yrGZHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method.__yrGZHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0qy3JWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3JWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0qy3MmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3MmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_mDD3IId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_mDYnQId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_mDt-cId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_mECHgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_mEXesId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mErnwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mFAX4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mFVIAId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_mFp4IId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mF_PUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mGTYYId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mGnhcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mG7qgId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_mHRBsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mHlx0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mH564Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mIPSEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_mCvHAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_mI6AcId1EemTGPCEQmMGWg"
+ called="#_0qy3MmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0q8BEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.TODO.override&#xA;"
+ name="Class.unsetGenFeature.override" headerMethod="#_0q8BEmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__0BKNHLYEd-09ds9dfYpFw" initMethod="#_0q8BE2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0q8BFWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_mJq1cId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0q8BEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BEmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0q8BE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BE2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__0BKNHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method.__0BKNHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0q8BFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BFWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0q8BImJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BImJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_mNQU8Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_mNlFEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_mN51MId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_mOPMYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_mOkjkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mO56wId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mPOq4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mPjbAId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_mP4LIId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mQM7QId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mQi5gId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mQ43wId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mROO8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_mRkNMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mR49UId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mSNtcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mSidkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_mM8L4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_mTKvsId1EemTGPCEQmMGWg"
+ called="#_0q8BImJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0rPjEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.insert&#xA;"
+ name="Class.unsetGenFeature.javadoc.override" headerMethod="#_0rPjEmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__1gX9HLYEd-09ds9dfYpFw" initMethod="#_0rPjE2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0rPjFWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_mT8y0Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0rPjEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjEmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0rPjE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjE2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__1gX9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method.__1gX9HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0rPjFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjFWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0rPjImJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjImJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_mYTuYId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_mYpFkId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_mY91sId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_mZTM4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_mZsOcId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_maBloId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_maYyAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mauJMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_mbEHcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mbaswId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mbwrAId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mcIecId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mccngId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_mcylwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mdM1cId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mdhlkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_md2VsId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_mX--QId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_meo_4Id1EemTGPCEQmMGWg"
+ called="#_0rPjImJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0rieAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.unsetGenFeature.javadoc.insert" headerMethod="#_0rieAmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__349lHLYEd-09ds9dfYpFw" initMethod="#_0rieA2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0rieBWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_mfdfQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0rieAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieAmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0rieA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieA2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__349lHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method.__349lHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0rieBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieBWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0rieEmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieEmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_mjFbAId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_mjayMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_mjwJYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_mkE5gId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_mkZCkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mktysId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mlDJ4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mlX6AId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_mltRMId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mmCBUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mmWxcId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mmsIoId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mnA4wId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_mnVo4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mnpx8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mn-iEId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_moT5QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_miwD0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_mo8ycId1EemTGPCEQmMGWg"
+ called="#_0rieEmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0rrn8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.unsetGenFeature.annotations.insert" headerMethod="#_0rrn8mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__5rtVHLYEd-09ds9dfYpFw" initMethod="#_0rrn82J-Ed-FqczH3ESmRw"
+ footerMethod="#_0rrn9WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_mptncId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0rrn8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn8mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0rrn82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn82J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__5rtVHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method.__5rtVHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0rrn9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn9WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0rroAmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rroAmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_mtU8IId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_mtqTUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_mt_DcId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_muVBsId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_mupKwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mu-h8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mvT5IId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mvpQUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_mv_OkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mwUlwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_mwrLEId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mxAiQId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mxZj0Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_mxu7AId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_myESMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_myZCUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_mywOsId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_mtAMAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_mzdZUId1EemTGPCEQmMGWg"
+ called="#_0rroAmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0r_J8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.unsetGenFeature.TODO.override" headerMethod="#_0r_J8mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__6keJHLYEd-09ds9dfYpFw" initMethod="#_0r_J82J-Ed-FqczH3ESmRw"
+ footerMethod="#_0r_J9WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_m0RRoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0r_J8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J8mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0r_J82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J82J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__6keJHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method.__6keJHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0r_J9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J9WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0r_KAmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_KAmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_m383wId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_m4S2AId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_m4pbUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_m5BOwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_m5V-4Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_m5r9IId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_m6AtQId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_m6XSkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_m6spwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_m7BZ4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_m7WxEId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_m7svUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_m8CtkId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_m8YEwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_m8s04Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_m9DaMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_m9YKUId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_m3oHoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_m-CRoId1EemTGPCEQmMGWg"
+ called="#_0r_KAmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0sIT4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.TODO.override&#xA;"
+ name="Class.isSetGenFeature.override" headerMethod="#_0sIT4mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__8ES9HLYEd-09ds9dfYpFw" initMethod="#_0sIT42J-Ed-FqczH3ESmRw"
+ footerMethod="#_0sIT5WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_m-zGoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0sIT4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT4mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0sIT42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT42J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__8ES9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method.__8ES9HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0sIT5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT5WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0sIT8mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT8mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_nCkMUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_nC4VYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_nDNFgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_nDh1oId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_nD2lwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nELV4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nEe34Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nEzA8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_nFHxEId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nFb6IId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nFwDMId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nGEzUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nGZjcId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_nGu6oId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nHCcoId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nHXMwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nHrV0Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_nCO1IId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_nIUPAId1EemTGPCEQmMGWg"
+ called="#_0sIT8mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0sSE4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.insert&#xA;"
+ name="Class.isSetGenFeature.javadoc.override" headerMethod="#_0sSE4mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__9sqpHLYEd-09ds9dfYpFw" initMethod="#_0sSE42J-Ed-FqczH3ESmRw"
+ footerMethod="#_0sSE5WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_nJDO0Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0sSE4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE4mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0sSE42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE42J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__9sqpHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method.__9sqpHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0sSE5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE5WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0sSE8mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE8mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_nMinsId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_nM2wwId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_nNK50Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_nNeb0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_nNyk4Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nOGG4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nOZo4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nOtx8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_nPB7AId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nPVdAId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nPqNIId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nQAycId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nQXXwId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_nQsu8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nRDUQId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nRZSgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nRvQwId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_nMOeoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_nSZ_IId1EemTGPCEQmMGWg"
+ called="#_0sSE8mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0sb14GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.isSetGenFeature.javadoc.insert" headerMethod="#_0sb14mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#__-mChHLYEd-09ds9dfYpFw" initMethod="#_0sb142J-Ed-FqczH3ESmRw"
+ footerMethod="#_0sb15WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_nTLbMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0sb14mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb14mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0sb142J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb142J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="__-mChHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method.__-mChHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0sb15WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb15WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0sb18mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb18mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_nW42gId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_nXNmoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_nXi90Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_nX3G4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_nYL3AId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nYgAEId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nY0JIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nZISMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_nZdCUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_najOgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_na7B8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nbSOUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nbnlgId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_nb9jwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ncST4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ncmc8Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nc6mAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_nWjfUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ndjfMId1EemTGPCEQmMGWg"
+ called="#_0sb18mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0sk_0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.isSetGenFeature.annotations.insert" headerMethod="#_0sk_0mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#___faZHLYEd-09ds9dfYpFw" initMethod="#_0sk_02J-Ed-FqczH3ESmRw"
+ footerMethod="#_0sk_1WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_neUUMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0sk_0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_0mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0sk_02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_02J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="___faZHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method.___faZHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0sk_1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_1WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0sk_4mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_4mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_nh8P8Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_niRAEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_nilJIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ni88kId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_njSTwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_njnq8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nj9CIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nkSZUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_nknJcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nk75kId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nlQCoId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nlkLsId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nl6J8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_nmNr8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nmjDIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nm4aUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nnL8UId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_nhnf0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_nn0OcId1EemTGPCEQmMGWg"
+ called="#_0sk_4mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0suw0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.isSetGenFeature.TODO.override" headerMethod="#_0suw0mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AAYyRHLZEd-09ds9dfYpFw" initMethod="#_0suw02J-Ed-FqczH3ESmRw"
+ footerMethod="#_0suw1WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_noj1UId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0suw0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw0mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0suw02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw02J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AAYyRHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._AAYyRHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0suw1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw1WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0suw4mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw4mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_nsO0YId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_nsjkgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ns6J0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ntO58Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ntkRIId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nt5oUId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nuPmkId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nuk9wId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_nu5t4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nvQTMId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_nvlDUId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nv5MYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nwNVcId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_nwhegId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nw21sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nxMz8Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_nxiyMId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_nr6EQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_nyM5gId1EemTGPCEQmMGWg"
+ called="#_0suw4mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0s36wGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.genFeature.insert" headerMethod="#_0s36wmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_ADOD1HLZEd-09ds9dfYpFw" initMethod="#_0s36w2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0s36xWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ny9ugId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0s36wmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36wmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0s36w2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36w2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_ADOD1HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._ADOD1HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0s36xWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36xWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0s360mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s360mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_n2rw4Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_n3AhAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_n3WfQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_n3rPYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_n3__gId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_n4cEYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_n4yCoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_n5HZ0Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_n5bi4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_n5yvQId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_n6JUkId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_n6fS0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_n60C8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_n7KBMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_n7fYYId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_n70IgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_n8I4oId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_n2WZsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_n85toId1EemTGPCEQmMGWg"
+ called="#_0s360mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0tBrwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.implementedGenOperation.TODO.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.insert&#xA;"
+ name="Class.genOperation.override" headerMethod="#_0tLcwGJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AD9qtHLZEd-09ds9dfYpFw" initMethod="#_0tLcwWJ-Ed-FqczH3ESmRw"
+ footerMethod="#_0tLcw2J-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_n9tl8Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0tLcwGJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwGJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0tLcwWJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AD9qtHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._AD9qtHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0tLcw2J-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcw2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0tLc0GJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLc0GJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_oBbBQId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_oBxmkId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_oCG9wId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_oCc8AId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_oCzhUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oDKGoId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oDePsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oD01AId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_oEKzQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oEm4IId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oE8PUId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oFS0oId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oFoy4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_oF-xIId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oGUvYId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oGqGkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oHAr4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_oBEb8Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_oHtPcId1EemTGPCEQmMGWg"
+ called="#_0tLc0GJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0tUmsGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.insert&#xA;"
+ name="Class.genOperation.javadoc.override" headerMethod="#_0tUmsmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AFJ9hHLZEd-09ds9dfYpFw" initMethod="#_0tUms2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0tUmtWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_oJFIcId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0tUmsmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmsmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0tUms2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUms2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AFJ9hHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._AFJ9hHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0tUmtWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmtWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0tUmwmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmwmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_oM870Id1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_oNRr8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_oNnqMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_oN-PgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_oOXREId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oOraIId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oPAKQId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oPWIgId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_oPq4oId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oQAP0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oQVnAId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oQpwEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oQ95IId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_oRSCMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oRoAcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oR8JgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oSQSkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_oMlvcId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_oS7A8Id1EemTGPCEQmMGWg"
+ called="#_0tUmwmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0toIsGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.genOperation.javadoc.insert" headerMethod="#_0toIsmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AG8GNHLZEd-09ds9dfYpFw" initMethod="#_0toIs2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0toItWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_oTsdAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0toIsmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIsmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0toIs2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIs2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AG8GNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._AG8GNHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0toItWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toItWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0toIwmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIwmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_oXh0IId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_oX3LUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_oYNwoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_oYigwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_oY4fAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oZN2MId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oZimUId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oZ4kkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_oaNUsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oaiE0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oa4qIId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_obOoYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_objYgId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_ob4vsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ocOG4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_odWIQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_odq4YId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_oXL14Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_oeW04Id1EemTGPCEQmMGWg"
+ called="#_0toIwmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0txSoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.genOperation.annotations.insert" headerMethod="#_0txSomJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AIbT9HLZEd-09ds9dfYpFw" initMethod="#_0txSo2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0txSpWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ofJfEId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0txSomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSomJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0txSo2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSo2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AIbT9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._AIbT9HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0txSpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSpWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0txSsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSsmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_oi3hcId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_ojMRkId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ojhBsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_oj2Y4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_okNlQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_oknN4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ok8lEId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_olRVMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_olleQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ol6OYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_omPlkId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_omonIId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_om9-UId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_onSucId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_onm3gId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_on7noId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ooQ-0Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_oijYYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_oo6fEId1EemTGPCEQmMGWg"
+ called="#_0txSsmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0t7DoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.implementedGenOperation.TODO.override" headerMethod="#_0t7DomJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AKODtHLZEd-09ds9dfYpFw" initMethod="#_0t7Do2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0t7DpWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_optJQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0t7DomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DomJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0t7Do2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7Do2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AKODtHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._AKODtHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0t7DpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DpWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0t7DsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DsmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_otZ9gId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_otutoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ouC2sId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ouYN4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ouwBUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ovFYgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ovavsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ovvf0Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_owFeEId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_owbcUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_owwMcId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oxGxwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oxcwAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_oxzVUId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oyJTkId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oyeqwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_oy1QEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_otD_QId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ozkP4Id1EemTGPCEQmMGWg"
+ called="#_0t7DsmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0uENkGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.genOperation.insert" headerMethod="#_0uENkmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_ALaWhHLZEd-09ds9dfYpFw" initMethod="#_0uENk2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0uENlWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_o0Vr8Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0uENkmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENkmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0uENk2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENk2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_ALaWhHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._ALaWhHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0uENlWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENlWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0uENomJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENomJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_o4H_wId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_o4d-AId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_o41KYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_o5KhkId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_o5hG4Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_o54TQId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_o6NDYId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_o6josId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_o65m8Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_o7O-IId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_o7ljcId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_o766oId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_o8Q44Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_o8neMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_o89ccId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_o9UBwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_o9qAAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_o3wzYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_o-V8gId1EemTGPCEQmMGWg"
+ called="#_0uENomJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0uN-kGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.eUnset.override" headerMethod="#_0uN-kmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AMmpVHLZEd-09ds9dfYpFw" initMethod="#_0uN-k2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0uN-lWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_o_LC8Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0uN-kmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-kmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0uN-k2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-k2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AMmpVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._AMmpVHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0uN-lWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-lWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0uN-oWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-oWJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_pCv7YId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_pDErgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_pDZboId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_pDtksId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pECU0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pEV20Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pEqm8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_pE-wAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pFTgIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pFo3UId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pF-1kId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pGS-oId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_pGoV0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pG9F8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pHRPAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pHl_IId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_pCbyUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_pIRUkId1EemTGPCEQmMGWg"
+ called="#_0uN-oWJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0uXvkGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.eIsSet.override" headerMethod="#_0uXvkmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AN8tJHLZEd-09ds9dfYpFw" initMethod="#_0uXvk2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0uXvlWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_pJD-wId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0uXvkmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvkmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0uXvk2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvk2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AN8tJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._AN8tJHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0uXvlWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvlWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0uXvoWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvoWJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_pMu90Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_pNFjIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_pNa6UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_pNw4kId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pOGPwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pOc1EId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pOxlMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_pPG8YId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pPc6oId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pPyR0Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pQI3IId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pQeOUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_pQ1asId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pRKx4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pRfiAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pR05MId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_pMZmoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_pSfnkId1EemTGPCEQmMGWg"
+ called="#_0uXvoWJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0ug5gGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.insert" headerMethod="#_0ug5gmJ-Ed-FqczH3ESmRw" conditionMethod="#_AO_O9HLZEd-09ds9dfYpFw"
+ initMethod="#_0ug5g2J-Ed-FqczH3ESmRw" footerMethod="#_0ug5hWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_pTV8IId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0ug5gmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5gmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0ug5g2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5g2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AO_O9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._AO_O9HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0ug5hWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5hWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0ug5kWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5kWJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_pXD-gId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_pXZVsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_pXvT8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_pYDdAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pYaCUId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pYvZgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pZGl4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_pZb9EId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_pZyiYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_paIgoId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pafF8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pa2SUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_pbMQkId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pbiO0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pb4NEId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_pcQAgId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_pWsyIId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_pc7V8Id1EemTGPCEQmMGWg"
+ called="#_0ug5kWJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_JLBM0HroEeC0XN9kbwkPYQ" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.egfCustom.constructor.override" headerMethod="#_JLBM0nroEeC0XN9kbwkPYQ"
+ conditionMethod="#_JLBM1HroEeC0XN9kbwkPYQ" initMethod="#_JLBM03roEeC0XN9kbwkPYQ"
+ footerMethod="#_JLBM1nroEeC0XN9kbwkPYQ">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_g-ei8Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_JLBM0nroEeC0XN9kbwkPYQ" name="header" patternFilePath="templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM0nroEeC0XN9kbwkPYQ.pt"/>
+ <methods xmi:id="_JLBM03roEeC0XN9kbwkPYQ" name="init" patternFilePath="templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM03roEeC0XN9kbwkPYQ.pt"/>
+ <methods xmi:id="_JLBM1HroEeC0XN9kbwkPYQ" name="preCondition" patternFilePath="templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1HroEeC0XN9kbwkPYQ.pt"/>
+ <methods xmi:id="_JLBM1nroEeC0XN9kbwkPYQ" name="footer" patternFilePath="templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1nroEeC0XN9kbwkPYQ.pt"/>
+ <methods xmi:id="_JLBM4XroEeC0XN9kbwkPYQ" name="doGenerate" patternFilePath="templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM4XroEeC0XN9kbwkPYQ.pt"/>
+ <parameters xmi:id="_hDK1sId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_hDe-wId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_hD4AUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_hESQAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hErRkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hFAowId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hFZDQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_hFvokId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hGJ4QId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hGeBUId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hGyxcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hHG6gId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_hHbDkId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hHvzsId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hID8wId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hIaiEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_hC2FkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_hJHssId1EemTGPCEQmMGWg"
+ called="#_JLBM4XroEeC0XN9kbwkPYQ"/>
+ </elements>
+ <elements xmi:id="_C2iO4eXDEeCxnsoQRwU99Q" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.interface.javadoc.override" headerMethod="#_C2iO4-XDEeCxnsoQRwU99Q"
+ conditionMethod="#_C2iO5eXDEeCxnsoQRwU99Q" initMethod="#_C2iO5OXDEeCxnsoQRwU99Q"
+ footerMethod="#_C2iO5-XDEeCxnsoQRwU99Q">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_gg6dMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_C2iO4-XDEeCxnsoQRwU99Q" name="header" patternFilePath="templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO4-XDEeCxnsoQRwU99Q.pt"/>
+ <methods xmi:id="_C2iO5OXDEeCxnsoQRwU99Q" name="init" patternFilePath="templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5OXDEeCxnsoQRwU99Q.pt"/>
+ <methods xmi:id="_C2iO5eXDEeCxnsoQRwU99Q" name="preCondition" patternFilePath="templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5eXDEeCxnsoQRwU99Q.pt"/>
+ <methods xmi:id="_C2iO5-XDEeCxnsoQRwU99Q" name="footer" patternFilePath="templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5-XDEeCxnsoQRwU99Q.pt"/>
+ <methods xmi:id="_C2iO9uXDEeCxnsoQRwU99Q" name="doGenerate" patternFilePath="templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO9uXDEeCxnsoQRwU99Q.pt"/>
+ <parameters xmi:id="_gkVkoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_gkptsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_gk9PsId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_glR_0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gln-EId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gl8uMId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gmSFYId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_gmmOcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gm6XgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gnPHoId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gnj3wId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gn3ZwId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_goLi0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gofr4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gozN4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gpH-AId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_gkBbkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_gpwQIId1EemTGPCEQmMGWg"
+ called="#_C2iO9uXDEeCxnsoQRwU99Q"/>
+ </elements>
+ <elements xmi:id="_odzp0LM-EeKd56X4hcZPSw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert&#xA;"
+ name="Class.genFeatureReified.override" headerMethod="#_odzp0rM-EeKd56X4hcZPSw"
+ conditionMethod="#_odzp1LM-EeKd56X4hcZPSw" initMethod="#_odzp07M-EeKd56X4hcZPSw"
+ footerMethod="#_odzp1rM-EeKd56X4hcZPSw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_hdASAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_odzp0rM-EeKd56X4hcZPSw" name="header" patternFilePath="templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp0rM-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_odzp07M-EeKd56X4hcZPSw" name="init" patternFilePath="templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp07M-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_odzp1LM-EeKd56X4hcZPSw" name="preCondition" patternFilePath="templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1LM-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_odzp1rM-EeKd56X4hcZPSw" name="footer" patternFilePath="templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1rM-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_odzp6LM-EeKd56X4hcZPSw" name="doGenerate" patternFilePath="templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp6LM-EeKd56X4hcZPSw.pt"/>
+ <parameters xmi:id="_hgZkQId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_hgtGQId1EemTGPCEQmMGWg" name="classExtendsGenClass"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_hhAoQId1EemTGPCEQmMGWg" name="classExtendsAllGenFeatures"
+ type="java.util.List"/>
+ <parameters xmi:id="_hhTjMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_hhnFMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_hh71UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_hiP-YId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hikugId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hi5eoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hjNnsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_hjhwwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hj150Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hkINsId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hkbvsId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hkxG4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_hlEB0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hlYK4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hls7AId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hl_18Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_hgGCQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_hmm58Id1EemTGPCEQmMGWg"
+ called="#_odzp6LM-EeKd56X4hcZPSw"/>
+ </elements>
+ <elements xmi:id="_WUeasCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.dynamicDelegation" headerMethod="#_WU7GoCSWEemxeP6B0lLOpA"
+ conditionMethod="#_WVqtgCSWEemxeP6B0lLOpA" initMethod="#_WVOBkCSWEemxeP6B0lLOpA"
+ footerMethod="#_WWQjYCSWEemxeP6B0lLOpA">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_hJ36oId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_WU7GoCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WU7GoCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_WVOBkCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVOBkCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_WVqtgCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVqtgCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_WWQjYCSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WWQjYCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_WZig4CSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WZig4CSWEemxeP6B0lLOpA.pt"/>
+ <parameters xmi:id="_hNa94Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_hNvG8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_hODQAId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_hOWK8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hOq7EId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hO_EIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hPT0QId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_hPnWQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hP8GYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_hQPoYId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hQjxcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hQ36gId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_hRMqoId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hRgzsId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hR08wId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_hSIewId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_hNHb4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_hSwJ0Id1EemTGPCEQmMGWg"
+ called="#_WZig4CSWEemxeP6B0lLOpA"/>
+ </elements>
+ <elements xmi:id="_Y__lwCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.dynamicSetGenFeature.pre.insert" headerMethod="#_ZAcRsCSWEemxeP6B0lLOpA"
+ conditionMethod="#_ZBVCgCSWEemxeP6B0lLOpA" initMethod="#_ZA4WkCSWEemxeP6B0lLOpA"
+ footerMethod="#_ZB7fcCSWEemxeP6B0lLOpA">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_k_b28Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_ZAcRsCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZAcRsCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_ZA4WkCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZA4WkCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_ZBVCgCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZBVCgCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_ZB7fcCSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZB7fcCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_ZFqI4CSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZFqI4CSWEemxeP6B0lLOpA.pt"/>
+ <parameters xmi:id="_lDB9gId1EemTGPCEQmMGWg" name="setAccessorOperation"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_lDWGkId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_lDpokId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_lD-_wId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_lETI0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_lEmq0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lE8CAId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lFQLEId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lFk7MId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_lF5EQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lGNNUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lGhWYId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lG04YId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lHJBcId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_lHdKgId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lHx6oId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lIGqwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lIcB8Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_lCtNYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_lJFiMId1EemTGPCEQmMGWg"
+ called="#_ZFqI4CSWEemxeP6B0lLOpA"/>
+ </elements>
+ <elements xmi:id="_ZGGNwCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Class.dynamicSetGenFeature.post.insert" headerMethod="#_ZGZvwCSWEemxeP6B0lLOpA"
+ conditionMethod="#_ZHSgkCSWEemxeP6B0lLOpA" initMethod="#_ZG2bsCSWEemxeP6B0lLOpA"
+ footerMethod="#_ZHvMgCSWEemxeP6B0lLOpA">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_lJ1wIId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_ZGZvwCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZGZvwCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_ZG2bsCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZG2bsCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_ZHSgkCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHSgkCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_ZHvMgCSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHvMgCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_ZLd18CSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZLd18CSWEemxeP6B0lLOpA.pt"/>
+ <parameters xmi:id="_lNb2sId1EemTGPCEQmMGWg" name="setAccessorOperation"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_lNv_wId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_lOFW8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_lOauIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_lOveQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_lPHRsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lPfsMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lP1DYId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lQJMcId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_lQejoId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lQzTwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_lRJSAId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lRfQQId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lRzZUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_lSIJcId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lScSgId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lSwbkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_lTFywId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_lNHGkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_lVQV8Id1EemTGPCEQmMGWg"
+ called="#_ZLd18CSWEemxeP6B0lLOpA"/>
+ </elements>
+ </libraries>
+ <libraries xmi:id="_0u0bgGJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.model.call.Interface">
+ <elements xmi:id="_0u0bgWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.insert&#xA;"
+ name="Interface.declaredFieldGenFeature.override" headerMethod="#_0u0bg2J-Ed-FqczH3ESmRw"
+ conditionMethod="#_AQBwxXLZEd-09ds9dfYpFw" initMethod="#_0u0bhGJ-Ed-FqczH3ESmRw"
+ footerMethod="#_0u0bhmJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_YArhgId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0u0bg2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bg2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0u0bhGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhGJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AQBwxXLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._AQBwxXLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0u0bhmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0u0bk2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bk2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_YD_7QId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_YESPIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_YEkjAId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_YE2P0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_YFIjsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YFa3kId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YF2VYId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YGJQUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_YGcyUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YGvGMId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YHCoMId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YHU8EId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YHnP8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_YH6K4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YIMewId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YIgAwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YIy7sId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_YDtnYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_YJYxkId1EemTGPCEQmMGWg"
+ called="#_0u0bk2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0vHWcGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.declaredFieldGenFeature.insert" headerMethod="#_0vHWcmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_ARX0lHLZEd-09ds9dfYpFw" initMethod="#_0vHWc2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0vHWdWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_YKHxYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0vHWcmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWcmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0vHWc2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWc2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_ARX0lHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._ARX0lHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0vHWdWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWdWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0vHWgmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWgmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_YNUPUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_YNnKQId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_YN6sQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_YONAIId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_YOgiIId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YO0EIId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YPG_EId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YPZ6AId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_YPs08Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YP_v4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YQTR4Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YQna8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YQ688Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_YROe8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YRkdMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YR3YIId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YSK6IId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_YNBUYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_YSxXEId1EemTGPCEQmMGWg"
+ called="#_0vHWgmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0vQgYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.reflectiveDelegation.override" headerMethod="#_0vQgYmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_ASkHZHLZEd-09ds9dfYpFw" initMethod="#_0vQgY2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0vQgZWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_YmdvIId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0vQgYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgYmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0vQgY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgY2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_ASkHZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._ASkHZHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0vQgZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgZWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0vQgcWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgcWJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_YpvsoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_YqCAgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_YqVigId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_Yqn2YId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Yq6KQId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YrNFMId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YrgAIId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_Yry7EId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YsF2AId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YsZYAId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YssS8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Ys_N4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_YtSI0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Ytlq0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Yt5M0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YuNV4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_YpcKoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_YuzLwId1EemTGPCEQmMGWg"
+ called="#_0vQgcWJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0vaRYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.insert&#xA;"
+ name="Interface.genFeature.override" headerMethod="#_0vaRYmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AUpyFHLZEd-09ds9dfYpFw" initMethod="#_0vaRY2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0vaRZWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Zf0ZAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0vaRYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRYmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0vaRY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRY2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AUpyFHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._AUpyFHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0vaRZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRZWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0vaRcmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRcmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_ZjMdIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ZjexAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ZjxE4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ZkEm4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ZkW6wId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZkqcwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Zk9XsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZlPrkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZlimgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Zl06YId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZmOjAId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZmgP0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Zm0_8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_ZnH64Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Zna10Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZntwwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZoBSwId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Zi5iMId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Zoo90Id1EemTGPCEQmMGWg"
+ called="#_0vaRcmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0vkCYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.TODO.override&#xA;"
+ name="Interface.getGenFeature.override" headerMethod="#_0vkCYmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AWlrxHLZEd-09ds9dfYpFw" initMethod="#_0vkCY2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0vkCZWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ZpXWkId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0vkCYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCYmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0vkCY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCY2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AWlrxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._AWlrxHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0vkCZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCZWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0vkCcmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCcmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_ZsxP4Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ZtGAAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ZtaJEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ZtxVcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ZuE3cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZuegEId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZuypIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZvGLIId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZvZGEId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZvvrYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZwEbgId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZwZysId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Zwt7wId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_ZxDS8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZxafUId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZxvPcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZyDYgId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ZsaqkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Zyp1cId1EemTGPCEQmMGWg"
+ called="#_0vkCcmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0vtMUGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.insert&#xA;"
+ name="Interface.getGenFeature.javadoc.override" headerMethod="#_0vtMUmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AXx-lHLZEd-09ds9dfYpFw" initMethod="#_0vtMU2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0vtMVWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ZzXnIId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0vtMUmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMUmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0vtMU2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMU2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AXx-lHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._AXx-lHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0vtMVWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMVWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0vtMYmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMYmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_Z2sn8Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_Z3AJ8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_Z3Tr8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_Z4R8UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_Z5DYYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Z5WTUId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Z5pOQId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Z57iIId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_Z6QSQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Z6j0QId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Z62IIId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Z7JDEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Z7bW8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_Z7tq0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Z7_-sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Z8SSkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Z8l0kId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Z2ZtAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Z9OGsId1EemTGPCEQmMGWg"
+ called="#_0vtMYmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0wJ4QGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.getGenFeature.javadoc.insert" headerMethod="#_0wJ4QmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AZkHRHLZEd-09ds9dfYpFw" initMethod="#_0wJ4Q2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0wJ4RWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Z974YId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0wJ4QmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4QmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0wJ4Q2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4Q2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AZkHRHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._AZkHRHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0wJ4RWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4RWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0wJ4UmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4UmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_aBT8gId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_aBm3cId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_aB5yYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_aCMtUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_aCfoQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aC0YYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aDH6YId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aDa1UId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_aDtwQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aEB5UId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aEVbUId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aEo9UId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aE9tcId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_aFRPcId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aFkxcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aF3sYId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aGL1cId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_aBBBkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_aGy5cId1EemTGPCEQmMGWg"
+ called="#_0wJ4UmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0wTpQGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.getGenFeature.annotations.insert" headerMethod="#_0wTpQmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AawaFHLZEd-09ds9dfYpFw" initMethod="#_0wTpQ2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0wTpRWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Y5yTwId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0wTpQmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0wTpQ2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQ2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AawaFHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._AawaFHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0wTpRWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpRWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0wTpUmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpUmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_Y9E4UId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_Y9YaUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_Y9rVQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_Y9-QMId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_Y-QkEId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y-lUMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y-4PIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y_MYMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y_esEId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y_yOEId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZAEh8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZAW10Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZAqX0Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_ZA_H8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZBSp8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZBmzAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZB7jIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Y8xWUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ZCiAEId1EemTGPCEQmMGWg"
+ called="#_0wTpUmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0wczMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.getGenFeature.pre.insert" headerMethod="#_0wczMmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_Ab8s5HLZEd-09ds9dfYpFw" initMethod="#_0wczM2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0wczNWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ZDQY0Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0wczMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczMmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0wczM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczM2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Ab8s5HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._Ab8s5HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0wczNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczNWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0wczQmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczQmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_ZG0qMId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ZHHlIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ZHagEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ZHtbAId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ZIAV8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZISp0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZImy4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZI5GwId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZJMBsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZJfjsId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZJx3kId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZKEygId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZKXGYId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_ZKqoYId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZK-xcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZLRFUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZLiyIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ZGghIId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ZMJ2IId1EemTGPCEQmMGWg"
+ called="#_0wczQmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0wmkMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.getGenFeature.TODO.override" headerMethod="#_0wmkMmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AdvcpHLZEd-09ds9dfYpFw" initMethod="#_0wmkM2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0wmkNWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_aHhSMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0wmkMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkMmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0wmkM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkM2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AdvcpHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._AdvcpHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0wmkNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkNWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0wmkQmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkQmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_aK2TAId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_aLJN8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_aLcI4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_aLwR8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_aMDM4Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aMWu4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aMrfAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aNFusId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_aNZQsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aNtZwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aOAUsId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aOTPoId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aOmxoId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_aO6ToId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aPN1oId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aPh-sId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aP0SkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_aKiJ8Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_aQZhYId1EemTGPCEQmMGWg"
+ called="#_0wmkQmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0wwVMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.TODO.override&#xA;"
+ name="Interface.basicGetGenFeature.override" headerMethod="#_0wwVMmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AfhlVHLZEd-09ds9dfYpFw" initMethod="#_0wwVM2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0wwVNWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_aRH6IId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0wwVMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVMmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0wwVM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVM2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AfhlVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._AfhlVHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0wwVNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVNWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0wwVQmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVQmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_aUZ3oId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_aUsLgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_aU_tgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_aVSBYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_aVljYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aV5scId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aWMAUId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aWfiUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_aWzEUId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aXK3wId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aXdysId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aXyi0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aYGE0Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_aYZm0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aYtv4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aZB48Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aZWCAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_aUGVoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_aZ-UIId1EemTGPCEQmMGWg"
+ called="#_0wwVQmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0w5fIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.basicGetGenFeature.annotations.insert" headerMethod="#_0w5fImJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_Ag3pJHLZEd-09ds9dfYpFw" initMethod="#_0w5fI2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0w5fJWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_aauiEId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0w5fImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fImJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0w5fI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fI2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Ag3pJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._Ag3pJHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0w5fJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fJWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0w5fMmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fMmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_aeH0UId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_aedLgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_aewtgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_afEPgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_afd4IId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_afxaIId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_agDuAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_agXQAId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_agsAIId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ahB-YId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ahWugId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ahq3kId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ah_nsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_aiUX0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_aipvAId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ai_GMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ajVEcId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_adzrQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_aj_LwId1EemTGPCEQmMGWg"
+ called="#_0w5fMmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0xDQIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.basicGetGenFeature.pre.insert" headerMethod="#_0xDQImJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_Ah6K9HLZEd-09ds9dfYpFw" initMethod="#_0xDQI2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0xDQJWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_akx18Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0xDQImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQImJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0xDQI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQI2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Ah6K9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._Ah6K9HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0xDQJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQJWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0xDQMmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQMmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_aoWuYId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_aoqQYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ao9yYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_apR7cId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_apmEgId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ap6NkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aqOWoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_aqifsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_aq2owId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_arKKwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_arilQId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ar2uUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_asLecId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_asgOkId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_as0-sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_atJu0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_atgUIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_aoClUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_auJNUId1EemTGPCEQmMGWg"
+ called="#_0xDQMmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0xNBIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.basicGetGenFeature.TODO.override" headerMethod="#_0xNBImJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_Aizi1HLZEd-09ds9dfYpFw" initMethod="#_0xNBI2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0xNBJWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_au5bQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0xNBImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBImJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0xNBI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBI2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Aizi1HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._Aizi1HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0xNBJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBJWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0xNBMmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBMmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_ayfh0Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ayzq4Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_azHM4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_azbV8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_azvfAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_a0E2MId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_a0Y_QId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_a0shQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_a1ADQId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_a1UMUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_a1oVYId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_a18ecId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_a2PZYId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_a2jicId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_a23EcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_a3KmcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_a3eIcId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ayKKoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_a4ElYId1EemTGPCEQmMGWg"
+ called="#_0xNBMmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0xWLEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.TODO.override&#xA;"
+ name="Interface.basicSetGenFeature.override" headerMethod="#_0xWLEmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_Aj_1pHLZEd-09ds9dfYpFw" initMethod="#_0xWLE2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0xWLFWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_a4yXEId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0xWLEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLEmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0xWLE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLE2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Aj_1pHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._Aj_1pHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0xWLFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLFWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0xWLImJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLImJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_a8Gw0Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_a8a54Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_a8vC8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_a9Ck8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_a9WG8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_a9qQAId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_a99K8Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_a-Qs8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_a-jn4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_a-3J4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_a_LS8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_a_gDEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_a_zlEId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_bAHuIId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bAb3MId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bAzDkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bBHzsId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_a7zO0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_bBwF0Id1EemTGPCEQmMGWg"
+ called="#_0xWLImJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0xpGAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.basicSetGenFeature.annotations.insert" headerMethod="#_0xpGAmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AmYbRHLZEd-09ds9dfYpFw" initMethod="#_0xpGA2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0xpGBWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ZM2ZsId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0xpGAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGAmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0xpGA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGA2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AmYbRHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._AmYbRHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0xpGBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGBWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0xpGEmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGEmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_ZQTWUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ZQlqMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ZQ5MMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ZRLgEId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ZRebAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZRx9AId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZSEQ4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZSXy4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZSrU4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZS-24Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZTS_8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZTplQId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZT9uUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_ZUQCMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZUi9IId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZU2fIId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZVJaEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ZQAbYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ZVweEId1EemTGPCEQmMGWg"
+ called="#_0xpGEmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0xy3AGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.basicSetGenFeature.pre.insert" headerMethod="#_0xy3AmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AsC-ZHLZEd-09ds9dfYpFw" initMethod="#_0xy3A2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0xy3BWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_bCfFoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0xy3AmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3AmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0xy3A2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3A2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AsC-ZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._AsC-ZHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0xy3BWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3BWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0xy3EmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3EmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_bF7bMId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_bGOWIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_bGjGQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_bG32YId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_bHN0oId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bHikwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bH4jAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bIPIUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_bIj4cId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bKS90Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bKnt8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bK8eEId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bLPZAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_bLiT8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bL2dAId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bMJ_AId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bMdhAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_bFn5MId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_bNIPYId1EemTGPCEQmMGWg"
+ called="#_0xy3EmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0x8oAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.basicSetGenFeature.post.insert" headerMethod="#_0x8oAmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AtPRNHLZEd-09ds9dfYpFw" initMethod="#_0x8oA2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0x8oBWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_bN65kId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0x8oAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oAmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0x8oA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oA2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AtPRNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._AtPRNHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0x8oBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oBWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0x8oEmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oEmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_bRdVwId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_bRys8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_bSIEIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_bSeCYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_bS0nsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bTJX0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bTevAId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bT0GMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_bUHoMId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bUdmcId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bUyWkId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bVHGsId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bVdE8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_bVwm8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bWEI8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bWYSAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bWsbEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_bRKa0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_bXTfEId1EemTGPCEQmMGWg"
+ called="#_0x8oEmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0x8oFGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.basicSetGenFeature.TODO.override" headerMethod="#_0x8oFmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_Aukt9HLZEd-09ds9dfYpFw" initMethod="#_0x8oF2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0x8oGWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_bYACoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0x8oFmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oFmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0x8oF2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oF2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Aukt9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._Aukt9HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0x8oGWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oGWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0yFx-2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0yFx-2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_bbSAIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_bbjs8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_bb1ZwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_bcIUsId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_bccdwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bcv_wId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bdCToId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bdVOkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_bdm7YId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bd7EcId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_beN_YId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_beg6UId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_be1DYId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_bfHXQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bfbgUId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bfubQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bgAvIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ba_sQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_bgl98Id1EemTGPCEQmMGWg"
+ called="#_0yFx-2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0yPi8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicSetGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicSetGenFeature.post.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.post.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.TODO.override&#xA;"
+ name="Interface.setGenFeature.override" headerMethod="#_0yPi8mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_AvxAxHLZEd-09ds9dfYpFw" initMethod="#_0yPi82J-Ed-FqczH3ESmRw"
+ footerMethod="#_0yPi9WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_bhShgId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0yPi8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi8mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0yPi82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi82J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_AvxAxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._AvxAxHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0yPi9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi9WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0yPjAmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPjAmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_bkniUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_bk7EUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_blOmUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_blg6MId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_bl0cMId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bmHXIId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bmYc4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bmrX0Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_bm-SwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bnSb0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bnlWwId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bn5f0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_boNB0Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_bofVsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bozewId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bpIO4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bpbw4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_bkVOcId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_bqC04Id1EemTGPCEQmMGWg"
+ called="#_0yPjAmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0yZT8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.insert&#xA;"
+ name="Interface.setGenFeature.javadoc.override" headerMethod="#_0yZT8mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BAT-NHLZEd-09ds9dfYpFw" initMethod="#_0yZT82J-Ed-FqczH3ESmRw"
+ footerMethod="#_0yZT9WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_bqybwId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0yZT8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT8mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0yZT82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT82J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BAT-NHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._BAT-NHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0yZT9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT9WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0yZUAmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZUAmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_buLuAId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_bugeIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_bu0nMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_bvIwQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_bvdgYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bvxpcId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bwFLcId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bwZUgId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_bwtdkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bxBmoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_bxUhkId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bxoDkId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bx8MoId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_byQVsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_byj3sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_by3ZsId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_bzKUoId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_bt294Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_bzx_sId1EemTGPCEQmMGWg"
+ called="#_0yZUAmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0yid4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.setGenFeature.javadoc.insert" headerMethod="#_0yid4mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BGamNHLZEd-09ds9dfYpFw" initMethod="#_0yid42J-Ed-FqczH3ESmRw"
+ footerMethod="#_0yid5WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_b0gYcId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0yid4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid4mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0yid42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid42J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BGamNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._BGamNHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0yid5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid5WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0yid8mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid8mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_b4CNkId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_b4WWoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_b4p4oId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_b49aoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_b5QVkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_b5jQgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_b52ygId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_b6K7kId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_b6edkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_b6xYgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_b7GIoId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_b7ZqoId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_b7tzsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_b8BVsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_b8U3sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_b8pAwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_b877sId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_b3tdcId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_b9i_sId1EemTGPCEQmMGWg"
+ called="#_0yid8mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0ysO4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.setGenFeature.annotations.insert" headerMethod="#_0ysO4mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BH6bBHLZEd-09ds9dfYpFw" initMethod="#_0ysO42J-Ed-FqczH3ESmRw"
+ footerMethod="#_0ysO5WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ZWePwId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0ysO4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO4mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0ysO42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO42J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BH6bBHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._BH6bBHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0ysO5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO5WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0ysO8mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO8mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_ZZsi4Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ZaBTAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ZaTm4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_Zamh0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_Za5cwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZbMXsId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZbfSoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZbxmgId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZcEhcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZcXcYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ZcpwQId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Zc8rMId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZdQ0QId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_ZdkWQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Zd34QId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZeKMIId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ZeeVMId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ZZZn8Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ZfGAQId1EemTGPCEQmMGWg"
+ called="#_0ysO8mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0y1Y0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.setGenFeature.pre.insert" headerMethod="#_0y1Y0mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BI881HLZEd-09ds9dfYpFw" initMethod="#_0y1Y02J-Ed-FqczH3ESmRw"
+ footerMethod="#_0y1Y1WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_b-SmkId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0y1Y0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y0mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0y1Y02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y02J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BI881HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._BI881HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0y1Y1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y1WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0y1Y42J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y42J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_cBzNkId1EemTGPCEQmMGWg" name="setAccessorOperation"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_cCGvkId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_cCa4oId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_cCw24Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_cDE_8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_cDcMUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cDw8cId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cEFFgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cEacsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_cEt-sId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cFCHwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cFW34Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cFrA8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cF_KAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_cGSsAId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cGmOAId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cG5wAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cHN5EId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_cBedcId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_cH09EId1EemTGPCEQmMGWg"
+ called="#_0y1Y42J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0y_J0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.setGenFeature.post.insert" headerMethod="#_0y_J0mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BKJPpHLZEd-09ds9dfYpFw" initMethod="#_0y_J02J-Ed-FqczH3ESmRw"
+ footerMethod="#_0y_J1WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ceNcwId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0y_J0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J0mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0y_J02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J02J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BKJPpHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._BKJPpHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0y_J1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J1WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0y_J42J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J42J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_chpyUId1EemTGPCEQmMGWg" name="setAccessorOperation"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_ch97YId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ciRdYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_cim0kId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ci6WkId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_cjOfoId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cjiBoId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cj2xwId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ckKTwId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_ckd1wId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ckxXwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_clE5wId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_clYbwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_clr9wId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_cl_fwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cmSasId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cmmjwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cm7T4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_chWQUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_cnjmAId1EemTGPCEQmMGWg"
+ called="#_0y_J42J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0y_J5WJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.setGenFeature.TODO.override" headerMethod="#_0y_J52J-Ed-FqczH3ESmRw"
+ conditionMethod="#_BQGttHLZEd-09ds9dfYpFw" initMethod="#_0y_J6GJ-Ed-FqczH3ESmRw"
+ footerMethod="#_0zI60GJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_coRXsId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0y_J52J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J52J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0y_J6GJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J6GJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BQGttHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._BQGttHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0zI60GJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI60GJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0zI63mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI63mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_cr3eQId1EemTGPCEQmMGWg" name="setAccessorOperation"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_csNcgId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_csiMoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_cs1uoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ctJQoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_cten0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ctyJ0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cuG58Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cuab8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_cuulAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cvDVIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cvW3IId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cvrAMId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cv-iMId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_cwVukId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cwqesId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cxDgQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cxXCQId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_crjVMId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_cyAigId1EemTGPCEQmMGWg"
+ called="#_0zI63mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0zSEwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.TODO.override&#xA;"
+ name="Interface.basicUnsetGenFeature.override" headerMethod="#_0zSEwmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BR5ddHLZEd-09ds9dfYpFw" initMethod="#_0zSEw2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0zSExWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_cyuUMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0zSEwmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEwmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0zSEw2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEw2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BR5ddHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._BR5ddHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0zSExWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSExWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0zSE0mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSE0mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_c2EjIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_c2YsMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_c2s1QId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_c3A-UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_c3UgUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_c3opYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_c38ycId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_c4Q7gId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_c4kdgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_c45NoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_c5NWsId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_c5g4sId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_c5zzoId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_c6H8sId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_c6cs0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_c6vnwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_c7Dw0Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_c1xBIId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_c7qNwId1EemTGPCEQmMGWg"
+ called="#_0zSE0mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0zb1wGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.basicUnsetGenFeature.annotations.insert" headerMethod="#_0zb1wmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BS7_RHLZEd-09ds9dfYpFw" initMethod="#_0zb1w2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0zb1xWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_c8Z0oId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0zb1wmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1wmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0zb1w2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1w2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BS7_RHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._BS7_RHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0zb1xWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1xWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0zb10mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb10mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_c_2KMId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_dAJsMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_dAhfoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_dA1BoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_dBJKsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dBd60Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dBw1wId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dCE-0Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_dCaWAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dCufEId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dDDPMId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dDWxMId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dDsIYId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_dEARcId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dEUagId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dEojkId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dE8FkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_c_iBIId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_dFjwoId1EemTGPCEQmMGWg"
+ called="#_0zb10mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0zlmwGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.basicUnsetGenFeature.TODO.override" headerMethod="#_0zlmwmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BUISFHLZEd-09ds9dfYpFw" initMethod="#_0zlmw2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0zlmxWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_dGQUMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0zlmwmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmwmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0zlmw2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmw2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BUISFHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._BUISFHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0zlmxWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmxWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0zlm0mJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlm0mJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_dJhqoId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_dJ0lkId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_dKIHkId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_dKcQoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_dKvLkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dLDUoId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dLXdsId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dLq_sId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_dL_IwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dMTR0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dMmz0Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dM7j8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dNPtAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_dNjPAId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dN5NQId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dOOkcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dOjUkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_dJPWwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_dPM00Id1EemTGPCEQmMGWg"
+ called="#_0zlm0mJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0z4hsGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.TODO.override&#xA;"
+ name="Interface.unsetGenFeature.override" headerMethod="#_0z4hsmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BVnf1HLZEd-09ds9dfYpFw" initMethod="#_0z4hs2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0z4htWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_dP-Q4Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0z4hsmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hsmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0z4hs2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hs2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BVnf1HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._BVnf1HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0z4htWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4htWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0z4hwmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hwmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_dTfe8Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_dT0PEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_dUIYIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_dUchMId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_dUwDMId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dVGBcId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dVZjcId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dVtFcId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_dWDqwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dWXMwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dWrV0Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dXAF8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dXUPAId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_dXo_IId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dX8hIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dYR4UId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dYmBYId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_dTLV4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_dZOTgId1EemTGPCEQmMGWg"
+ called="#_0z4hwmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_00BroGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.insert&#xA;"
+ name="Interface.unsetGenFeature.javadoc.override" headerMethod="#_00BromJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BW9jpHLZEd-09ds9dfYpFw" initMethod="#_00Bro2J-Ed-FqczH3ESmRw"
+ footerMethod="#_00BrpWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_dZ8sQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_00BromJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BromJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00Bro2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00Bro2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BW9jpHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._BW9jpHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_00BrpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrpWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00BrsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrsmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_ddcFIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ddwOMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_deDwMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_deX5QId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_derbQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dfAycId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dfU7gId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dfodgId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_df8mkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dgPhgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dgjqkId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dg3MkId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dhQOIId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_dhllUId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dh6VcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_diN3cId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_digyYId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ddHVAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_djJEgId1EemTGPCEQmMGWg"
+ called="#_00BrsmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_00LcoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.unsetGenFeature.javadoc.insert" headerMethod="#_00LcomJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BX27hHLZEd-09ds9dfYpFw" initMethod="#_00Lco2J-Ed-FqczH3ESmRw"
+ footerMethod="#_00LcpWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_dj4EUId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_00LcomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcomJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00Lco2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00Lco2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BX27hHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._BX27hHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_00LcpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcpWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00LcsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcsmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_doWUoId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_dopPkId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_do-mwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_dpSIwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_dplDsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dp5MwId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dqMuwId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dqg30Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_dq0Z0Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_drIi4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_drehIId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dryDIId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dsGzQId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_dsaVQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dsvFYId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dtCnYId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_dtX-kId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_doCyoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_dt_poId1EemTGPCEQmMGWg"
+ called="#_00LcsmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_00VNoGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.unsetGenFeature.annotations.insert" headerMethod="#_00VNomJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BY5dVHLZEd-09ds9dfYpFw" initMethod="#_00VNo2J-Ed-FqczH3ESmRw"
+ footerMethod="#_00VNpWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_duuCYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_00VNomJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNomJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00VNo2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNo2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BY5dVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._BY5dVHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_00VNpWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNpWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00VNsmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNsmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_dyMNIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_dyfvIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_dy0fQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_dzIBQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_dza8MId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_dzvFQId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_d0DOUId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_d0WwUId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_d0sHgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_d0_pgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_d1TLgId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_d1mGcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_d15ocId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_d2MjYId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_d2gFYId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_d20OcId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_d3HwcId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_dx4rIId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_d3vbgId1EemTGPCEQmMGWg"
+ called="#_00VNsmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_00eXkGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.unsetGenFeature.TODO.override" headerMethod="#_00eXkmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BZy1NHLZEd-09ds9dfYpFw" initMethod="#_00eXk2J-Ed-FqczH3ESmRw"
+ footerMethod="#_00eXlWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_d4dNMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_00eXkmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXkmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00eXk2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXk2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BZy1NHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._BZy1NHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_00eXlWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXlWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00eXomJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXomJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_d77_AId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_d8QIEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_d8kRIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_d83zIId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_d9LVIId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_d9feMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_d9znQId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_d-HJQId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_d-cgcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_d-wCcId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_d_ELgId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_d_ZisId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_d_u54Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_eADC8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eAV94Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eApf4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eA9B4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_d7odAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_eBkF4Id1EemTGPCEQmMGWg"
+ called="#_00eXomJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_00oIkGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.TODO.override&#xA;"
+ name="Interface.isSetGenFeature.override" headerMethod="#_00oIkmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BaPhJHLZEd-09ds9dfYpFw" initMethod="#_00oIk2J-Ed-FqczH3ESmRw"
+ footerMethod="#_00oIlWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_eCTFsId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_00oIkmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIkmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00oIk2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIk2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BaPhJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._BaPhJHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_00oIlWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIlWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00oIomJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIomJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_eFtmEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_eGBvIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_eGV4MId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_eGqoUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_eG-KUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eHS6cId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eHnDgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eH7MkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_eIPVoId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eIi3oId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eI3AsId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eJLJwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eJeEsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_eJy00Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eKGW0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eKZRwId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eKrloId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_eFaEEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_eLT3wId1EemTGPCEQmMGWg"
+ called="#_00oIomJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_00x5kGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.insert&#xA;"
+ name="Interface.isSetGenFeature.javadoc.override" headerMethod="#_00x5kmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BbSC9HLZEd-09ds9dfYpFw" initMethod="#_00x5k2J-Ed-FqczH3ESmRw"
+ footerMethod="#_00x5lWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_eMBCYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_00x5kmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5kmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00x5k2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5k2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BbSC9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._BbSC9HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_00x5lWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5lWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_00x5omJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5omJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_ePcw4Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ePyIEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_eQGRIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_eQbBQId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_eQvxYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eRIy8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eReKIId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eRy6QId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_eSJfkId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eSfd0Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eS0N8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eTJlIId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eTdHIId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_eTyeUId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eUGAUId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eUZiUId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eUuScId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ePHZsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_eVXLoId1EemTGPCEQmMGWg"
+ called="#_00x5omJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_01N-cGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.isSetGenFeature.javadoc.insert" headerMethod="#_01N-cmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BcoGxHLZEd-09ds9dfYpFw" initMethod="#_01N-c2J-Ed-FqczH3ESmRw"
+ footerMethod="#_01N-dWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_eWGygId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_01N-cmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-cmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_01N-c2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-c2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BcoGxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._BcoGxHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_01N-dWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-dWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_01N-gmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-gmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_eZmLYId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_eZ5tYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_eaOdgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_eaj0sId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ea39wId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ebMt4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ebgP4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eb2OIId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_ecMzcId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_eciKoId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ec1soId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_edKcwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_edfM4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_edyu4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eeHfAId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eeZy4Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eetU4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_eZSCUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_efTx0Id1EemTGPCEQmMGWg"
+ called="#_01N-gmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_01hgcGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.isSetGenFeature.annotations.insert" headerMethod="#_01hgcmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_Bd9jhHLZEd-09ds9dfYpFw" initMethod="#_01hgc2J-Ed-FqczH3ESmRw"
+ footerMethod="#_01hgdWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_egJfUId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_01hgcmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgcmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_01hgc2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgc2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Bd9jhHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._Bd9jhHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_01hgdWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgdWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_01hggmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hggmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_ejj_sId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ej4IwId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_ekLqwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_ekfz0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ekyuwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_elHe4Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_elbA4Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_elvJ8Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_emDTAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_emWN8Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_empv8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_em95AId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_enUeUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_enpOcId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_en8wcId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eoPrYId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eoimUId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ejREwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_epKRYId1EemTGPCEQmMGWg"
+ called="#_01hggmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_01qqYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.isSetGenFeature.TODO.override" headerMethod="#_01qqYmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BfAsZHLZEd-09ds9dfYpFw" initMethod="#_01qqY2J-Ed-FqczH3ESmRw"
+ footerMethod="#_01qqZWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_ep5RMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_01qqYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqYmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_01qqY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqY2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BfAsZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._BfAsZHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_01qqZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqZWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_01qqcmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqcmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_etYqEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_etszIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_euA8MId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_euVsUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_eupOUId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ewHN8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ewb-EId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ewu5AId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_exDpIId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_exXLIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_expfAId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ex-PIId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_eyTmUId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_eyrZwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ezDNMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ezWvMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ezq4QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_etEhAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_e0UYgId1EemTGPCEQmMGWg"
+ called="#_01qqcmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_010bYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.genFeature.insert" headerMethod="#_010bYmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BgWJJHLZEd-09ds9dfYpFw" initMethod="#_010bY2J-Ed-FqczH3ESmRw"
+ footerMethod="#_010bZWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_e1D_YId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_010bYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bYmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_010bY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bY2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BgWJJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._BgWJJHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_010bZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bZWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_010bcmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bcmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_e5AEMId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_e5S_IId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_e5l6EId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_e58fYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_e6QBYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_e6kxgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_e646kId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_e7MckId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_e7f-kId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_e7zgkId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_e8I3wId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_e8dA0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_e8v7wId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_e9Er4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_e9YN4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_e9s-AId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_e-AgAId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_e4r7IId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_e-oLEId1EemTGPCEQmMGWg"
+ called="#_010bcmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_01-MYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.implementedGenOperation.TODO.override&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.insert&#xA;"
+ name="Interface.genOperation.override" headerMethod="#_01-MYmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BiI45HLZEd-09ds9dfYpFw" initMethod="#_01-MY2J-Ed-FqczH3ESmRw"
+ footerMethod="#_01-MZWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_e_XK4Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_01-MYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MYmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_01-MY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MY2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BiI45HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._BiI45HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_01-MZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MZWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_01-McmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-McmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_fCy5YId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_fDGbYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_fDakcId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_fDuGcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_fEBocId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fEWYkId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fEsW0Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fFAf4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_fFUB4Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fFnj4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fF6e0Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fGOn4Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fGiJ4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_fG26AId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fHLqIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fHgaQId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fHz8QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_fCewUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_fIc1cId1EemTGPCEQmMGWg"
+ called="#_01-McmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_02HWUGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.insert&#xA;"
+ name="Interface.genOperation.javadoc.override" headerMethod="#_02HWUmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_Bjx3pHLZEd-09ds9dfYpFw" initMethod="#_02HWU2J-Ed-FqczH3ESmRw"
+ footerMethod="#_02HWVWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_fJKnIId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_02HWUmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWUmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_02HWU2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWU2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Bjx3pHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._Bjx3pHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_02HWVWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWVWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_02HWYmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWYmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_fMm8sId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_fM7s0Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_fNPO0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_fNjX4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_fN254Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fOLC8Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fOd94Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fOxf4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_fPDzwId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fPZyAId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fPtUAId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fQA2AId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fQTw8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_fQn6AId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fQ8qIId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fRQzMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fRk8QId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_fMSMkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_fSMnUId1EemTGPCEQmMGWg"
+ called="#_02HWYmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_02kCQGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.genOperation.javadoc.insert" headerMethod="#_02kCQmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BlkAVHLZEd-09ds9dfYpFw" initMethod="#_02kCQ2J-Ed-FqczH3ESmRw"
+ footerMethod="#_02kCRWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_fS6ZAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_02kCQmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_02kCQ2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQ2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BlkAVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._BlkAVHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_02kCRWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCRWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_02kCUmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCUmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_fWhtsId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_fW1PsId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_fXJYwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_fXeI4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_fXy5AId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fYLTgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fYe1gId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fY0MsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_fZI80Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fZds8Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fZxO8Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_faFYAId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_faZhEId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_fau4QId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fbE2gId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fbY_kId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fbuWwId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_fWM9kId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_fcaTQId1EemTGPCEQmMGWg"
+ called="#_02kCUmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_02tzQGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.genOperation.annotations.insert" headerMethod="#_02tzQmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BnDOFHLZEd-09ds9dfYpFw" initMethod="#_02tzQ2J-Ed-FqczH3ESmRw"
+ footerMethod="#_02tzRWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_fdLvUId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_02tzQmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_02tzQ2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQ2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BnDOFHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._BnDOFHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_02tzRWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzRWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_02tzUmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzUmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_fgtkcId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_fhC7oId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_fhXEsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_fhr00Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_fh_94Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fiWjMId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fitIgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fjEU4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_fjZsEId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fjucMId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fkDMUId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fkWuUId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fksskId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_flA1oId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_flU-sId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_flpu0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fl-e8Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_fgY0UId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_fmpNUId1EemTGPCEQmMGWg"
+ called="#_02tzUmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0229MGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.implementedGenOperation.TODO.override" headerMethod="#_0229MmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_Bn8l9HLZEd-09ds9dfYpFw" initMethod="#_0229M2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0229NWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_fnapYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0229MmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229MmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0229M2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229M2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Bn8l9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._Bn8l9HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0229NWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229NWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0229QmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229QmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_frAv8Id1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_frVgEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_frq3QId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_fr_nYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_fsUXgId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fspHoId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fs8poId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ftQysId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_ftkUsId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ft4dwId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_fuMm0Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fufhwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fuzDwId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_fvGlwId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fvau0Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fvuQ0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_fwDA8Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_fqsm4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_fwr6IId1EemTGPCEQmMGWg"
+ called="#_0229QmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_03AuMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.genOperation.insert" headerMethod="#_03AuMmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BpSpxHLZEd-09ds9dfYpFw" initMethod="#_03AuM2J-Ed-FqczH3ESmRw"
+ footerMethod="#_03AuNWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_fxd9QId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_03AuMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuMmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03AuM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuM2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BpSpxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._BpSpxHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_03AuNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuNWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03AuQmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuQmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_f02ocId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_f1N00Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_f1hW0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_f12G8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_f2KQAId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_f2eZEId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_f2zJMId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_f3GrMId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_f3a0QId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_f3wLcId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_f4DtcId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_f5epwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_f5zZ4Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_f6Hi8Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_f6bsAId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_f6wcIId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_f7FzUId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_f0ifYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_f7s3UId1EemTGPCEQmMGWg"
+ called="#_03AuQmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_03KfMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.eUnset.override" headerMethod="#_03KfMmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BqoGhHLZEd-09ds9dfYpFw" initMethod="#_03KfM2J-Ed-FqczH3ESmRw"
+ footerMethod="#_03KfNWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_f8uyEId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_03KfMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfMmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03KfM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfM2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BqoGhHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._BqoGhHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_03KfNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfNWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03KfQWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfQWJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_gAFoEId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_gAZxIId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_gAssEId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_gA-_8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gBTJAId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gBnSEId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gB6NAId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_gCNvAId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gCifIId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gC6SkId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gDOboId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gDh9oId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_gD2GsId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gEK20Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gEgOAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gE0XEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_f_wQ4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_gFdQQId1EemTGPCEQmMGWg"
+ called="#_03KfQWJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_03TpIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.eIsSet.override" headerMethod="#_03TpImJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BsH7VHLZEd-09ds9dfYpFw" initMethod="#_03TpI2J-Ed-FqczH3ESmRw"
+ footerMethod="#_03TpJWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_gGM3IId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_03TpImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpImJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03TpI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpI2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BsH7VHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._BsH7VHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_03TpJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpJWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03TpMWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpMWJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_gJsQAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_gKAZEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_gKVJMId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_gKp5UId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gK-CYId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gLSLcId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gLm7kId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_gL7EoId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gMPNsId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gMivsId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gM2RsId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gNJzsId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_gNd8wId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gNys4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gOFn0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gOZJ0Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_gJYG8Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_gPBb8Id1EemTGPCEQmMGWg"
+ called="#_03TpMWJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_03daIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.insert" headerMethod="#_03daImJ-Ed-FqczH3ESmRw" conditionMethod="#_BtAsJHLZEd-09ds9dfYpFw"
+ initMethod="#_03daI2J-Ed-FqczH3ESmRw" footerMethod="#_03daJWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_gPxp4Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_03daImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daImJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03daI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daI2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BtAsJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._BtAsJHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_03daJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daJWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03daMWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daMWJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_gTV7QId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_gTqEUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_gT9mUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_gUSWcId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gUmfgId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gU7PoId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gVPYsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_gVi6sId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gV2csId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_gWLM0Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gWeHwId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gWxpwId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_gXGZ4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gXai8Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gXusAId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_gYDcIId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_gTByMId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_gYruQId1EemTGPCEQmMGWg"
+ called="#_03daMWJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_K9da0HroEeC0XN9kbwkPYQ" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.egfCustom.constructor.override" headerMethod="#_K9da0nroEeC0XN9kbwkPYQ"
+ conditionMethod="#_K9da1HroEeC0XN9kbwkPYQ" initMethod="#_K9da03roEeC0XN9kbwkPYQ"
+ footerMethod="#_K9da1nroEeC0XN9kbwkPYQ">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_YTcsgId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_K9da0nroEeC0XN9kbwkPYQ" name="header" patternFilePath="templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da0nroEeC0XN9kbwkPYQ.pt"/>
+ <methods xmi:id="_K9da03roEeC0XN9kbwkPYQ" name="init" patternFilePath="templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da03roEeC0XN9kbwkPYQ.pt"/>
+ <methods xmi:id="_K9da1HroEeC0XN9kbwkPYQ" name="preCondition" patternFilePath="templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1HroEeC0XN9kbwkPYQ.pt"/>
+ <methods xmi:id="_K9da1nroEeC0XN9kbwkPYQ" name="footer" patternFilePath="templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1nroEeC0XN9kbwkPYQ.pt"/>
+ <methods xmi:id="_K9da4XroEeC0XN9kbwkPYQ" name="doGenerate" patternFilePath="templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da4XroEeC0XN9kbwkPYQ.pt"/>
+ <parameters xmi:id="_YWq_oId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_YW_vwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_YXTRwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_YXmMsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YX5HoId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YYLbgId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YYeWcId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_YYyfgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YZEzYId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YZWgMId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YZo0EId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YZ7H8Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_YaNb0Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YafvsId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YayqoId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YbE-gId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_YWXdoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Ybq0YId1EemTGPCEQmMGWg"
+ called="#_K9da4XroEeC0XN9kbwkPYQ"/>
+ </elements>
+ <elements xmi:id="_BsLUkeXDEeCxnsoQRwU99Q" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.interface.javadoc.override" headerMethod="#_BsLUk-XDEeCxnsoQRwU99Q"
+ conditionMethod="#_BsVFkeXDEeCxnsoQRwU99Q" initMethod="#_BsVFkOXDEeCxnsoQRwU99Q"
+ footerMethod="#_BsVFk-XDEeCxnsoQRwU99Q">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_X3fwUId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_BsLUk-XDEeCxnsoQRwU99Q" name="header" patternFilePath="templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsLUk-XDEeCxnsoQRwU99Q.pt"/>
+ <methods xmi:id="_BsVFkOXDEeCxnsoQRwU99Q" name="init" patternFilePath="templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkOXDEeCxnsoQRwU99Q.pt"/>
+ <methods xmi:id="_BsVFkeXDEeCxnsoQRwU99Q" name="preCondition" patternFilePath="templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkeXDEeCxnsoQRwU99Q.pt"/>
+ <methods xmi:id="_BsVFk-XDEeCxnsoQRwU99Q" name="footer" patternFilePath="templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFk-XDEeCxnsoQRwU99Q.pt"/>
+ <methods xmi:id="_BsVFouXDEeCxnsoQRwU99Q" name="doGenerate" patternFilePath="templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFouXDEeCxnsoQRwU99Q.pt"/>
+ <parameters xmi:id="_X6xGwId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_X7EBsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_X7W8oId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_X7s64Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_X7_10Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_X8SwwId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_X8lrsId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_X84moId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_X9PzAId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_X9jVAId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_X92P8Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_X-Ij0Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_X-a3sId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_X-uZsId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_X_B7sId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_X_UPkId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_X6eL0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_X_5eYId1EemTGPCEQmMGWg"
+ called="#_BsVFouXDEeCxnsoQRwU99Q"/>
+ </elements>
+ <elements xmi:id="_onysQLM-EeKd56X4hcZPSw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert&#xA;"
+ name="Interface.genFeatureReified.override" headerMethod="#_onysQrM-EeKd56X4hcZPSw"
+ conditionMethod="#_onysRLM-EeKd56X4hcZPSw" initMethod="#_onysQ7M-EeKd56X4hcZPSw"
+ footerMethod="#_onysRrM-EeKd56X4hcZPSw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_YvfIQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_onysQrM-EeKd56X4hcZPSw" name="header" patternFilePath="templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQrM-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_onysQ7M-EeKd56X4hcZPSw" name="init" patternFilePath="templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQ7M-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_onysRLM-EeKd56X4hcZPSw" name="preCondition" patternFilePath="templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRLM-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_onysRrM-EeKd56X4hcZPSw" name="footer" patternFilePath="templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRrM-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_onysWLM-EeKd56X4hcZPSw" name="doGenerate" patternFilePath="templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysWLM-EeKd56X4hcZPSw.pt"/>
+ <parameters xmi:id="_Yy7d0Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_YzOYwId1EemTGPCEQmMGWg" name="classExtendsGenClass"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_YzgsoId1EemTGPCEQmMGWg" name="classExtendsAllGenFeatures"
+ type="java.util.List"/>
+ <parameters xmi:id="_Yz1cwId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_Y0HwoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_Y0aEgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_Y0s_cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y0_6YId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y1RnMId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y1j7EId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y122AId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y2NbUId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Y2lOwId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Y25X0Id1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Y3M50Id1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_Y3hC4Id1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Y30k4Id1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Y4Hf0Id1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Y4bo4Id1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Yyn70Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Y5CF0Id1EemTGPCEQmMGWg"
+ called="#_onysWLM-EeKd56X4hcZPSw"/>
+ </elements>
+ <elements xmi:id="_cAErkCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.dynamicDelegation" headerMethod="#_cAhXgCSWEemxeP6B0lLOpA"
+ conditionMethod="#_cBQ-YCSWEemxeP6B0lLOpA" initMethod="#_cA-DcCSWEemxeP6B0lLOpA"
+ footerMethod="#_cB3bUCSWEemxeP6B0lLOpA">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_YcX_AId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_cAhXgCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cAhXgCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_cA-DcCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cA-DcCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_cBQ-YCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cBQ-YCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_cB3bUCSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cB3bUCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_cFSiwCSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cFSiwCSWEemxeP6B0lLOpA.pt"/>
+ <parameters xmi:id="_YfouYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_Yf83cId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_YgPyYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_YgiGQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Yg1oQId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YhH8IId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_Yha3EId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_YhtK8Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YiAF4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_YiTn4Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YjwZYId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YkCtQId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_YkVoMId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YkpKMId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_Yk8sMId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_YlPAEId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_YfXBkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_YlyZsId1EemTGPCEQmMGWg"
+ called="#_cFSiwCSWEemxeP6B0lLOpA"/>
+ </elements>
+ <elements xmi:id="_eTdDcCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.dynamicSetGenFeature.pre.insert" headerMethod="#_eT5vYCSWEemxeP6B0lLOpA"
+ conditionMethod="#_eUpWQCSWEemxeP6B0lLOpA" initMethod="#_eUMqUCSWEemxeP6B0lLOpA"
+ footerMethod="#_eVPMICSWEemxeP6B0lLOpA">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_cIjV0Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_eT5vYCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eT5vYCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_eUMqUCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUMqUCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_eUpWQCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUpWQCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_eVPMICSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eVPMICSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_eY91kCSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eY91kCSWEemxeP6B0lLOpA.pt"/>
+ <parameters xmi:id="_cMDVwId1EemTGPCEQmMGWg" name="setAccessorOperation"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_cMW3wId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_cMpLoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_cM9UsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_cNQPoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_cNkYsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cN3ToId1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cOK1oId1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cOdwkId1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_cOwrgId1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cPENgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cPXvgId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cPqqcId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cP8-UId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_cQRucId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cQl3gId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cQ5ZgId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cRLtYId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_cLvzwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_cRzYcId1EemTGPCEQmMGWg"
+ called="#_eY91kCSWEemxeP6B0lLOpA"/>
+ </elements>
+ <elements xmi:id="_eZahgCSWEemxeP6B0lLOpA" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/Class.javajet&quot;&#xA;"
+ name="Interface.dynamicSetGenFeature.post.insert" headerMethod="#_eZ3NcCSWEemxeP6B0lLOpA"
+ conditionMethod="#_eam0UCSWEemxeP6B0lLOpA" initMethod="#_eaTSUCSWEemxeP6B0lLOpA"
+ footerMethod="#_ebMqMCSWEemxeP6B0lLOpA">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_cSiYQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_eZ3NcCSWEemxeP6B0lLOpA" name="header" patternFilePath="templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eZ3NcCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_eaTSUCSWEemxeP6B0lLOpA" name="init" patternFilePath="templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eaTSUCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_eam0UCSWEemxeP6B0lLOpA" name="preCondition" patternFilePath="templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eam0UCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_ebMqMCSWEemxeP6B0lLOpA" name="footer" patternFilePath="templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._ebMqMCSWEemxeP6B0lLOpA.pt"/>
+ <methods xmi:id="_efOOkCSWEemxeP6B0lLOpA" name="doGenerate" patternFilePath="templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._efOOkCSWEemxeP6B0lLOpA.pt"/>
+ <parameters xmi:id="_cWJF4Id1EemTGPCEQmMGWg" name="setAccessorOperation"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_cWd2AId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_cWymIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_cXGvMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_cXa4QId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_cXuaQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cZVj0Id1EemTGPCEQmMGWg" name="isInterface" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cZpF0Id1EemTGPCEQmMGWg" name="isImplementation" type="java.lang.Boolean"/>
+ <parameters xmi:id="_cZ9O4Id1EemTGPCEQmMGWg" name="useInterfaceOverrideAnnotation"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_caRX8Id1EemTGPCEQmMGWg" name="isGWT" type="java.lang.Boolean"/>
+ <parameters xmi:id="_calhAId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_ca5DAId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cbOaMId1EemTGPCEQmMGWg" name="publicStaticFinalFlag"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cbh8MId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_cb2FQId1EemTGPCEQmMGWg" name="negativeOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_ccK1YId1EemTGPCEQmMGWg" name="positiveOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cceXYId1EemTGPCEQmMGWg" name="negativeOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <parameters xmi:id="_cczHgId1EemTGPCEQmMGWg" name="positiveOperationOffsetCorrection"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_cVzHoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_cddO0Id1EemTGPCEQmMGWg"
+ called="#_efOOkCSWEemxeP6B0lLOpA"/>
+ </elements>
+ </libraries>
+ <libraries xmi:id="_omcocLM-EeKd56X4hcZPSw" name="org.eclipse.egf.emf.pattern.model.call.ValidatorClass">
+ <elements xmi:id="_omcocbM-EeKd56X4hcZPSw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model/ValidatorClass.javajet&quot;&#xA;"
+ name="ValidatorClass.insert" headerMethod="#_omcoc7M-EeKd56X4hcZPSw"
+ conditionMethod="#_omcodbM-EeKd56X4hcZPSw" initMethod="#_omcodLM-EeKd56X4hcZPSw"
+ footerMethod="#_omcod7M-EeKd56X4hcZPSw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_gZtpAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_omcoc7M-EeKd56X4hcZPSw" name="header" patternFilePath="templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcoc7M-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_omcodLM-EeKd56X4hcZPSw" name="init" patternFilePath="templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodLM-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_omcodbM-EeKd56X4hcZPSw" name="preCondition" patternFilePath="templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodbM-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_omcod7M-EeKd56X4hcZPSw" name="footer" patternFilePath="templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcod7M-EeKd56X4hcZPSw.pt"/>
+ <methods xmi:id="_omcof7M-EeKd56X4hcZPSw" name="doGenerate" patternFilePath="templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcof7M-EeKd56X4hcZPSw.pt"/>
+ <parameters xmi:id="_gdYBAId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_gdvNYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_geEkkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_geYGkId1EemTGPCEQmMGWg" name="singleWildcard" type="java.lang.String"/>
+ <parameters xmi:id="_gerokId1EemTGPCEQmMGWg" name="_Map" type="java.lang.String"/>
+ <parameters xmi:id="_ge-jgId1EemTGPCEQmMGWg" name="objectArgument" type="java.lang.String"/>
+ <parameters xmi:id="_gfSFgId1EemTGPCEQmMGWg" name="count" type="java.lang.Integer"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_gdD38Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_gf37YId1EemTGPCEQmMGWg"
+ called="#_omcof7M-EeKd56X4hcZPSw"/>
+ </elements>
+ </libraries>
+ </viewpoints>
+ </viewpointContainer>
+ <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Prg8YDG0Ed-kc8dEZsdm2w">
+ <invocations xmi:id="_tLstwId1EemTGPCEQmMGWg" name="EMF Model Pattern" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_jT-SgD1hEd-m5uHrCQ1Jew">
+ <invocationContractContainer xmi:id="_tMZ4YId1EemTGPCEQmMGWg">
+ <invocationContracts xmi:id="_tNEmwId1EemTGPCEQmMGWg" factoryComponentContract="#_Prg8ZTG0Ed-kc8dEZsdm2w"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg"/>
+ <invocationContracts xmi:id="_tO0TMId1EemTGPCEQmMGWg" factoryComponentContract="#_WRxYEFIIEd-eGOdO3WtsxA"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">
+ <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tPJqYId1EemTGPCEQmMGWg"
+ value="org.eclipse.egf.emf.pattern.base.ContentTypePatternExecutionReporter"/>
+ </invocationContracts>
+ <invocationContracts xmi:id="_tQPPgId1EemTGPCEQmMGWg" factoryComponentContract="#_TxwAHVkTEd-bv5aydwO2Qw"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+ <type xmi:type="pattern:TypePatternList" xmi:id="_tQl00Id1EemTGPCEQmMGWg"
+ elements="#_Pcm9szG0Ed-kc8dEZsdm2w"/>
+ </invocationContracts>
+ <invocationContracts xmi:id="_tRl6YId1EemTGPCEQmMGWg" factoryComponentContract="#_OVsagFHVEd-dr9AWwNwIMQ"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_NFhJ4UMgEd-Ixul1H5ANhg"/>
+ <invocationContracts xmi:id="_tS-acId1EemTGPCEQmMGWg" factoryComponentContract="#_RcQCMPI7Ed-Pp8S8RvVOuQ"
+ invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_JWI2sPI7Ed-Pp8S8RvVOuQ"/>
+ <invocationContracts xmi:id="_tUW6gId1EemTGPCEQmMGWg" factoryComponentContract="#_sluXsVLLEd-ZSLMRjxSbVQ"
+ invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_vtlEAFLMEd-ZSLMRjxSbVQ"/>
+ </invocationContractContainer>
+ </invocations>
+ </orchestration>
+ </fcore:FactoryComponent>
+ <fcore:FactoryComponent xmi:id="_PiIW4DG0Ed-kc8dEZsdm2w" name="EMF Edit Pattern">
+ <contractContainer xmi:id="_Prg8bzG0Ed-kc8dEZsdm2w">
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Prg8cDG0Ed-kc8dEZsdm2w"
+ description="EMF Edit Pattern" name="genModel" mandatory="true" invocationContracts="#_tXP2cId1EemTGPCEQmMGWg">
+ <type xmi:type="domain:TypeDomain" xmi:id="_tYIAMId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_jzYi8FIIEd-eGOdO3WtsxA"
+ description="EMF Edit Pattern" name="pattern.execution.reporter" invocationContracts="#_tYwSUId1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tZWIMId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Tx5xHVkTEd-bv5aydwO2Qw"
+ description="EMF Edit Pattern" name="pattern.ids" invocationContracts="#_tZ_BYId1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternList" xmi:id="_tanTgId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_UCnhEFHVEd-dr9AWwNwIMQ"
+ description="EMF Edit Pattern" name="pattern.substitutions" invocationContracts="#_tcMn4Id1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternSubstitution" xmi:id="_tc1hEId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_dgkvsPI7Ed-Pp8S8RvVOuQ"
+ description="EMF Edit Pattern" name="usedGenPackages" invocationContracts="#_tdbW8Id1EemTGPCEQmMGWg">
+ <type xmi:type="domain:TypeGenPackages" xmi:id="_teBz4Id1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_9wHxsFLMEd-ZSLMRjxSbVQ"
+ description="EMF Edit Pattern" name="mergeRulesURI" invocationContracts="#_tenpwId1EemTGPCEQmMGWg">
+ <type xmi:type="types:TypeURI" xmi:id="_tfPU0Id1EemTGPCEQmMGWg"/>
+ </contracts>
+ </contractContainer>
+ <viewpointContainer xmi:id="_PiIW4TG0Ed-kc8dEZsdm2w">
+ <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_PiIW4jG0Ed-kc8dEZsdm2w">
+ <libraries xmi:id="_PiIW4zG0Ed-kc8dEZsdm2w" name="org.eclipse.egf.emf.pattern.edit">
+ <elements xmi:id="_PiIW5DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/plugin.xmljet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"
+ name="PluginXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PiIW5jG0Ed-kc8dEZsdm2w" conditionMethod="#_9qU51HLYEd-09ds9dfYpFw"
+ initMethod="#_PiIW5zG0Ed-kc8dEZsdm2w" footerMethod="#_PiIW6TG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_UbzFgId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PiIW5jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5jG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PiIW5zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9qU51HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._9qU51HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PiIW6TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6TG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PiIW6zG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SuSFqGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._SuSFqGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_09tDuWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._09tDuWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PiIW7TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW7TG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_UevEwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Uf47UId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UgeKIId1EemTGPCEQmMGWg"
+ called="#_PiIW7TG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_UgxFEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UhDY8Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PibR0DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/build.propertiesjet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"
+ name="BuildProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PibR0jG0Ed-kc8dEZsdm2w" conditionMethod="#_9kEg2HLYEd-09ds9dfYpFw"
+ initMethod="#_PibR0zG0Ed-kc8dEZsdm2w" footerMethod="#_PibR1TG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Uhzm4Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PibR0jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0jG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PibR0zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9kEg2HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._9kEg2HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PibR1TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1TG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PibR1zG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_St_KvGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._St_KvGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_09QXzWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._09QXzWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PibR2TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR2TG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_UktJ4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Ul3AcId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UmaaEId1EemTGPCEQmMGWg"
+ called="#_PibR2TG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_UmsG4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Um9MoId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PiuMwDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/manifest.mfjet&quot;&#xA;"
+ name="ManifestMF" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PiuMwjG0Ed-kc8dEZsdm2w" conditionMethod="#_9nWeVHLYEd-09ds9dfYpFw"
+ initMethod="#_PiuMwzG0Ed-kc8dEZsdm2w" footerMethod="#_PiuMxTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_UnqXQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PiuMwjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PiuMwzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9nWeVHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._9nWeVHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PiuMxTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PiuMxzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SuI7uGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._SuI7uGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_09j5yWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._09j5yWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PiuMyTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMyTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_UqjTMId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UruX4Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UsWqAId1EemTGPCEQmMGWg"
+ called="#_PiuMyTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_Uspk8Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Us7RwId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Pi39wDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/plugin.propertiesjet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"
+ name="PluginProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_xxtwkCg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_Pi39wjG0Ed-kc8dEZsdm2w" conditionMethod="#_9tdGVHLYEd-09ds9dfYpFw"
+ initMethod="#_Pi39wzG0Ed-kc8dEZsdm2w" footerMethod="#_Pi39xTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_UznvoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Pi39wjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pi39wzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9tdGVHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._9tdGVHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Pi39xTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pi39xzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Sub2qGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Sub2qGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0920uWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._0920uWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pi39yTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39yTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_U2ak8Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_U3lpoId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_pQ16sChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_U4JDQId1EemTGPCEQmMGWg"
+ called="#_Pi39yTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_U4b-MId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_U4uSEId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PjK4sDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProvider.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.addPropertyDescriptor.override&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getText.override&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getStyledText.override&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.insert&#xA;"
+ name="ItemProvider" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_hYG6UCg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PjK4sjG0Ed-kc8dEZsdm2w" conditionMethod="#_9wJN9HLYEd-09ds9dfYpFw"
+ initMethod="#_PjK4szG0Ed-kc8dEZsdm2w" footerMethod="#_PjK4tTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_VLjHcId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PjK4sjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4sjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PjK4szG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4szG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9wJN9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._9wJN9HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PjK4tTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PjK4tzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SuuxqGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._SuuxqGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0-TgqWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._0-TgqWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PjK4uTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4uTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_VOnCgId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VP7RIId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VQgf8Id1EemTGPCEQmMGWg"
+ called="#_PjK4uTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_VQza4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VRFuwId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PjdzoDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override&#xA;"
+ name="ItemProviderAdapterFactory" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PjdzojG0Ed-kc8dEZsdm2w" conditionMethod="#_92_c1HLYEd-09ds9dfYpFw"
+ initMethod="#_PjdzozG0Ed-kc8dEZsdm2w" footerMethod="#_PjdzpTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_VFhX8Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PjdzojG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzojG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PjdzozG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzozG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_92_c1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._92_c1HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PjdzpTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PjdzpzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SulnpGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._SulnpGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_09_-qWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._09_-qWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PjdzqTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzqTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_VIbiAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VJkxgId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VKQuAId1EemTGPCEQmMGWg"
+ called="#_PjdzqTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_VKia0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VK0usId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PjwukDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/Plugin.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="Plugin" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PjwukjG0Ed-kc8dEZsdm2w" conditionMethod="#_9y-fhHLYEd-09ds9dfYpFw"
+ initMethod="#_PjwukzG0Ed-kc8dEZsdm2w" footerMethod="#_PjwulTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_U5g8QId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PjwukjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PjwukzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9y-fhHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._9y-fhHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PjwulTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PjwulzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SuuxmGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._SuuxmGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0-JvqWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._0-JvqWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PjwumTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwumTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_U8YDAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_U9jHsId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_U-IWgId1EemTGPCEQmMGWg"
+ called="#_PjwumTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_U-aqYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_U-sXMId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Pj6fkDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * &#xA;"
+ name="CreateChildIconsForGenPackage" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_HODPICrVEd-81OQ8yF10Og"
+ headerMethod="#_PkEQkDG0Ed-kc8dEZsdm2w" conditionMethod="#_97KyNHLYEd-09ds9dfYpFw"
+ initMethod="#_PkEQkTG0Ed-kc8dEZsdm2w" footerMethod="#_PkEQkzG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_VXjjIId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PkEQkDG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkDG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PkEQkTG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_97KyNHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._97KyNHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PkEQkzG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_0-wMmGKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._0-wMmGKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PkEQlzG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQlzG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_VaeUQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VbBt4Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_yLcWwCt-Ed-D6YqMf1n1Bg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VblHgId1EemTGPCEQmMGWg"
+ called="#_PkEQlzG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_Vb20UId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VcJIMId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_0yyMcCt-Ed-D6YqMf1n1Bg"/>
+ </elements>
+ <elements xmi:id="_PkNagDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * &#xA;"
+ name="ItemIcon" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_IzJSwCrXEd-81OQ8yF10Og"
+ headerMethod="#_PkNagjG0Ed-kc8dEZsdm2w" conditionMethod="#_99Zm1HLYEd-09ds9dfYpFw"
+ initMethod="#_PkNagzG0Ed-kc8dEZsdm2w" footerMethod="#_PkNahTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Vh-DYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PkNagjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PkNagzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_99Zm1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._99Zm1HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PkNahTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNahTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_0-mbmGKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._0-mbmGKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PkNaiTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNaiTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_VkvqkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VlTrQId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Vl3E4Id1EemTGPCEQmMGWg"
+ called="#_PkNaiTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_VmIKoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VmZ3cId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Pkg8gDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * &#xA;"
+ name="CreateChildIconsForGenClass" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_IzJSwCrXEd-81OQ8yF10Og"
+ headerMethod="#_Pkg8gjG0Ed-kc8dEZsdm2w" conditionMethod="#_9_MWlHLYEd-09ds9dfYpFw"
+ initMethod="#_Pkg8gzG0Ed-kc8dEZsdm2w" footerMethod="#_Pkg8hTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Vc1rwId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Pkg8gjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pkg8gzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_9_MWlHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._9_MWlHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Pkg8hTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8hTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_0-cqmGKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._0-cqmGKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pkg8iTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8iTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Vfn6AId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VgL6sId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VgvUUId1EemTGPCEQmMGWg"
+ called="#_Pkg8iTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_VhBoMId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VhSt8Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_QPtOcH7rEd-W9_ZFSEQEPg" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/module.gwt.xmljet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"
+ name="ModuleGWTXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_QPtOcn7rEd-W9_ZFSEQEPg" conditionMethod="#_QPtOdH7rEd-W9_ZFSEQEPg"
+ initMethod="#_QPtOc37rEd-W9_ZFSEQEPg" footerMethod="#_QPtOdn7rEd-W9_ZFSEQEPg">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Utq4oId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_QPtOcn7rEd-W9_ZFSEQEPg" name="header" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOcn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QPtOc37rEd-W9_ZFSEQEPg" name="init" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOc37rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QPtOdH7rEd-W9_ZFSEQEPg" name="preCondition" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdH7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QPtOdn7rEd-W9_ZFSEQEPg" name="footer" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QP2YYH7rEd-W9_ZFSEQEPg" name="setReporterVariables"
+ patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYH7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QP2YYX7rEd-W9_ZFSEQEPg" name="setArgument" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYX7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QP2YYn7rEd-W9_ZFSEQEPg" name="ensureProjectExists" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QP2YZH7rEd-W9_ZFSEQEPg" name="doGenerate" patternFilePath="templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YZH7rEd-W9_ZFSEQEPg.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Uwh_YId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Uxr18Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_UyREwId1EemTGPCEQmMGWg"
+ called="#_QP2YZH7rEd-W9_ZFSEQEPg"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_Uyj_sId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Uy1sgId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_QRpIIH7rEd-W9_ZFSEQEPg" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/Images.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="Images" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_QRpIIn7rEd-W9_ZFSEQEPg" conditionMethod="#_QRpIJH7rEd-W9_ZFSEQEPg"
+ initMethod="#_QRpII37rEd-W9_ZFSEQEPg" footerMethod="#_QRpIJn7rEd-W9_ZFSEQEPg">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_U_bXAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_QRpIIn7rEd-W9_ZFSEQEPg" name="header" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIIn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QRpII37rEd-W9_ZFSEQEPg" name="init" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpII37rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QRpIJH7rEd-W9_ZFSEQEPg" name="preCondition" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJH7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QRpIJn7rEd-W9_ZFSEQEPg" name="footer" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QRpIKH7rEd-W9_ZFSEQEPg" name="setReporterVariables"
+ patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKH7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QRpIKX7rEd-W9_ZFSEQEPg" name="setArgument" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKX7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QRpIKn7rEd-W9_ZFSEQEPg" name="ensureProjectExists" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QRpILH7rEd-W9_ZFSEQEPg" name="doGenerate" patternFilePath="templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpILH7rEd-W9_ZFSEQEPg.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_VCZLcId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VDnTcId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VEL7MId1EemTGPCEQmMGWg"
+ called="#_QRpILH7rEd-W9_ZFSEQEPg"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_VEe2IId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VExKAId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_QR8DEH7rEd-W9_ZFSEQEPg" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/Properties.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="Properties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_QR8DEn7rEd-W9_ZFSEQEPg" conditionMethod="#_QR8DFH7rEd-W9_ZFSEQEPg"
+ initMethod="#_QR8DE37rEd-W9_ZFSEQEPg" footerMethod="#_QR8DFn7rEd-W9_ZFSEQEPg">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_VR1VoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_QR8DEn7rEd-W9_ZFSEQEPg" name="header" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DEn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QR8DE37rEd-W9_ZFSEQEPg" name="init" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DE37rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QR8DFH7rEd-W9_ZFSEQEPg" name="preCondition" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFH7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QR8DFn7rEd-W9_ZFSEQEPg" name="footer" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QR8DGH7rEd-W9_ZFSEQEPg" name="setReporterVariables"
+ patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGH7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QR8DGX7rEd-W9_ZFSEQEPg" name="setArgument" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGX7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QR8DGn7rEd-W9_ZFSEQEPg" name="ensureProjectExists" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGn7rEd-W9_ZFSEQEPg.pt"/>
+ <methods xmi:id="_QR8DHH7rEd-W9_ZFSEQEPg" name="doGenerate" patternFilePath="templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DHH7rEd-W9_ZFSEQEPg.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_VUnj4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VVuXIId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VWRwwId1EemTGPCEQmMGWg"
+ called="#_QR8DHH7rEd-W9_ZFSEQEPg"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_VWjdkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VW1KYId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ </libraries>
+ <libraries xmi:id="_03mkEGJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.edit.call.ItemProvider">
+ <elements xmi:id="_03mkEWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProvider.javajet&quot;&#xA;"
+ name="ItemProvider.addPropertyDescriptor.override" headerMethod="#_03mkE2J-Ed-FqczH3ESmRw"
+ conditionMethod="#_BuWv9XLZEd-09ds9dfYpFw" initMethod="#_03mkFGJ-Ed-FqczH3ESmRw"
+ footerMethod="#_03mkFmJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_qfFWgId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_03mkE2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkE2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03mkFGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFGJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BuWv9XLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._BuWv9XLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_03mkFmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03mkHWJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkHWJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_qi1OEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_qjLMUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_qjf8cId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_qj1ToId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_qkKq0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_qkez4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_qk0LEId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_qlJiQId1EemTGPCEQmMGWg" name="_List" type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_qif24Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_qlzpkId1EemTGPCEQmMGWg"
+ called="#_03mkHWJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_03wVEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProvider.javajet&quot;&#xA;"
+ name="ItemProvider.getText.override" headerMethod="#_03wVEmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_BvZRxHLZEd-09ds9dfYpFw" initMethod="#_03wVE2J-Ed-FqczH3ESmRw"
+ footerMethod="#_03wVFWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_qmj3gId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_03wVEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVEmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03wVE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVE2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_BvZRxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._BvZRxHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_03wVFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVFWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_03wVG2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVG2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_qp_mAId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_qqU9MId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_qqn4IId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_qq_EgId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_qrUbsId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_qrpL0Id1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_qr-jAId1EemTGPCEQmMGWg" name="_List" type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_qpq14Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_qsncMId1EemTGPCEQmMGWg"
+ called="#_03wVG2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_036GEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.insert&#xA;"
+ name="ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override"
+ headerMethod="#_036GEmJ-Ed-FqczH3ESmRw" conditionMethod="#_Bx7oZHLZEd-09ds9dfYpFw"
+ initMethod="#_036GE2J-Ed-FqczH3ESmRw" footerMethod="#_036GFWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_plHooId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_036GEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GEmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_036GE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GE2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Bx7oZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._Bx7oZHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_036GFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GFWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_036GIGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GIGJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_polzYId1EemTGPCEQmMGWg" name="createClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_po5VYId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ppQhwId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_ppkDwId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>
+ <parameters xmi:id="_pp3lwId1EemTGPCEQmMGWg" name="childCreationData"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>
+ <parameters xmi:id="_pqLu0Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_pqepwId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_pqyLwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_prG74Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_poS4cId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_prv1EId1EemTGPCEQmMGWg"
+ called="#_036GIGJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_04NBAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;"
+ name="ItemProvider.newChildDescriptorsReferenceDelegatedFeature.insert"
+ headerMethod="#_04NBAmJ-Ed-FqczH3ESmRw" conditionMethod="#_B2Z4tHLZEd-09ds9dfYpFw"
+ initMethod="#_04NBA2J-Ed-FqczH3ESmRw" footerMethod="#_04NBBWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_psdmwId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_04NBAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBAmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_04NBA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBA2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_B2Z4tHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._B2Z4tHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_04NBBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBBWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_04NBEGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBEGJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_pv-00Id1EemTGPCEQmMGWg" name="createClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_pwRIsId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_pwjckId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_pw6o8Id1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>
+ <parameters xmi:id="_pxOK8Id1EemTGPCEQmMGWg" name="childCreationData"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>
+ <parameters xmi:id="_pxjiIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_px2dEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_pyLNMId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_pyevMId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_pvr54Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_pzGaQId1EemTGPCEQmMGWg"
+ called="#_04NBEGJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_04WyAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.insert&#xA;"
+ name="ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override"
+ headerMethod="#_04WyAmJ-Ed-FqczH3ESmRw" conditionMethod="#_B3vVdHLZEd-09ds9dfYpFw"
+ initMethod="#_04WyA2J-Ed-FqczH3ESmRw" footerMethod="#_04WyBWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_pz2BIId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_04WyAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyAmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_04WyA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyA2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_B3vVdHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._B3vVdHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_04WyBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyBWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_04WyEGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyEGJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_p3SWsId1EemTGPCEQmMGWg" name="createDataType" type="org.eclipse.emf.codegen.ecore.genmodel.GenDataType"/>
+ <parameters xmi:id="_p3l4sId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_p36BwId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_p4NjwId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>
+ <parameters xmi:id="_p4iT4Id1EemTGPCEQmMGWg" name="childCreationData"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>
+ <parameters xmi:id="_p44SIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_p5L0IId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_p5eIAId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_p5xC8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_p2_bwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_p6ajMId1EemTGPCEQmMGWg"
+ called="#_04WyEGJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_04f78GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;"
+ name="ItemProvider.newChildDescriptorsAttributeDelegatedFeature.insert"
+ headerMethod="#_04f78mJ-Ed-FqczH3ESmRw" conditionMethod="#_B4yeVHLZEd-09ds9dfYpFw"
+ initMethod="#_04f782J-Ed-FqczH3ESmRw" footerMethod="#_04f79WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_p7Ht0Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_04f78mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f78mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_04f782J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f782J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_B4yeVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._B4yeVHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_04f79WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f79WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_04f8AGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f8AGJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_p-cuoId1EemTGPCEQmMGWg" name="createDataType" type="org.eclipse.emf.codegen.ecore.genmodel.GenDataType"/>
+ <parameters xmi:id="_p-vpkId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_p_DLkId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_p_X7sId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>
+ <parameters xmi:id="_p_sEwId1EemTGPCEQmMGWg" name="childCreationData"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>
+ <parameters xmi:id="_qAAN0Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_qATv0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_qAnR0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_qA6z0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_p-KawId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_qBgpsId1EemTGPCEQmMGWg"
+ called="#_04f8AGJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_04ps8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.insert&#xA;"
+ name="ItemProvider.newChildDescriptorsReferenceFeature.override" headerMethod="#_04ps8mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_B63h9HLZEd-09ds9dfYpFw" initMethod="#_04ps82J-Ed-FqczH3ESmRw"
+ footerMethod="#_04ps9WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_qCSs0Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_04ps8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps8mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_04ps82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps82J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_B63h9HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._B63h9HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_04ps9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps9WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_04ptAGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ptAGJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_qFntoId1EemTGPCEQmMGWg" name="createClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_qF6BgId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_qGMVYId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_qGfQUId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>
+ <parameters xmi:id="_qGxkMId1EemTGPCEQmMGWg" name="childCreationData"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>
+ <parameters xmi:id="_qHGUUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_qHadYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_qHt_YId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_qIA6UId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_qFULoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_qImJIId1EemTGPCEQmMGWg"
+ called="#_04ptAGJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_04y24GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;"
+ name="ItemProvider.newChildDescriptorsReferenceFeature.insert" headerMethod="#_04y24mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_B-caZHLZEd-09ds9dfYpFw" initMethod="#_04y242J-Ed-FqczH3ESmRw"
+ footerMethod="#_04y25WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_qJW-IId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_04y24mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y24mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_04y242J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y242J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_B-caZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._B-caZHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_04y25WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y25WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_04y28GJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y28GJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_qMsmAId1EemTGPCEQmMGWg" name="createClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_qM_g8Id1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_qNR00Id1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_qNl94Id1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>
+ <parameters xmi:id="_qN440Id1EemTGPCEQmMGWg" name="childCreationData"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>
+ <parameters xmi:id="_qONo8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_qOhK8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_qO0F4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_qPHA0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_qMZrEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_qPs2sId1EemTGPCEQmMGWg"
+ called="#_04y28GJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_048n4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.insert&#xA;"
+ name="ItemProvider.newChildDescriptorsAttributeFeature.override" headerMethod="#_048n4mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_B_otNHLZEd-09ds9dfYpFw" initMethod="#_048n42J-Ed-FqczH3ESmRw"
+ footerMethod="#_048n5WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_qQaBUId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_048n4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n4mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_048n42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n42J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_B_otNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._B_otNHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_048n5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n5WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_048n8GJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n8GJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_qT0hsId1EemTGPCEQmMGWg" name="createDataType" type="org.eclipse.emf.codegen.ecore.genmodel.GenDataType"/>
+ <parameters xmi:id="_qUIDsId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_qUZwgId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_qUzZIId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>
+ <parameters xmi:id="_qVGUEId1EemTGPCEQmMGWg" name="childCreationData"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>
+ <parameters xmi:id="_qVdgcId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_qVxpgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_qWGZoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_qWaisId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_qTg_sId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_qXCNwId1EemTGPCEQmMGWg"
+ called="#_048n8GJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_05ZT0GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProviderAdapterFactory.javajet&quot;&#xA;"
+ name="ItemProvider.newChildDescriptorsAttributeFeature.insert" headerMethod="#_05ZT0mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CBIiBHLZEd-09ds9dfYpFw" initMethod="#_05ZT02J-Ed-FqczH3ESmRw"
+ footerMethod="#_05ZT1WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_qXuxUId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_05ZT0mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT0mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_05ZT02J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT02J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CBIiBHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._CBIiBHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_05ZT1WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT1WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_05ZT4GJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT4GJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_qbFnUId1EemTGPCEQmMGWg" name="createDataType" type="org.eclipse.emf.codegen.ecore.genmodel.GenDataType"/>
+ <parameters xmi:id="_qbblkId1EemTGPCEQmMGWg" name="createFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_qbwVsId1EemTGPCEQmMGWg" name="delegatedFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_qcDQoId1EemTGPCEQmMGWg" name="createClassifier" type="org.eclipse.emf.codegen.ecore.genmodel.GenClassifier"/>
+ <parameters xmi:id="_qcbrIId1EemTGPCEQmMGWg" name="childCreationData"
+ type="org.eclipse.emf.codegen.ecore.genmodel.GenClass$ChildCreationData"/>
+ <parameters xmi:id="_qcv0MId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_qdFycId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_qdZUcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_qds2cId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_qaysYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_qeTTYId1EemTGPCEQmMGWg"
+ called="#_05ZT4GJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_051_wGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProvider.javajet&quot;&#xA;"
+ name="ItemProvider.insert" headerMethod="#_051_wmJ-Ed-FqczH3ESmRw" conditionMethod="#_CCU01HLZEd-09ds9dfYpFw"
+ initMethod="#_051_w2J-Ed-FqczH3ESmRw" footerMethod="#_051_xWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_q1UFMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_051_wmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_wmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_051_w2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_w2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CCU01HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._CCU01HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_051_xWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_xWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_051_y2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_y2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_q4tXcId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_q5ASYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_q5VCgId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_q5okgId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_q58GgId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_q6QPkId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_q6jKgId1EemTGPCEQmMGWg" name="_List" type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_q4Z1cId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_q7MDsId1EemTGPCEQmMGWg"
+ called="#_051_y2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_sd5EMKoMEeOCpsO1cKKCxA" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/edit/ItemProvider.javajet&quot;&#xA;"
+ name="ItemProvider.getStyledText.override" headerMethod="#_sd5EMqoMEeOCpsO1cKKCxA"
+ conditionMethod="#_sd5ENKoMEeOCpsO1cKKCxA" initMethod="#_sd5EM6oMEeOCpsO1cKKCxA"
+ footerMethod="#_sd5ENqoMEeOCpsO1cKKCxA">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_qtXqIId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_sd5EMqoMEeOCpsO1cKKCxA" name="header" patternFilePath="templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EMqoMEeOCpsO1cKKCxA.pt"/>
+ <methods xmi:id="_sd5EM6oMEeOCpsO1cKKCxA" name="init" patternFilePath="templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EM6oMEeOCpsO1cKKCxA.pt"/>
+ <methods xmi:id="_sd5ENKoMEeOCpsO1cKKCxA" name="preCondition" patternFilePath="templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENKoMEeOCpsO1cKKCxA.pt"/>
+ <methods xmi:id="_sd5ENqoMEeOCpsO1cKKCxA" name="footer" patternFilePath="templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENqoMEeOCpsO1cKKCxA.pt"/>
+ <methods xmi:id="_sd5EPKoMEeOCpsO1cKKCxA" name="doGenerate" patternFilePath="templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EPKoMEeOCpsO1cKKCxA.pt"/>
+ <parameters xmi:id="_qxCCIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_qxWyQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_qyn9kId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_qy8tsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_qzSE4Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_qzm1AId1EemTGPCEQmMGWg" name="indentDefaultCase"
+ type="java.lang.String"/>
+ <parameters xmi:id="_qz7lIId1EemTGPCEQmMGWg" name="_List" type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_qwsD4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_q0j3QId1EemTGPCEQmMGWg"
+ called="#_sd5EPKoMEeOCpsO1cKKCxA"/>
+ </elements>
+ </libraries>
+ </viewpoints>
+ </viewpointContainer>
+ <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Prg8azG0Ed-kc8dEZsdm2w">
+ <invocations xmi:id="_tWBHYId1EemTGPCEQmMGWg" name="EMF Edit Pattern" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_jT-SgD1hEd-m5uHrCQ1Jew">
+ <invocationContractContainer xmi:id="_tWpZgId1EemTGPCEQmMGWg">
+ <invocationContracts xmi:id="_tXP2cId1EemTGPCEQmMGWg" factoryComponentContract="#_Prg8cDG0Ed-kc8dEZsdm2w"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg"/>
+ <invocationContracts xmi:id="_tYwSUId1EemTGPCEQmMGWg" factoryComponentContract="#_jzYi8FIIEd-eGOdO3WtsxA"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">
+ <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tZDNQId1EemTGPCEQmMGWg"
+ value="org.eclipse.egf.emf.pattern.base.ContentTypePatternExecutionReporter"/>
+ </invocationContracts>
+ <invocationContracts xmi:id="_tZ_BYId1EemTGPCEQmMGWg" factoryComponentContract="#_Tx5xHVkTEd-bv5aydwO2Qw"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+ <type xmi:type="pattern:TypePatternList" xmi:id="_taTxgId1EemTGPCEQmMGWg"
+ elements="#_PiIW4zG0Ed-kc8dEZsdm2w"/>
+ </invocationContracts>
+ <invocationContracts xmi:id="_tcMn4Id1EemTGPCEQmMGWg" factoryComponentContract="#_UCnhEFHVEd-dr9AWwNwIMQ"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_NFhJ4UMgEd-Ixul1H5ANhg"/>
+ <invocationContracts xmi:id="_tdbW8Id1EemTGPCEQmMGWg" factoryComponentContract="#_dgkvsPI7Ed-Pp8S8RvVOuQ"
+ invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_JWI2sPI7Ed-Pp8S8RvVOuQ"/>
+ <invocationContracts xmi:id="_tenpwId1EemTGPCEQmMGWg" factoryComponentContract="#_9wHxsFLMEd-ZSLMRjxSbVQ"
+ invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_vtlEAFLMEd-ZSLMRjxSbVQ"/>
+ </invocationContractContainer>
+ </invocations>
+ </orchestration>
+ </fcore:FactoryComponent>
+ <fcore:FactoryComponent xmi:id="_PkqGcDG0Ed-kc8dEZsdm2w" name="EMF Editor Pattern">
+ <contractContainer xmi:id="_Prg8ejG0Ed-kc8dEZsdm2w">
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Prg8ezG0Ed-kc8dEZsdm2w"
+ description="EMF Editor Pattern" name="genModel" mandatory="true" invocationContracts="#_thUYcId1EemTGPCEQmMGWg">
+ <type xmi:type="domain:TypeDomain" xmi:id="_tiL7IId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_pCqEMFIIEd-eGOdO3WtsxA"
+ description="EMF Editor Pattern" name="pattern.execution.reporter" invocationContracts="#_tiv70Id1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tjVKoId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Tx5xMlkTEd-bv5aydwO2Qw"
+ description="EMF Editor Pattern" name="pattern.ids" invocationContracts="#_tj6ZcId1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternList" xmi:id="_tkgPUId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Y3EukFHVEd-dr9AWwNwIMQ"
+ description="EMF Editor Pattern" name="pattern.substitutions" invocationContracts="#_tlGsQId1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternSubstitution" xmi:id="_tltwQId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_NcZ6I_MqEd-6tr0C8ZV8Ew"
+ description="EMF Editor Pattern" name="usedGenPackages" invocationContracts="#_tmS_EId1EemTGPCEQmMGWg">
+ <type xmi:type="domain:TypeGenPackages" xmi:id="_tm2YsId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_FqdyEFLNEd-ZSLMRjxSbVQ"
+ description="EMF Editor Pattern" name="mergeRulesURI" invocationContracts="#_tnf48Id1EemTGPCEQmMGWg">
+ <type xmi:type="types:TypeURI" xmi:id="_toHkAId1EemTGPCEQmMGWg"/>
+ </contracts>
+ </contractContainer>
+ <viewpointContainer xmi:id="_PkqGcTG0Ed-kc8dEZsdm2w">
+ <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_PkqGcjG0Ed-kc8dEZsdm2w">
+ <libraries xmi:id="_PkqGczG0Ed-kc8dEZsdm2w" name="org.eclipse.egf.emf.pattern.editor">
+ <elements xmi:id="_PkqGdDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/plugin.xmljet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"
+ name="PluginXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PkqGdjG0Ed-kc8dEZsdm2w" conditionMethod="#_-G79VHLYEd-09ds9dfYpFw"
+ initMethod="#_PkqGdzG0Ed-kc8dEZsdm2w" footerMethod="#_PkqGeTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_V0QGMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PkqGdjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PkqGdzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-G79VHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._-G79VHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PkqGeTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGeTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pkz3cDG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cDG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SvoJeGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._SvoJeGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0_MReWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._0_MReWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pkz3cjG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cjG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_V3RlAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_V4d30Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_V5DGoId1EemTGPCEQmMGWg"
+ called="#_Pkz3cjG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_V5WooId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_V5o8gId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Pk9BYDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/manifest.mfjet&quot;&#xA;"
+ name="ManifestMF" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_Pk9BYjG0Ed-kc8dEZsdm2w" conditionMethod="#_-A1VWHLYEd-09ds9dfYpFw"
+ initMethod="#_Pk9BYzG0Ed-kc8dEZsdm2w" footerMethod="#_Pk9BZTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_WGJugId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Pk9BYjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pk9BYzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-A1VWHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._-A1VWHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Pk9BZTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pk9BZzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SveYeGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._SveYeGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0_DHiWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._0_DHiWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pk9BaTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BaTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_WI7VsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WKA60Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WKk7gId1EemTGPCEQmMGWg"
+ called="#_Pk9BaTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_WK3PYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WLI8MId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PlQjYDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/build.propertiesjet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"
+ name="BuildProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PlQjYjG0Ed-kc8dEZsdm2w" conditionMethod="#_-DEJ9HLYEd-09ds9dfYpFw"
+ initMethod="#_PlQjYzG0Ed-kc8dEZsdm2w" footerMethod="#_PlQjZTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Vs9ycId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PlQjYjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PlQjYzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-DEJ9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._-DEJ9HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PlQjZTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PlQjZzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SvVOjGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._SvVOjGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0-5WjWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._0-5WjWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PlQjaTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjaTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Vv05MId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Vw-vwId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VxiwcId1EemTGPCEQmMGWg"
+ called="#_PlQjaTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_Vx1rYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VyH_QId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PljeUDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/plugin.propertiesjet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"
+ name="PluginProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_xxtwkCg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PljeUjG0Ed-kc8dEZsdm2w" conditionMethod="#_-K9htHLYEd-09ds9dfYpFw"
+ initMethod="#_PljeUzG0Ed-kc8dEZsdm2w" footerMethod="#_PljeVTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_WRusYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PljeUjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PljeUzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-K9htHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._-K9htHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PljeVTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PljeVzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Svx6eGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._Svx6eGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0_WCeWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._0_WCeWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PljeWTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeWTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_WUrSsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WVyF8Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_pQ16sChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WWWtsId1EemTGPCEQmMGWg"
+ called="#_PljeWTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_WWpBkId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WW6uYId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PltPUDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/ActionBarContributor.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="ActionBarContributor" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PltPUjG0Ed-kc8dEZsdm2w" conditionMethod="#_-VjBFHLYEd-09ds9dfYpFw"
+ initMethod="#_PltPUzG0Ed-kc8dEZsdm2w" footerMethod="#_PltPVTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Wdf3gId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PltPUjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PltPUzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-VjBFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._-VjBFHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PltPVTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPVTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pl2ZQDG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQDG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SwhhWGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._SwhhWGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_1AFpWWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._1AFpWWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pl2ZQjG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQjG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_WgaooId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WhlGQId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WiIf4Id1EemTGPCEQmMGWg"
+ called="#_Pl2ZQjG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_WiaMsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Wiu80Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Pmc2MDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/Editor.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA; * org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.override&#xA;"
+ name="Editor" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PmmAIDG0Ed-kc8dEZsdm2w" conditionMethod="#_-SaNhHLYEd-09ds9dfYpFw"
+ initMethod="#_PmmAITG0Ed-kc8dEZsdm2w" footerMethod="#_PmmAIzG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_WjcugId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PmmAIDG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIDG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PmmAITG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAITG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-SaNhHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._-SaNhHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PmmAIzG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PmmAJTG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SwqrSGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._SwqrSGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_1APaWWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._1APaWWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PmmAJzG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_WmPj0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WnYMQId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Wn8M8Id1EemTGPCEQmMGWg"
+ called="#_PmmAJzG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_WoOg0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WoiC0Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PmvxIDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/ModelWizard.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="ModelWizard" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PmvxIjG0Ed-kc8dEZsdm2w" conditionMethod="#_-Y0XhHLYEd-09ds9dfYpFw"
+ initMethod="#_PmvxIzG0Ed-kc8dEZsdm2w" footerMethod="#_PmvxJTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_WXqVQId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PmvxIjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PmvxIzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-Y0XhHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._-Y0XhHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PmvxJTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxJTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pm5iIDG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIDG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SwN_WGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._SwN_WGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0_yuaWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._0_yuaWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pm5iIjG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIjG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_WagN4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WboPQId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WcLo4Id1EemTGPCEQmMGWg"
+ called="#_Pm5iIjG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_WcdVsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Wcw3sId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PnCsEDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/Plugin.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="Plugin" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PnCsEjG0Ed-kc8dEZsdm2w" conditionMethod="#_-NpCRHLYEd-09ds9dfYpFw"
+ initMethod="#_PnCsEzG0Ed-kc8dEZsdm2w" footerMethod="#_PnCsFTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_WvHzAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PnCsEjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PnCsEzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-NpCRHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._-NpCRHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PnCsFTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PnCsFzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SwE1aGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._SwE1aGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0_fzeWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._0_fzeWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PnCsGTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsGTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_WyHcoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WzQFEId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Wz0s0Id1EemTGPCEQmMGWg"
+ called="#_PnCsGTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_W0HAsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_W0aisId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PnVnADG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/Advisor.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="Advisor" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PnVnAjG0Ed-kc8dEZsdm2w" conditionMethod="#_-P4d9HLYEd-09ds9dfYpFw"
+ initMethod="#_PnVnAzG0Ed-kc8dEZsdm2w" footerMethod="#_PnVnBTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_W1KJkId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PnVnAjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PnVnAzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-P4d9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._-P4d9HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PnVnBTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PnVnBzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Sv7EaGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._Sv7EaGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_0_o9aWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._0_o9aWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PnVnCTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnCTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_W4Gv4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_W5QmcId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_W53DYId1EemTGPCEQmMGWg"
+ called="#_PnVnCTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_W6KlYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_W6dgUId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PnpJADG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * &#xA;"
+ name="ModelWizardIcon" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_HODPICrVEd-81OQ8yF10Og"
+ headerMethod="#_PnpJAjG0Ed-kc8dEZsdm2w" conditionMethod="#_-bppFHLYEd-09ds9dfYpFw"
+ initMethod="#_PnpJAzG0Ed-kc8dEZsdm2w" footerMethod="#_PnpJBTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_XAvHcId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PnpJAjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PnpJAzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-bppFHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._-bppFHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PnpJBTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJBTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_1AiVSGKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._1AiVSGKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PnpJCTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJCTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_XDm1QId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XELdAId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_yLcWwCt-Ed-D6YqMf1n1Bg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XExS4Id1EemTGPCEQmMGWg"
+ called="#_PnpJCTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_XFE04Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XFZlAId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_0yyMcCt-Ed-D6YqMf1n1Bg"/>
+ </elements>
+ <elements xmi:id="_Pn8D8DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * &#xA;"
+ name="ModelIcon" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_HODPICrVEd-81OQ8yF10Og"
+ headerMethod="#_Pn8D8jG0Ed-kc8dEZsdm2w" conditionMethod="#_-dcY1HLYEd-09ds9dfYpFw"
+ initMethod="#_Pn8D8zG0Ed-kc8dEZsdm2w" footerMethod="#_Pn8D9TG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_W7R_sId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Pn8D8jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8jG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pn8D8zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-dcY1HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._-dcY1HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Pn8D9TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D9TG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_1AYkSGKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._1AYkSGKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pn8D-TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D-TG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_W-SQYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_W-4GQId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_yLcWwCt-Ed-D6YqMf1n1Bg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_W_d8IId1EemTGPCEQmMGWg"
+ called="#_Pn8D-TG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_W_w3EId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XADK8Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_0yyMcCt-Ed-D6YqMf1n1Bg"/>
+ </elements>
+ <elements xmi:id="__H8bZBmtEeCMbfVQrOfmzQ" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/appengine-web.xmljet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"
+ name="AppEngineWebXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#__H8bZhmtEeCMbfVQrOfmzQ" conditionMethod="#__H8baBmtEeCMbfVQrOfmzQ"
+ initMethod="#__H8bZxmtEeCMbfVQrOfmzQ" footerMethod="#__H8bahmtEeCMbfVQrOfmzQ">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_WL7mYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="__H8bZhmtEeCMbfVQrOfmzQ" name="header" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZhmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__H8bZxmtEeCMbfVQrOfmzQ" name="init" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZxmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__H8baBmtEeCMbfVQrOfmzQ" name="preCondition" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8baBmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__H8bahmtEeCMbfVQrOfmzQ" name="footer" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bahmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__H8bbBmtEeCMbfVQrOfmzQ" name="setReporterVariables"
+ patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbBmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__H8bbRmtEeCMbfVQrOfmzQ" name="setArgument" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbRmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__H8bbhmtEeCMbfVQrOfmzQ" name="ensureProjectExists" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbhmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__H8bcBmtEeCMbfVQrOfmzQ" name="doGenerate" patternFilePath="templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bcBmtEeCMbfVQrOfmzQ.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_WOxfAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WP5gYId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WQc6AId1EemTGPCEQmMGWg"
+ called="#__H8bcBmtEeCMbfVQrOfmzQ"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_WQum0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WRAToId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="__I1zQBmtEeCMbfVQrOfmzQ" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/home.htmljet&quot;&#xA;"
+ name="HomeHTML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#__I1zQhmtEeCMbfVQrOfmzQ" conditionMethod="#__I1zRBmtEeCMbfVQrOfmzQ"
+ initMethod="#__I1zQxmtEeCMbfVQrOfmzQ" footerMethod="#__I1zRhmtEeCMbfVQrOfmzQ">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_VnL6kId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="__I1zQhmtEeCMbfVQrOfmzQ" name="header" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQhmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__I1zQxmtEeCMbfVQrOfmzQ" name="init" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQxmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__I1zRBmtEeCMbfVQrOfmzQ" name="preCondition" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRBmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__I1zRhmtEeCMbfVQrOfmzQ" name="footer" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRhmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__I1zSBmtEeCMbfVQrOfmzQ" name="setReporterVariables"
+ patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSBmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__I1zSRmtEeCMbfVQrOfmzQ" name="setArgument" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSRmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__I1zShmtEeCMbfVQrOfmzQ" name="ensureProjectExists" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zShmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__I1zTBmtEeCMbfVQrOfmzQ" name="doGenerate" patternFilePath="templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zTBmtEeCMbfVQrOfmzQ.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Vp9hwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VrE8EId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Vrqx8Id1EemTGPCEQmMGWg"
+ called="#__I1zTBmtEeCMbfVQrOfmzQ"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_Vr9s4Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_VsPZsId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="__KLQABmtEeCMbfVQrOfmzQ" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/module.gwt.xmljet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"
+ name="ModuleGWTXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#__KLQAhmtEeCMbfVQrOfmzQ" conditionMethod="#__KLQBBmtEeCMbfVQrOfmzQ"
+ initMethod="#__KLQAxmtEeCMbfVQrOfmzQ" footerMethod="#__KLQBhmtEeCMbfVQrOfmzQ">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_V6X8UId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="__KLQAhmtEeCMbfVQrOfmzQ" name="header" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAhmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__KLQAxmtEeCMbfVQrOfmzQ" name="init" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAxmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__KLQBBmtEeCMbfVQrOfmzQ" name="preCondition" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBBmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__KLQBhmtEeCMbfVQrOfmzQ" name="footer" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBhmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__KLQCBmtEeCMbfVQrOfmzQ" name="setReporterVariables"
+ patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCBmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__KLQCRmtEeCMbfVQrOfmzQ" name="setArgument" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCRmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__KLQChmtEeCMbfVQrOfmzQ" name="ensureProjectExists" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQChmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__KLQDBmtEeCMbfVQrOfmzQ" name="doGenerate" patternFilePath="templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQDBmtEeCMbfVQrOfmzQ.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_V9OcAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_V-XrgId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_V-7sMId1EemTGPCEQmMGWg"
+ called="#__KLQDBmtEeCMbfVQrOfmzQ"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_V_OAEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_V_gT8Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="__gO_kBmtEeCMbfVQrOfmzQ" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/web.xmljet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"
+ name="WebXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#__gO_khmtEeCMbfVQrOfmzQ" conditionMethod="#__gO_lBmtEeCMbfVQrOfmzQ"
+ initMethod="#__gO_kxmtEeCMbfVQrOfmzQ" footerMethod="#__gO_lhmtEeCMbfVQrOfmzQ">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_WAPTwId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="__gO_khmtEeCMbfVQrOfmzQ" name="header" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_khmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__gO_kxmtEeCMbfVQrOfmzQ" name="init" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_kxmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__gO_lBmtEeCMbfVQrOfmzQ" name="preCondition" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lBmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__gO_lhmtEeCMbfVQrOfmzQ" name="footer" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lhmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__gO_mBmtEeCMbfVQrOfmzQ" name="setReporterVariables"
+ patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mBmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__gO_mRmtEeCMbfVQrOfmzQ" name="setArgument" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mRmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__gO_mhmtEeCMbfVQrOfmzQ" name="ensureProjectExists" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mhmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__gO_nBmtEeCMbfVQrOfmzQ" name="doGenerate" patternFilePath="templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_nBmtEeCMbfVQrOfmzQ.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_WDCJEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WEKxgId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WEtkEId1EemTGPCEQmMGWg"
+ called="#__gO_nBmtEeCMbfVQrOfmzQ"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_WFC7QId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WFUBAId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="__9b48BmtEeCMbfVQrOfmzQ" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/EntryPoint.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="EntryPoint" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"
+ headerMethod="#__9b48hmtEeCMbfVQrOfmzQ" conditionMethod="#__9b49BmtEeCMbfVQrOfmzQ"
+ initMethod="#__9b48xmtEeCMbfVQrOfmzQ" footerMethod="#__9b49hmtEeCMbfVQrOfmzQ">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_WpS30Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="__9b48hmtEeCMbfVQrOfmzQ" name="header" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48hmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__9b48xmtEeCMbfVQrOfmzQ" name="init" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48xmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__9b49BmtEeCMbfVQrOfmzQ" name="preCondition" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49BmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__9b49hmtEeCMbfVQrOfmzQ" name="footer" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49hmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__9b4-BmtEeCMbfVQrOfmzQ" name="setReporterVariables"
+ patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-BmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__9b4-RmtEeCMbfVQrOfmzQ" name="setArgument" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-RmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__9b4-hmtEeCMbfVQrOfmzQ" name="ensureProjectExists" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-hmtEeCMbfVQrOfmzQ.pt"/>
+ <methods xmi:id="__9b4_BmtEeCMbfVQrOfmzQ" name="doGenerate" patternFilePath="templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4_BmtEeCMbfVQrOfmzQ.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_WsGUMId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WtQx0Id1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Wt0LcId1EemTGPCEQmMGWg"
+ called="#__9b4_BmtEeCMbfVQrOfmzQ"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_WuF4QId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_WuYMIId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ </libraries>
+ <libraries xmi:id="_08-MQGJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.editor.call.Editor">
+ <elements xmi:id="_08-MQWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/Editor.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.insert&#xA;"
+ name="Editor.addItemProviderFactories.override" headerMethod="#_08-MQ2J-Ed-FqczH3ESmRw"
+ conditionMethod="#_CC6qtXLZEd-09ds9dfYpFw" initMethod="#_08-MRGJ-Ed-FqczH3ESmRw"
+ footerMethod="#_08-MRmJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_q8N-cId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_08-MQ2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MQ2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_08-MRGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRGJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CC6qtXLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._CC6qtXLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_08-MRmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_08-MXGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MXGJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_q_nQsId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_q_6LoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_rANGkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_rAgokId1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_rA0KkId1EemTGPCEQmMGWg" name="importedOperationClassName"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rBHskId1EemTGPCEQmMGWg" name="operationMethodName"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rBccsId1EemTGPCEQmMGWg" name="_ArrayListOfObject"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rBv-sId1EemTGPCEQmMGWg" name="_ArrayListOfSelectionChangedListener"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rCDgsId1EemTGPCEQmMGWg" name="_CollectionOfSelectionChangedListener"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rCXpwId1EemTGPCEQmMGWg" name="_ListOfResource" type="java.lang.String"/>
+ <parameters xmi:id="_rCrLwId1EemTGPCEQmMGWg" name="_ArrayListOfResource"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rC-twId1EemTGPCEQmMGWg" name="_CollectionOfResource"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rDSPwId1EemTGPCEQmMGWg" name="_MapOfResourceToDiagnostic"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rDm_4Id1EemTGPCEQmMGWg" name="_HashMapOfResourceToBoolean"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rD6h4Id1EemTGPCEQmMGWg" name="_MapOfObjectToObject"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rEQgIId1EemTGPCEQmMGWg" name="_HashMapOfObjectToObject"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rEkCIId1EemTGPCEQmMGWg" name="_LinkedHashMapOfResourceToDiagnostic"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rE4LMId1EemTGPCEQmMGWg" name="_CollectionOfAnything"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rFLtMId1EemTGPCEQmMGWg" name="_ListOfAnything" type="java.lang.String"/>
+ <parameters xmi:id="_rFf2QId1EemTGPCEQmMGWg" name="useExtendedLabelProvider"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_rF0mYId1EemTGPCEQmMGWg" name="useStyledLabelProvider"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_rGJ9kId1EemTGPCEQmMGWg" name="_AdapterFactoryLabelProvider"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rGdfkId1EemTGPCEQmMGWg" name="_DelegatingAdapterFactoryLabelProvider"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rGwagId1EemTGPCEQmMGWg" name="_DecoratingColumLabelProvider"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rHFKoId1EemTGPCEQmMGWg" name="_DiagnosticDecorator"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rHYsoId1EemTGPCEQmMGWg" name="_ArrayListOfString"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rHrAgId1EemTGPCEQmMGWg" name="_ListOfString" type="java.lang.String"/>
+ <parameters xmi:id="_rH-igId1EemTGPCEQmMGWg" name="_ListOfPropertySheetPage"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rIQ2YId1EemTGPCEQmMGWg" name="_ArrayListOfPropertySheetPage"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_q_UVwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_rI2FMId1EemTGPCEQmMGWg"
+ called="#_08-MXGJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_09RHMGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/editor/Editor.javajet&quot;&#xA;"
+ name="Editor.addItemProviderFactories.insert" headerMethod="#_09RHMmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CHY7BHLZEd-09ds9dfYpFw" initMethod="#_09RHM2J-Ed-FqczH3ESmRw"
+ footerMethod="#_09RHNWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_rJj24Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_09RHMmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHMmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_09RHM2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHM2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CHY7BHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._CHY7BHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_09RHNWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHNWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_09RHS2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHS2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_rM43sId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_rNQrIId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_rNjmEId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <parameters xmi:id="_rN158Id1EemTGPCEQmMGWg" name="forceDefaultCase" type="java.lang.Boolean"/>
+ <parameters xmi:id="_rOI04Id1EemTGPCEQmMGWg" name="importedOperationClassName"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rOcW4Id1EemTGPCEQmMGWg" name="operationMethodName"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rOvR0Id1EemTGPCEQmMGWg" name="_ArrayListOfObject"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rPDa4Id1EemTGPCEQmMGWg" name="_ArrayListOfSelectionChangedListener"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rPW84Id1EemTGPCEQmMGWg" name="_CollectionOfSelectionChangedListener"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rPp30Id1EemTGPCEQmMGWg" name="_ListOfResource" type="java.lang.String"/>
+ <parameters xmi:id="_rP8ywId1EemTGPCEQmMGWg" name="_ArrayListOfResource"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rQQUwId1EemTGPCEQmMGWg" name="_CollectionOfResource"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rQjPsId1EemTGPCEQmMGWg" name="_MapOfResourceToDiagnostic"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rQ4m4Id1EemTGPCEQmMGWg" name="_HashMapOfResourceToBoolean"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rRMI4Id1EemTGPCEQmMGWg" name="_MapOfObjectToObject"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rRfD0Id1EemTGPCEQmMGWg" name="_HashMapOfObjectToObject"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rRyl0Id1EemTGPCEQmMGWg" name="_LinkedHashMapOfResourceToDiagnostic"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rSHV8Id1EemTGPCEQmMGWg" name="_CollectionOfAnything"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rSa38Id1EemTGPCEQmMGWg" name="_ListOfAnything" type="java.lang.String"/>
+ <parameters xmi:id="_rSvBAId1EemTGPCEQmMGWg" name="useExtendedLabelProvider"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_rTDKEId1EemTGPCEQmMGWg" name="useStyledLabelProvider"
+ type="java.lang.Boolean"/>
+ <parameters xmi:id="_rTXTIId1EemTGPCEQmMGWg" name="_AdapterFactoryLabelProvider"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rTrcMId1EemTGPCEQmMGWg" name="_DelegatingAdapterFactoryLabelProvider"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rT_lQId1EemTGPCEQmMGWg" name="_DecoratingColumLabelProvider"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rUTuUId1EemTGPCEQmMGWg" name="_DiagnosticDecorator"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rUoecId1EemTGPCEQmMGWg" name="_ArrayListOfString"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rU_DwId1EemTGPCEQmMGWg" name="_ListOfString" type="java.lang.String"/>
+ <parameters xmi:id="_rVVpEId1EemTGPCEQmMGWg" name="_ListOfPropertySheetPage"
+ type="java.lang.String"/>
+ <parameters xmi:id="_rVwf0Id1EemTGPCEQmMGWg" name="_ArrayListOfPropertySheetPage"
+ type="java.lang.String"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_rMjggId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_rWW8wId1EemTGPCEQmMGWg"
+ called="#_09RHS2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ </libraries>
+ </viewpoints>
+ </viewpointContainer>
+ <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Prg8djG0Ed-kc8dEZsdm2w">
+ <invocations xmi:id="_tgJ60Id1EemTGPCEQmMGWg" name="EMF Editor Pattern" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_jT-SgD1hEd-m5uHrCQ1Jew">
+ <invocationContractContainer xmi:id="_tgvwsId1EemTGPCEQmMGWg">
+ <invocationContracts xmi:id="_thUYcId1EemTGPCEQmMGWg" factoryComponentContract="#_Prg8ezG0Ed-kc8dEZsdm2w"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg"/>
+ <invocationContracts xmi:id="_tiv70Id1EemTGPCEQmMGWg" factoryComponentContract="#_pCqEMFIIEd-eGOdO3WtsxA"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">
+ <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tjCPsId1EemTGPCEQmMGWg"
+ value="org.eclipse.egf.emf.pattern.base.ContentTypePatternExecutionReporter"/>
+ </invocationContracts>
+ <invocationContracts xmi:id="_tj6ZcId1EemTGPCEQmMGWg" factoryComponentContract="#_Tx5xMlkTEd-bv5aydwO2Qw"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+ <type xmi:type="pattern:TypePatternList" xmi:id="_tkNUYId1EemTGPCEQmMGWg"
+ elements="#_PkqGczG0Ed-kc8dEZsdm2w"/>
+ </invocationContracts>
+ <invocationContracts xmi:id="_tlGsQId1EemTGPCEQmMGWg" factoryComponentContract="#_Y3EukFHVEd-dr9AWwNwIMQ"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_NFhJ4UMgEd-Ixul1H5ANhg"/>
+ <invocationContracts xmi:id="_tmS_EId1EemTGPCEQmMGWg" factoryComponentContract="#_NcZ6I_MqEd-6tr0C8ZV8Ew"
+ invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_JWI2sPI7Ed-Pp8S8RvVOuQ"/>
+ <invocationContracts xmi:id="_tnf48Id1EemTGPCEQmMGWg" factoryComponentContract="#_FqdyEFLNEd-ZSLMRjxSbVQ"
+ invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_vtlEAFLMEd-ZSLMRjxSbVQ"/>
+ </invocationContractContainer>
+ </invocations>
+ </orchestration>
+ </fcore:FactoryComponent>
+ <fcore:FactoryComponent xmi:id="_PoF08DG0Ed-kc8dEZsdm2w" name="EMF Tests Pattern">
+ <contractContainer xmi:id="_Prg8hTG0Ed-kc8dEZsdm2w">
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Prg8hjG0Ed-kc8dEZsdm2w"
+ description="EMF Tests Pattern" name="genModel" mandatory="true" invocationContracts="#_tqaDAId1EemTGPCEQmMGWg">
+ <type xmi:type="domain:TypeDomain" xmi:id="_trSMwId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_tvg04FIIEd-eGOdO3WtsxA"
+ description="EMF Tests Pattern" name="pattern.execution.reporter" invocationContracts="#_tr2NcId1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tscqYId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Tx5xR1kTEd-bv5aydwO2Qw"
+ description="EMF Tests Pattern" name="pattern.ids" invocationContracts="#_ttDuYId1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternList" xmi:id="_ttpkQId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_eYFgEFHVEd-dr9AWwNwIMQ"
+ description="EMF Tests Pattern" name="pattern.substitutions" invocationContracts="#_tuQoQId1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternSubstitution" xmi:id="_tu7WoId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_NcjD0vMqEd-6tr0C8ZV8Ew"
+ description="EMF Tests Pattern" name="usedGenPackages" invocationContracts="#_tvhMgId1EemTGPCEQmMGWg">
+ <type xmi:type="domain:TypeGenPackages" xmi:id="_twHCYId1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_LnCeMFLNEd-ZSLMRjxSbVQ"
+ description="EMF Tests Pattern" name="mergeRulesURI" invocationContracts="#_tws4QId1EemTGPCEQmMGWg">
+ <type xmi:type="types:TypeURI" xmi:id="_txSHEId1EemTGPCEQmMGWg"/>
+ </contracts>
+ </contractContainer>
+ <viewpointContainer xmi:id="_PoO-4DG0Ed-kc8dEZsdm2w">
+ <viewpoints xmi:type="pattern:PatternViewpoint" xmi:id="_PoO-4TG0Ed-kc8dEZsdm2w">
+ <libraries xmi:id="_PoO-4jG0Ed-kc8dEZsdm2w" name="org.eclipse.egf.emf.pattern.tests">
+ <elements xmi:id="_PoO-4zG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/plugin.xmljet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderXml&#xA;"
+ name="PluginXML" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PoO-5TG0Ed-kc8dEZsdm2w" conditionMethod="#_-pXU9HLYEd-09ds9dfYpFw"
+ initMethod="#_PoO-5jG0Ed-kc8dEZsdm2w" footerMethod="#_PoO-6DG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_XGGvoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PoO-5TG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5TG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PoO-5jG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5jG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-pXU9HLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._-pXU9HLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PoO-6DG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6DG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PoO-6jG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6jG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SxaSKGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._SxaSKGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_1A1QOWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._1A1QOWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PoO-7DG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-7DG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_XI_EgId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XKJiIId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XKti0Id1EemTGPCEQmMGWg"
+ called="#_PoO-7DG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_XLAdwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XLSxoId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PoYv4DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/build.propertiesjet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"
+ name="BuildProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PoYv4jG0Ed-kc8dEZsdm2w" conditionMethod="#_-iWuBHLYEd-09ds9dfYpFw"
+ initMethod="#_PoYv4zG0Ed-kc8dEZsdm2w" footerMethod="#_PoYv5TG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_XMBxcId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PoYv4jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4jG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PoYv4zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-iWuBHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._-iWuBHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PoYv5TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5TG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PoYv5zG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SxHXPGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._SxHXPGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_1AsGTWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._1AsGTWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PoYv6TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv6TG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_XQJccId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XRWWUId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XR8MMId1EemTGPCEQmMGWg"
+ called="#_PoYv6TG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_XSPHIId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XShbAId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Po1b0DG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/manifest.mfjet&quot;&#xA;"
+ name="ManifestMF" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_ZTUvECg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_Po1b0jG0Ed-kc8dEZsdm2w" conditionMethod="#_-e7mmHLYEd-09ds9dfYpFw"
+ initMethod="#_Po1b0zG0Ed-kc8dEZsdm2w" footerMethod="#_Po1b1TG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_XTRo8Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Po1b0jG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0jG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Po1b0zG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-e7mmHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._-e7mmHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Po1b1TG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1TG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Po1b1zG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1zG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SxRIOGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._SxRIOGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_1BIyOWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._1BIyOWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Po1b2TG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b2TG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_XWOPQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XXW3sId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_mwzm4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XX7fcId1EemTGPCEQmMGWg"
+ called="#_Po1b2TG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_XYNzUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XYgHMId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PplCsDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/plugin.propertiesjet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderProperties&#xA;"
+ name="PluginProperties" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_xxtwkCg7Ed-ROrlGa8LEeQ"
+ headerMethod="#_PplCsjG0Ed-kc8dEZsdm2w" conditionMethod="#_-uRqJHLYEd-09ds9dfYpFw"
+ initMethod="#_PplCszG0Ed-kc8dEZsdm2w" footerMethod="#_PplCtTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_XZN44Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PplCsjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCsjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PplCszG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCszG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-uRqJHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._-uRqJHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PplCtTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PplCtzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SxkDKGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._SxkDKGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_1BR8KWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._1BR8KWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PplCuTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCuTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_XcFmsId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XdNBAId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_pQ16sChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XdyP0Id1EemTGPCEQmMGWg"
+ called="#_PplCuTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_XeFKwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XeXeoId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Pp39oDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.override&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.insert&#xA;"
+ name="TestCase" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_hYG6UCg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_Pp39ojG0Ed-kc8dEZsdm2w" conditionMethod="#_-w9xxHLYEd-09ds9dfYpFw"
+ initMethod="#_Pp39ozG0Ed-kc8dEZsdm2w" footerMethod="#_Pp39pTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_Xq--UId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Pp39ojG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ojG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pp39ozG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ozG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-w9xxHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._-w9xxHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Pp39pTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39pTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PqBuoDG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuoDG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Sx2-GGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Sx2-GGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_1BuoGWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._1BuoGWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PqBuojG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuojG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Xt_2EId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XvJFkId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_Chxo4ChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XvuUYId1EemTGPCEQmMGWg"
+ called="#_PqBuojG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_XwBPUId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XwUKQId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PqeakDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/PackageExample.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="PackageExample" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PqeakjG0Ed-kc8dEZsdm2w" conditionMethod="#_-0r0JHLYEd-09ds9dfYpFw"
+ initMethod="#_PqeakzG0Ed-kc8dEZsdm2w" footerMethod="#_PqealTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_XfHskId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PqeakjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PqeakzG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-0r0JHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._-0r0JHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PqealTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PqealzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Sxt0KGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._Sxt0KGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_1Bk3GWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._1Bk3GWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PqeamTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeamTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Xh8-IId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XjE_gId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_Xjt4sId1EemTGPCEQmMGWg"
+ called="#_PqeamTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_Xj_lgId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XkR5YId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_Pq6fcDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/ModelTestSuite.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="ModelTestSuite" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_F0In8Cg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_Pq6fcjG0Ed-kc8dEZsdm2w" conditionMethod="#_-7Y5FHLYEd-09ds9dfYpFw"
+ initMethod="#_Pq6fczG0Ed-kc8dEZsdm2w" footerMethod="#_Pq6fdTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_XlA5MId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_Pq6fcjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fcjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pq6fczG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fczG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-7Y5FHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._-7Y5FHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_Pq6fdTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_Pq6fdzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SyAvGGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._SyAvGGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_1BbtKWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._1BbtKWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_Pq6feTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6feTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_Xn2x0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XpDEoId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_cjQNwChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XpoTcId1EemTGPCEQmMGWg"
+ called="#_Pq6feTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_Xp7OYId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_XqNiQId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_DrPLUChGEd-zj5CV40Ozyg"/>
+ </elements>
+ <elements xmi:id="_PrOBcDG0Ed-kc8dEZsdm2w" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/PackageTestSuite.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.base.HeaderJava&#xA;"
+ name="PackageTestSuite" superPattern="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_VlOiICg6Ed-ROrlGa8LEeQ"
+ headerMethod="#_PrOBcjG0Ed-kc8dEZsdm2w" conditionMethod="#_-5ATdHLYEd-09ds9dfYpFw"
+ initMethod="#_PrOBczG0Ed-kc8dEZsdm2w" footerMethod="#_PrOBdTG0Ed-kc8dEZsdm2w">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_XxAt0Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_PrOBcjG0Ed-kc8dEZsdm2w" name="header" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBcjG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PrOBczG0Ed-kc8dEZsdm2w" name="init" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBczG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_-5ATdHLYEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._-5ATdHLYEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_PrOBdTG0Ed-kc8dEZsdm2w" name="footer" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdTG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_PrOBdzG0Ed-kc8dEZsdm2w" name="setReporterVariables"
+ patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdzG0Ed-kc8dEZsdm2w.pt"/>
+ <methods xmi:id="_SyKgGGKPEd-2a5uccsiuZA" name="setArgument" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._SyKgGGKPEd-2a5uccsiuZA.pt"/>
+ <methods xmi:id="_1B4ZGWKMEd-_wNQtGaQ-lw" name="ensureProjectExists" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._1B4ZGWKMEd-_wNQtGaQ-lw.pt"/>
+ <methods xmi:id="_PrOBeTG0Ed-kc8dEZsdm2w" name="doGenerate" patternFilePath="templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBeTG0Ed-kc8dEZsdm2w.pt"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_X0A-gId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_X1LcIId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_QRYMcChGEd-zj5CV40Ozyg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_X1xSAId1EemTGPCEQmMGWg"
+ called="#_PrOBeTG0Ed-kc8dEZsdm2w"/>
+ <orchestration xmi:type="pattern:BackCall" xmi:id="_X2GpMId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_X2ayQId1EemTGPCEQmMGWg"
+ called="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_MeyroChGEd-zj5CV40Ozyg"/>
+ </elements>
+ </libraries>
+ <libraries xmi:id="_09kCIGJ-Ed-FqczH3ESmRw" name="org.eclipse.egf.emf.pattern.tests.call.TestCase">
+ <elements xmi:id="_09kCIWJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.override&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.insert&#xA;"
+ name="TestCase.implementedGenFeature.override" headerMethod="#_09kCI2J-Ed-FqczH3ESmRw"
+ conditionMethod="#_CIbc1XLZEd-09ds9dfYpFw" initMethod="#_09kCJGJ-Ed-FqczH3ESmRw"
+ footerMethod="#_09kCJmJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_rXYQcId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_09kCI2J-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCI2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_09kCJGJ-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJGJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CIbc1XLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._CIbc1XLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_09kCJmJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_09kCLGJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCLGJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_rat4UId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_rbCocId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_rbVjYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_rboeUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_rb8nYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_raZvQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_rcjEUId1EemTGPCEQmMGWg"
+ called="#_09kCLGJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_093kIGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.TODO.override&#xA;"
+ name="TestCase.getGenFeature.override" headerMethod="#_093kImJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CKEblHLZEd-09ds9dfYpFw" initMethod="#_093kI2J-Ed-FqczH3ESmRw"
+ footerMethod="#_093kJWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_rdRdEId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_093kImJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kImJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_093kI2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kI2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CKEblHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._CKEblHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_093kJWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kJWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_093kK2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kK2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_rgphMId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_rg9DMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_rhPXEId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_rhhq8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_rhz-0Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_rgWmQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ribC0Id1EemTGPCEQmMGWg"
+ called="#_093kK2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0-KfEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.getGenFeature.annotations.insert" headerMethod="#_0-KfEmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CLQuZHLZEd-09ds9dfYpFw" initMethod="#_0-KfE2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0-KfFWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_rjNtAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0-KfEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfEmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0-KfE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfE2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CLQuZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._CLQuZHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0-KfFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfFWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0-KfG2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfG2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_rmviIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_rnDrMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_rnV_EId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_rnnr4Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_rn5_wId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_rmayAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_roiR4Id1EemTGPCEQmMGWg"
+ called="#_0-KfG2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0-UQEGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.getGenFeature.TODO.override" headerMethod="#_0-UQEmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CMmyNHLZEd-09ds9dfYpFw" initMethod="#_0-UQE2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0-UQFWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_rpUVAId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0-UQEmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQEmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0-UQE2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQE2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CMmyNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._CMmyNHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0-UQFWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQFWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0-UQG2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQG2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_rs2KIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_rtKTMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_rtecQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_rtzMYId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ruH8gId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_rsiBEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ruwOoId1EemTGPCEQmMGWg"
+ called="#_0-UQG2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0-daAGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.TODO.override&#xA;"
+ name="TestCase.setGenFeature.override" headerMethod="#_0-daAmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CPu-tHLZEd-09ds9dfYpFw" initMethod="#_0-daA2J-Ed-FqczH3ESmRw"
+ footerMethod="#_0-daBWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_rvgckId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0-daAmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daAmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0-daA2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daA2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CPu-tHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._CPu-tHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0-daBWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daBWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0-daC2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daC2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_rzC4wId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_rzXo4Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_rzrx8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_rz_T8Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_r0S18Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_ryuIoId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_r07vIId1EemTGPCEQmMGWg"
+ called="#_0-daC2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0-wU8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.setGenFeature.annotations.insert" headerMethod="#_0-wU8mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CRq4ZHLZEd-09ds9dfYpFw" initMethod="#_0-wU82J-Ed-FqczH3ESmRw"
+ footerMethod="#_0-wU9WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_r1qu8Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0-wU8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU8mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0-wU82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU82J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CRq4ZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._CRq4ZHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0-wU9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU9WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0-wU-2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU-2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_r5FPUId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_r5amgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_r5uIgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_r6EGwId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_r6XowId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_r4xGQId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_r7BJAId1EemTGPCEQmMGWg"
+ called="#_0-wU-2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0-6F8GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.setGenFeature.TODO.override" headerMethod="#_0-6F8mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CStaNHLZEd-09ds9dfYpFw" initMethod="#_0-6F82J-Ed-FqczH3ESmRw"
+ footerMethod="#_0-6F9WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_r7u6sId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0-6F8mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F8mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0-6F82J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F82J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CStaNHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._CStaNHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0-6F9WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F9WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0-6F-2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F-2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_r_LQQId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_r_fZUId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_r_0JcId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_sAJgoId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_sAdCoId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_r-3HMId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_sBEGoId1EemTGPCEQmMGWg"
+ called="#_0-6F-2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_0_NA4GJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.TODO.override&#xA;"
+ name="TestCase.unsetGenFeature.override" headerMethod="#_0_NA4mJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CUDeBHLZEd-09ds9dfYpFw" initMethod="#_0_NA42J-Ed-FqczH3ESmRw"
+ footerMethod="#_0_NA5WJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_sB0UkId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_0_NA4mJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA4mJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0_NA42J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA42J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CUDeBHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._CUDeBHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_0_NA5WJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA5WJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_0_NA62J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA62J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_sFO08Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_sFhv4Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_sF0q0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_sGG-sId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_sGcV4Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_sE8hEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_sHEoAId1EemTGPCEQmMGWg"
+ called="#_0_NA62J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1BcckGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.unsetGenFeature.annotations.insert" headerMethod="#_1BcckmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CVZh1HLZEd-09ds9dfYpFw" initMethod="#_1Bcck2J-Ed-FqczH3ESmRw"
+ footerMethod="#_1BcclWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_sI-FcId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1BcckmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcckmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1Bcck2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bcck2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CVZh1HLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._CVZh1HLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1BcclWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcclWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1Bccm2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bccm2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_sMVigId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_sMpEgId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_sM8mgId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_sNQvkId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_sNkRkId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_sMCAgId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_sOLVkId1EemTGPCEQmMGWg"
+ called="#_1Bccm2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1BlmgGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.unsetGenFeature.TODO.override" headerMethod="#_1BlmgmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CWSSpHLZEd-09ds9dfYpFw" initMethod="#_1Blmg2J-Ed-FqczH3ESmRw"
+ footerMethod="#_1BlmhWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_sO68cId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1BlmgmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmgmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1Blmg2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmg2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CWSSpHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._CWSSpHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1BlmhWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmhWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1Blmi2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmi2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_sSYgIId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_sSspMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_sTAyQId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_sTU7UId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_sTpEYId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_sSEXEId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_sUPhUId1EemTGPCEQmMGWg"
+ called="#_1Blmi2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1BvXgGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.TODO.override&#xA;"
+ name="TestCase.isSetGenFeature.override" headerMethod="#_1BvXgmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CY-aRHLZEd-09ds9dfYpFw" initMethod="#_1BvXg2J-Ed-FqczH3ESmRw"
+ footerMethod="#_1BvXhWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_sU_IMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1BvXgmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXgmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1BvXg2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXg2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CY-aRHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._CY-aRHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1BvXhWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXhWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1BvXi2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXi2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_sYbdwId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_sYuYsId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_sZEW8Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_sZX48Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_sZra8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_sYH7wId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_saTGAId1EemTGPCEQmMGWg"
+ called="#_1BvXi2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1CMDcGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.isSetGenFeature.annotations.insert" headerMethod="#_1CMDcmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CanZBHLZEd-09ds9dfYpFw" initMethod="#_1CMDc2J-Ed-FqczH3ESmRw"
+ footerMethod="#_1CMDdWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_sbBewId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1CMDcmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDcmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1CMDc2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDc2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CanZBHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._CanZBHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1CMDdWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDdWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1CMDe2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDe2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_seaxAId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_setr8Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_sfAm4Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_sfTh0Id1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_sfmcwId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_seHPAId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_sgNgwId1EemTGPCEQmMGWg"
+ called="#_1CMDe2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1Ce-YGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.isSetGenFeature.TODO.override" headerMethod="#_1Ce-YmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CcGmxHLZEd-09ds9dfYpFw" initMethod="#_1Ce-Y2J-Ed-FqczH3ESmRw"
+ footerMethod="#_1Ce-ZWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_sg_j4Id1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1Ce-YmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-YmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1Ce-Y2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-Y2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CcGmxHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._CcGmxHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1Ce-ZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-ZWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1Ce-a2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-a2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_skgx8Id1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_sk2wMId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_slLgUId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_slfCUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_sl4q8Id1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_skMB0Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_smiyQId1EemTGPCEQmMGWg"
+ called="#_1Ce-a2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1CovYGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.implementedGenFeature.insert" headerMethod="#_1CovYmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CdcDhHLZEd-09ds9dfYpFw" initMethod="#_1CovY2J-Ed-FqczH3ESmRw"
+ footerMethod="#_1CovZWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_snWqkId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1CovYmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovYmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1CovY2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovY2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CdcDhHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._CdcDhHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1CovZWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovZWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1Cova2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1Cova2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_sq8KEId1EemTGPCEQmMGWg" name="genFeature" type="org.eclipse.emf.codegen.ecore.genmodel.GenFeature"/>
+ <parameters xmi:id="_srQTIId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_srkcMId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_sr5MUId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_ssMHQId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_sqnZ8Id1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_ss0ZYId1EemTGPCEQmMGWg"
+ called="#_1Cova2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1Cx5UGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;This pattern calls:&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.genOperation.annotations.insert&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.TODO.override&#xA; * org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.insert&#xA;"
+ name="TestCase.implementedGenOperation.override" headerMethod="#_1Cx5UmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CeVbZHLZEd-09ds9dfYpFw" initMethod="#_1Cx5U2J-Ed-FqczH3ESmRw"
+ footerMethod="#_1Cx5VWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_stiLEId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1Cx5UmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5UmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1Cx5U2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5U2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CeVbZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._CeVbZHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1Cx5VWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5VWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1Cx5W2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5W2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_sw8EYId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_sxPmYId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_sxjvcId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_sx4fkId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_syMooId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_swn7UId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_sy0TsId1EemTGPCEQmMGWg"
+ called="#_1Cx5W2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1C7qUGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.genOperation.annotations.insert" headerMethod="#_1C7qUmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CgILJHLZEd-09ds9dfYpFw" initMethod="#_1C7qU2J-Ed-FqczH3ESmRw"
+ footerMethod="#_1C7qVWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_sziFYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1C7qUmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qUmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1C7qU2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qU2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CgILJHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._CgILJHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1C7qVWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qVWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1C7qW2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qW2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_s29M0Id1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_s3Qu0Id1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_s3kQ0Id1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_s32ksId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_s4JfoId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_s2pDwId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_s4xxwId1EemTGPCEQmMGWg"
+ called="#_1C7qW2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1DFbUGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.implementedGenOperation.TODO.override" headerMethod="#_1DFbUmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_CjtDlHLZEd-09ds9dfYpFw" initMethod="#_1DFbU2J-Ed-FqczH3ESmRw"
+ footerMethod="#_1DFbVWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_s5rJoId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1DFbUmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbUmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1DFbU2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbU2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_CjtDlHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._CjtDlHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1DFbVWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbVWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1DFbW2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbW2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_s9FqAId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_s9ddcId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_s9wYYId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_s-EhcId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_s-YqgId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_s8socId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_s_AVkId1EemTGPCEQmMGWg"
+ called="#_1DFbW2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1DOlQGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.implementedGenOperation.insert" headerMethod="#_1DOlQmJ-Ed-FqczH3ESmRw"
+ conditionMethod="#_Ckl0ZHLZEd-09ds9dfYpFw" initMethod="#_1DOlQ2J-Ed-FqczH3ESmRw"
+ footerMethod="#_1DOlRWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_s_tgMId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1DOlQmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1DOlQ2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQ2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_Ckl0ZHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._Ckl0ZHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1DOlRWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlRWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1DOlS2J-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlS2J-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_tDIAkId1EemTGPCEQmMGWg" name="genOperation" type="org.eclipse.emf.codegen.ecore.genmodel.GenOperation"/>
+ <parameters xmi:id="_tDbikId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_tDt2cId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_tEB_gId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_tEWvoId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_tCz3gId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_tE9zoId1EemTGPCEQmMGWg"
+ called="#_1DOlS2J-Ed-FqczH3ESmRw"/>
+ </elements>
+ <elements xmi:id="_1DYWQGJ-Ed-FqczH3ESmRw" description="This pattern was generated from : &#xA; * Bundle org.eclipse.emf.codegen.ecore 2.18.0.qualifier from EMF 2.18.&#xA; * Template &quot;templates/model.tests/TestCase.javajet&quot;&#xA;"
+ name="TestCase.insert" headerMethod="#_1DYWQmJ-Ed-FqczH3ESmRw" conditionMethod="#_ClCgVHLZEd-09ds9dfYpFw"
+ initMethod="#_1DYWQ2J-Ed-FqczH3ESmRw" footerMethod="#_1DYWRWJ-Ed-FqczH3ESmRw">
+ <nature xmi:type="jetpattern:JetNature" xmi:id="_tFsMYId1EemTGPCEQmMGWg"
+ name="JET"/>
+ <methods xmi:id="_1DYWQmJ-Ed-FqczH3ESmRw" name="header" patternFilePath="templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQmJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1DYWQ2J-Ed-FqczH3ESmRw" name="init" patternFilePath="templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQ2J-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_ClCgVHLZEd-09ds9dfYpFw" name="preCondition" patternFilePath="templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._ClCgVHLZEd-09ds9dfYpFw.pt"/>
+ <methods xmi:id="_1DYWRWJ-Ed-FqczH3ESmRw" name="footer" patternFilePath="templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWRWJ-Ed-FqczH3ESmRw.pt"/>
+ <methods xmi:id="_1DYWSmJ-Ed-FqczH3ESmRw" name="doGenerate" patternFilePath="templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWSmJ-Ed-FqczH3ESmRw.pt"/>
+ <parameters xmi:id="_tJFeoId1EemTGPCEQmMGWg" name="genClass" type="org.eclipse.emf.codegen.ecore.genmodel.GenClass"/>
+ <parameters xmi:id="_tJZAoId1EemTGPCEQmMGWg" name="genPackage" type="org.eclipse.emf.codegen.ecore.genmodel.GenPackage"/>
+ <parameters xmi:id="_tJsioId1EemTGPCEQmMGWg" name="genModel" type="org.eclipse.emf.codegen.ecore.genmodel.GenModel"/>
+ <parameters xmi:id="_tKArsId1EemTGPCEQmMGWg" name="isJDK50" type="java.lang.Boolean"/>
+ <orchestration xmi:type="pattern:SuperCall" xmi:id="_tIx8oId1EemTGPCEQmMGWg"/>
+ <orchestration xmi:type="pattern:MethodCall" xmi:id="_tKraEId1EemTGPCEQmMGWg"
+ called="#_1DYWSmJ-Ed-FqczH3ESmRw"/>
+ </elements>
+ </libraries>
+ </viewpoints>
+ </viewpointContainer>
+ <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Prg8gTG0Ed-kc8dEZsdm2w">
+ <invocations xmi:id="_tpNwMId1EemTGPCEQmMGWg" name="EMF Tests Pattern" invokedActivity="ftask:Task platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_jT-SgD1hEd-m5uHrCQ1Jew">
+ <invocationContractContainer xmi:id="_tp00MId1EemTGPCEQmMGWg">
+ <invocationContracts xmi:id="_tqaDAId1EemTGPCEQmMGWg" factoryComponentContract="#_Prg8hjG0Ed-kc8dEZsdm2w"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_DgB2IP6fEd64XaYPo3s6sPg"/>
+ <invocationContracts xmi:id="_tr2NcId1EemTGPCEQmMGWg" factoryComponentContract="#_tvg04FIIEd-eGOdO3WtsxA"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_L6JSwAHAEd-4faJMEplCjxw">
+ <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tsJvcId1EemTGPCEQmMGWg"
+ value="org.eclipse.egf.emf.pattern.base.ContentTypePatternExecutionReporter"/>
+ </invocationContracts>
+ <invocationContracts xmi:id="_ttDuYId1EemTGPCEQmMGWg" factoryComponentContract="#_Tx5xR1kTEd-bv5aydwO2Qw"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_nz1HkSCaEd-Sse0r9LJWbA">
+ <type xmi:type="pattern:TypePatternList" xmi:id="_ttWpUId1EemTGPCEQmMGWg"
+ elements="#_PoO-4jG0Ed-kc8dEZsdm2w"/>
+ </invocationContracts>
+ <invocationContracts xmi:id="_tuQoQId1EemTGPCEQmMGWg" factoryComponentContract="#_eYFgEFHVEd-dr9AWwNwIMQ"
+ invokedContract="platform:/plugin/org.eclipse.egf.pattern.ftask/egf/Model_driven_pattern_strategy_task.fcore#_NFhJ4UMgEd-Ixul1H5ANhg"/>
+ <invocationContracts xmi:id="_tvhMgId1EemTGPCEQmMGWg" factoryComponentContract="#_NcjD0vMqEd-6tr0C8ZV8Ew"
+ invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_JWI2sPI7Ed-Pp8S8RvVOuQ"/>
+ <invocationContracts xmi:id="_tws4QId1EemTGPCEQmMGWg" factoryComponentContract="#_LnCeMFLNEd-ZSLMRjxSbVQ"
+ invokedContract="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_vtlEAFLMEd-ZSLMRjxSbVQ"/>
+ </invocationContractContainer>
+ </invocations>
+ </orchestration>
+ </fcore:FactoryComponent>
+ <fcore:FactoryComponent xmi:id="_Prz3UDG0Ed-kc8dEZsdm2w" name="EMF Pattern">
+ <contractContainer xmi:id="_Prz3UTG0Ed-kc8dEZsdm2w">
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_Prz3UjG0Ed-kc8dEZsdm2w"
+ description="EMF Pattern" name="genModel" mandatory="true" invocationContracts="#_tyOiRId1EemTGPCEQmMGWg #_t0QikYd1EemTGPCEQmMGWg #_t2KAAYd1EemTGPCEQmMGWg #_t4F5sYd1EemTGPCEQmMGWg">
+ <type xmi:type="domain:TypeDomain" xmi:id="_tyOiQ4d1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_yqrHUFIIEd-eGOdO3WtsxA"
+ description="EMF Pattern" name="pattern.execution.reporter" invocationContracts="#_tykggod1EemTGPCEQmMGWg #_t0kEkId1EemTGPCEQmMGWg #_t2ewIId1EemTGPCEQmMGWg #_t4bQ4Id1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternExecutionReporter" xmi:id="_tykggYd1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_JBH151eTEd-ExtSXfVloug"
+ description="EMF Pattern" name="pattern.substitutions" invocationContracts="#_ty6ewod1EemTGPCEQmMGWg #_t03mkId1EemTGPCEQmMGWg #_t2y5MId1EemTGPCEQmMGWg #_t4vZ8Id1EemTGPCEQmMGWg">
+ <type xmi:type="pattern:TypePatternSubstitution" xmi:id="_ty6ewYd1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_k-TskPI7Ed-Pp8S8RvVOuQ"
+ description="EMF Pattern" name="usedGenPackages" invocationContracts="#_tzP18od1EemTGPCEQmMGWg #_t1LvoId1EemTGPCEQmMGWg #_t3IQYId1EemTGPCEQmMGWg #_t5ExIId1EemTGPCEQmMGWg">
+ <type xmi:type="domain:TypeGenPackages" xmi:id="_tzP18Yd1EemTGPCEQmMGWg"/>
+ </contracts>
+ <contracts xmi:type="fcore:FactoryComponentContract" xmi:id="_TK4DEFLNEd-ZSLMRjxSbVQ"
+ description="EMF Pattern" name="mergeRulesURI" invocationContracts="#_tzmbQYd1EemTGPCEQmMGWg #_t1eqkId1EemTGPCEQmMGWg #_t3byYId1EemTGPCEQmMGWg #_t5avYId1EemTGPCEQmMGWg">
+ <type xmi:type="types:TypeURI" xmi:id="_tzmbQId1EemTGPCEQmMGWg"/>
+ </contracts>
+ </contractContainer>
+ <orchestration xmi:type="fprod:ProductionPlan" xmi:id="_Prz3VDG0Ed-kc8dEZsdm2w">
+ <invocations xmi:id="_tx5LEod1EemTGPCEQmMGWg" invokedActivity="#_Pcm9sDG0Ed-kc8dEZsdm2w">
+ <invocationContractContainer xmi:id="_tyOiQId1EemTGPCEQmMGWg">
+ <invocationContracts xmi:id="_tyOiRId1EemTGPCEQmMGWg" factoryComponentContract="#_Prz3UjG0Ed-kc8dEZsdm2w"
+ invokedContract="#_Prg8ZTG0Ed-kc8dEZsdm2w"/>
+ <invocationContracts xmi:id="_tykggod1EemTGPCEQmMGWg" factoryComponentContract="#_yqrHUFIIEd-eGOdO3WtsxA"
+ invokedContract="#_WRxYEFIIEd-eGOdO3WtsxA"/>
+ <invocationContracts xmi:id="_ty6ewod1EemTGPCEQmMGWg" factoryComponentContract="#_JBH151eTEd-ExtSXfVloug"
+ invokedContract="#_OVsagFHVEd-dr9AWwNwIMQ"/>
+ <invocationContracts xmi:id="_tzP18od1EemTGPCEQmMGWg" factoryComponentContract="#_k-TskPI7Ed-Pp8S8RvVOuQ"
+ invokedContract="#_RcQCMPI7Ed-Pp8S8RvVOuQ"/>
+ <invocationContracts xmi:id="_tzmbQYd1EemTGPCEQmMGWg" factoryComponentContract="#_TK4DEFLNEd-ZSLMRjxSbVQ"
+ invokedContract="#_sluXsVLLEd-ZSLMRjxSbVQ"/>
+ </invocationContractContainer>
+ </invocations>
+ <invocations xmi:id="_tz7ycId1EemTGPCEQmMGWg" invokedActivity="#_PiIW4DG0Ed-kc8dEZsdm2w">
+ <invocationContractContainer xmi:id="_t0QikId1EemTGPCEQmMGWg">
+ <invocationContracts xmi:id="_t0QikYd1EemTGPCEQmMGWg" factoryComponentContract="#_Prz3UjG0Ed-kc8dEZsdm2w"
+ invokedContract="#_Prg8cDG0Ed-kc8dEZsdm2w"/>
+ <invocationContracts xmi:id="_t0kEkId1EemTGPCEQmMGWg" factoryComponentContract="#_yqrHUFIIEd-eGOdO3WtsxA"
+ invokedContract="#_jzYi8FIIEd-eGOdO3WtsxA"/>
+ <invocationContracts xmi:id="_t03mkId1EemTGPCEQmMGWg" factoryComponentContract="#_JBH151eTEd-ExtSXfVloug"
+ invokedContract="#_UCnhEFHVEd-dr9AWwNwIMQ"/>
+ <invocationContracts xmi:id="_t1LvoId1EemTGPCEQmMGWg" factoryComponentContract="#_k-TskPI7Ed-Pp8S8RvVOuQ"
+ invokedContract="#_dgkvsPI7Ed-Pp8S8RvVOuQ"/>
+ <invocationContracts xmi:id="_t1eqkId1EemTGPCEQmMGWg" factoryComponentContract="#_TK4DEFLNEd-ZSLMRjxSbVQ"
+ invokedContract="#_9wHxsFLMEd-ZSLMRjxSbVQ"/>
+ </invocationContractContainer>
+ </invocations>
+ <invocations xmi:id="_t1128Id1EemTGPCEQmMGWg" invokedActivity="#_PkqGcDG0Ed-kc8dEZsdm2w">
+ <invocationContractContainer xmi:id="_t2KAAId1EemTGPCEQmMGWg">
+ <invocationContracts xmi:id="_t2KAAYd1EemTGPCEQmMGWg" factoryComponentContract="#_Prz3UjG0Ed-kc8dEZsdm2w"
+ invokedContract="#_Prg8ezG0Ed-kc8dEZsdm2w"/>
+ <invocationContracts xmi:id="_t2ewIId1EemTGPCEQmMGWg" factoryComponentContract="#_yqrHUFIIEd-eGOdO3WtsxA"
+ invokedContract="#_pCqEMFIIEd-eGOdO3WtsxA"/>
+ <invocationContracts xmi:id="_t2y5MId1EemTGPCEQmMGWg" factoryComponentContract="#_JBH151eTEd-ExtSXfVloug"
+ invokedContract="#_Y3EukFHVEd-dr9AWwNwIMQ"/>
+ <invocationContracts xmi:id="_t3IQYId1EemTGPCEQmMGWg" factoryComponentContract="#_k-TskPI7Ed-Pp8S8RvVOuQ"
+ invokedContract="#_NcZ6I_MqEd-6tr0C8ZV8Ew"/>
+ <invocationContracts xmi:id="_t3byYId1EemTGPCEQmMGWg" factoryComponentContract="#_TK4DEFLNEd-ZSLMRjxSbVQ"
+ invokedContract="#_FqdyEFLNEd-ZSLMRjxSbVQ"/>
+ </invocationContractContainer>
+ </invocations>
+ <invocations xmi:id="_t3xJkId1EemTGPCEQmMGWg" invokedActivity="#_PoF08DG0Ed-kc8dEZsdm2w">
+ <invocationContractContainer xmi:id="_t4F5sId1EemTGPCEQmMGWg">
+ <invocationContracts xmi:id="_t4F5sYd1EemTGPCEQmMGWg" factoryComponentContract="#_Prz3UjG0Ed-kc8dEZsdm2w"
+ invokedContract="#_Prg8hjG0Ed-kc8dEZsdm2w"/>
+ <invocationContracts xmi:id="_t4bQ4Id1EemTGPCEQmMGWg" factoryComponentContract="#_yqrHUFIIEd-eGOdO3WtsxA"
+ invokedContract="#_tvg04FIIEd-eGOdO3WtsxA"/>
+ <invocationContracts xmi:id="_t4vZ8Id1EemTGPCEQmMGWg" factoryComponentContract="#_JBH151eTEd-ExtSXfVloug"
+ invokedContract="#_eYFgEFHVEd-dr9AWwNwIMQ"/>
+ <invocationContracts xmi:id="_t5ExIId1EemTGPCEQmMGWg" factoryComponentContract="#_k-TskPI7Ed-Pp8S8RvVOuQ"
+ invokedContract="#_NcjD0vMqEd-6tr0C8ZV8Ew"/>
+ <invocationContracts xmi:id="_t5avYId1EemTGPCEQmMGWg" factoryComponentContract="#_TK4DEFLNEd-ZSLMRjxSbVQ"
+ invokedContract="#_LnCeMFLNEd-ZSLMRjxSbVQ"/>
+ </invocationContractContainer>
+ </invocations>
+ </orchestration>
+ </fcore:FactoryComponent>
+</xmi:XMI>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java
new file mode 100644
index 000000000..56ecde01e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java
@@ -0,0 +1,236 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized BuildProperties create(String lineSeparator) {
+ nl = lineSeparator;
+ BuildProperties result = new BuildProperties();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + NL + "bin.includes = ";
+ protected final String TEXT_3 = ",\\";
+ protected final String TEXT_4 = NL + " icons/,\\";
+ protected final String TEXT_5 = NL + " META-INF/,\\";
+ protected final String TEXT_6 = NL + " plugin.xml,\\";
+ protected final String TEXT_7 = NL + " ";
+ protected final String TEXT_8 = ".properties";
+ protected final String TEXT_9 = NL + "jars.compile.order = ";
+ protected final String TEXT_10 = NL + "source.";
+ protected final String TEXT_11 = " = ";
+ protected final String TEXT_12 = NL + "output.";
+ protected final String TEXT_13 = " = bin/" + NL;
+ protected final String TEXT_14 = NL;
+
+ public BuildProperties() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_14);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditProjectDirectory() + "/build.properties";
+ overwrite = genModel.isUpdateClasspath()
+ && !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter)
+ .toURI(genModel.getEditProjectDirectory()).appendSegment("plugin.xml"));
+ encoding = "ISO-8859-1";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getEditPluginID() + ".jar" : ".";
+ List<String> sourceFolders = genModel.getEditSourceFolders();
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_3);
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_4);
+ }
+ if (genModel.isBundleManifest()) {
+ stringBuffer.append(TEXT_5);
+ }
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_6);
+ }
+ String editBundleLocalization = genModel.getEditBundleLocalization();
+ int index = editBundleLocalization.indexOf("/");
+ if (index == -1) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(editBundleLocalization);
+ stringBuffer.append(TEXT_8);
+ } else {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(editBundleLocalization.substring(0, index + 1));
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(pluginClassesLocation);
+ boolean first = true;
+ for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {
+ String sourceFolder = i.next();
+ if (i.hasNext()) {
+ sourceFolder += ",\\";
+ }
+ if (first) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(sourceFolder);
+ first = false;
+ } else {
+ stringBuffer.append(sourceFolder);
+ }
+ }
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_13);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ canGenerate = canGenerate && true;
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java
new file mode 100644
index 000000000..fe93c765d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java
@@ -0,0 +1,139 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class CreateChildIconsForGenClass extends org.eclipse.egf.emf.pattern.base.GenClassGIF {
+ protected static String nl;
+
+ public static synchronized CreateChildIconsForGenClass create(String lineSeparator) {
+ nl = lineSeparator;
+ CreateChildIconsForGenClass result = new CreateChildIconsForGenClass();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public CreateChildIconsForGenClass() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenClass genClass = parameter;
+ GenModel genModel = genClass.getGenModel();
+ if (genModel.isCreationCommands() && genModel.isCreationIcons()) {
+ for (GenFeature feature : genClass.getCreateChildFeaturesIncludingDelegation()) {
+ for (GenClass childClass : genClass.getChildrenClasses(feature)) {
+ new CodegenGeneratorAdapter(parameter).generateGIF("edit/CreateChild.gif",
+ genClass.getCreateChildIconFileName(feature, childClass), genClass.getName(),
+ childClass.getName(), false);
+ }
+ }
+ }
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenClass genClass = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java
new file mode 100644
index 000000000..5cde3c395
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java
@@ -0,0 +1,150 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class CreateChildIconsForGenPackage extends org.eclipse.egf.emf.pattern.base.GenPackageGIF {
+ protected static String nl;
+
+ public static synchronized CreateChildIconsForGenPackage create(String lineSeparator) {
+ nl = lineSeparator;
+ CreateChildIconsForGenPackage result = new CreateChildIconsForGenPackage();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public CreateChildIconsForGenPackage() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ GenModel genModel = genPackage.getGenModel();
+ if (genModel.isCreationCommands() && genModel.isCreationIcons() && genPackage.isChildCreationExtenders()) {
+ for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> packageEntry : genPackage
+ .getExtendedChildCreationData().entrySet()) {
+ for (Map.Entry<GenClass, List<GenClass.ChildCreationData>> classEntry : packageEntry.getValue()
+ .entrySet()) {
+ GenClass genClass = classEntry.getKey();
+ for (GenClass.ChildCreationData childCreationData : classEntry.getValue()) {
+ if (childCreationData.createClassifier instanceof GenClass
+ && (childCreationData.delegatedFeature == null || classEntry.getKey()
+ .getAllGenFeatures().contains(childCreationData.delegatedFeature))) {
+ GenClass childClass = (GenClass) childCreationData.createClassifier;
+ GenFeature feature = childCreationData.createFeature;
+ new CodegenGeneratorAdapter(parameter).generateGIF("edit/CreateChild.gif",
+ genClass.getCreateChildIconFileName(genModel, feature, childClass),
+ genClass.getName(), childClass.getName(), false);
+ }
+ }
+ }
+ }
+ }
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java
new file mode 100644
index 000000000..5750321ae
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java
@@ -0,0 +1,219 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Images extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+ protected static String nl;
+
+ public static synchronized Images create(String lineSeparator) {
+ nl = lineSeparator;
+ Images result = new Images();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public interface ";
+ protected final String TEXT_5 = "Images extends ";
+ protected final String TEXT_6 = NL + "{";
+ protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Source(\"";
+ protected final String TEXT_8 = "\")" + NL + "\t";
+ protected final String TEXT_9 = " ";
+ protected final String TEXT_10 = "();" + NL;
+ protected final String TEXT_11 = NL + "}";
+ protected final String TEXT_12 = NL;
+ protected final String TEXT_13 = NL;
+
+ public Images() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_13);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPath = genModel.getEditPluginDirectory();
+ packageName = genModel.getEditPluginPackageName();
+ className = genModel.getEditPluginClassName() + "Images";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getEditPluginPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getEditPluginClassName());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.resources.client.ClientBundle"));
+ stringBuffer.append(TEXT_6);
+ for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (genClass.isImage()) {
+ String image = genClass.getItemIconFileName();
+ image = image.substring(image.lastIndexOf("/icons/") + 1);
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(image);
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.resources.client.ImageResource"));
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genClass.getItemIconAccessorName());
+ stringBuffer.append(TEXT_10);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_11);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_12);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT)
+ && (!genModel.sameEditEditorProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java
new file mode 100644
index 000000000..b4ca638e1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java
@@ -0,0 +1,134 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemIcon extends org.eclipse.egf.emf.pattern.base.GenClassGIF {
+ protected static String nl;
+
+ public static synchronized ItemIcon create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemIcon result = new ItemIcon();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ItemIcon() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenClass genClass = parameter;
+ if (genClass.isImage()) {
+ new CodegenGeneratorAdapter(parameter).generateGIF("edit/Item.gif", genClass.getItemIconFileName(),
+ genClass.getName(), null, false);
+ } else {
+ }
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenClass genClass = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java
new file mode 100644
index 000000000..63448068f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java
@@ -0,0 +1,841 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvider extends org.eclipse.egf.emf.pattern.base.GenClassJava {
+ protected static String nl;
+
+ public static synchronized ItemProvider create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvider result = new ItemProvider();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the item provider adapter for a {@link ";
+ protected final String TEXT_5 = "} object." + NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * ";
+ protected final String TEXT_7 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_8 = NL + "@Deprecated";
+ protected final String TEXT_9 = NL + "public class ";
+ protected final String TEXT_10 = " ";
+ protected final String TEXT_11 = "extends ";
+ protected final String TEXT_12 = NL + "\textends ";
+ protected final String TEXT_13 = NL + "\timplements";
+ protected final String TEXT_14 = NL + "\t\t";
+ protected final String TEXT_15 = ",";
+ protected final String TEXT_16 = NL + "{";
+ protected final String TEXT_17 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_18 = " copyright = ";
+ protected final String TEXT_19 = ";";
+ protected final String TEXT_20 = NL;
+ protected final String TEXT_21 = NL + "\t/**" + NL
+ + "\t * This constructs an instance from a factory and a notifier." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_22 = "(AdapterFactory adapterFactory)" + NL + "\t{" + NL + "\t\tsuper(adapterFactory);"
+ + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This returns the property descriptors for the adapted class." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_23 = NL + "\t@Override";
+ protected final String TEXT_24 = NL + "\tpublic ";
+ protected final String TEXT_25 = " getPropertyDescriptors(Object object)" + NL + "\t{" + NL
+ + "\t\tif (itemPropertyDescriptors == null)" + NL + "\t\t{" + NL
+ + "\t\t\tsuper.getPropertyDescriptors(object);" + NL;
+ protected final String TEXT_26 = NL + "\t\t\tadd";
+ protected final String TEXT_27 = "PropertyDescriptor(object);";
+ protected final String TEXT_28 = NL + "\t\t}" + NL + "\t\treturn itemPropertyDescriptors;" + NL + "\t}" + NL;
+ protected final String TEXT_29 = NL + "\t/**" + NL + "\t * This adds a property descriptor for the ";
+ protected final String TEXT_30 = " feature." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_31 = NL + "\t * ";
+ protected final String TEXT_32 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_33 = NL + "\t@Deprecated";
+ protected final String TEXT_34 = NL + "\tprotected void add";
+ protected final String TEXT_35 = "PropertyDescriptor(Object object)" + NL + "\t{";
+ protected final String TEXT_36 = NL + "\t}" + NL;
+ protected final String TEXT_37 = NL + "\t/**" + NL
+ + "\t * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an"
+ + NL
+ + "\t * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or"
+ + NL + "\t * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_38 = " getChildrenFeatures(Object object)" + NL + "\t{" + NL
+ + "\t\tif (childrenFeatures == null)" + NL + "\t\t{" + NL + "\t\t\tsuper.getChildrenFeatures(object);";
+ protected final String TEXT_39 = NL + "\t\t\tchildrenFeatures.add(";
+ protected final String TEXT_40 = ");";
+ protected final String TEXT_41 = NL + "\t\t}" + NL + "\t\treturn childrenFeatures;" + NL + "\t}" + NL;
+ protected final String TEXT_42 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_43 = NL + "\tprotected ";
+ protected final String TEXT_44 = " getChildFeature(Object object, Object child)" + NL + "\t{" + NL
+ + "\t\t// Check the type of the specified child object and return the proper feature to use for" + NL
+ + "\t\t// adding (see {@link AddCommand}) it as a child." + NL + "" + NL
+ + "\t\treturn super.getChildFeature(object, child);" + NL + "\t}" + NL;
+ protected final String TEXT_45 = NL + "\tpublic boolean hasChildren(Object object)" + NL + "\t{" + NL
+ + "\t\treturn hasChildren(object, ";
+ protected final String TEXT_46 = ");" + NL + "\t}" + NL;
+ protected final String TEXT_47 = NL + "\t/**" + NL + "\t * This returns ";
+ protected final String TEXT_48 = ".gif." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_49 = NL + "\tpublic Object getImage(Object object)" + NL + "\t{" + NL
+ + "\t\treturn overlayImage(object, getResourceLocator().getImage(\"full/obj16/";
+ protected final String TEXT_50 = "\"));";
+ protected final String TEXT_51 = NL + "\t/**" + NL
+ + "\t * This returns <code>getImage(object)</code> for the column index <code>0</code> or <code>super.getImage(object)</code> otherwise."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @see #getText(Object)" + NL + "\t * @see #getColumnText(Object, int)" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_52 = NL + "\tpublic Object getColumnImage(Object object, int columnIndex)" + NL + "\t{"
+ + NL + "\t\t// TODO: implement this method to return appropriate information for each column." + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\treturn columnIndex == 0 ? getImage(object) : super.getImage(object);" + NL + "\t}" + NL;
+ protected final String TEXT_53 = NL + "\tprotected boolean shouldComposeCreationImage()" + NL + "\t{" + NL
+ + "\t\treturn true;" + NL + "\t}" + NL;
+ protected final String TEXT_54 = NL + "\t/**" + NL + "\t * This returns the label text for the adapted class." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_55 = NL + "\tpublic String getText(Object object)" + NL + "\t{";
+ protected final String TEXT_56 = NL + "\t/**" + NL
+ + "\t * This returns <code>getText(object)</code> for the column index <code>0</code> or <code>super.getText(object)</code> otherwise."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @see #getImage(Object)" + NL + "\t * @see #getColumnImage(Object, int)" + NL + "\t * @generated"
+ + NL + "\t */";
+ protected final String TEXT_57 = NL + "\tpublic String getColumnText(Object object, int columnIndex)" + NL + "\t{"
+ + NL + "\t\t// TODO: implement this method to return appropriate information for each column." + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\treturn columnIndex == 0 ? getText(object) : super.getText(object);" + NL + "\t}" + NL;
+ protected final String TEXT_58 = NL + "\t/**" + NL
+ + "\t * This returns the label styled text for the adapted class." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_59 = NL + "\tpublic Object getStyledText(Object object)" + NL + "\t{";
+ protected final String TEXT_60 = NL + "\t}";
+ protected final String TEXT_61 = NL + NL + "\t/**" + NL
+ + "\t * This handles model notifications by calling {@link #updateChildren} to update any cached" + NL
+ + "\t * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_62 = NL + "\tpublic void notifyChanged(Notification notification)" + NL + "\t{" + NL
+ + "\t\tupdateChildren(notification);";
+ protected final String TEXT_63 = NL + NL + "\t\tswitch (notification.getFeatureID(";
+ protected final String TEXT_64 = ".class))" + NL + "\t\t{";
+ protected final String TEXT_65 = NL + "\t\t\tcase ";
+ protected final String TEXT_66 = ":";
+ protected final String TEXT_67 = NL + "\t\t\t\tfireNotifyChanged(new ";
+ protected final String TEXT_68 = "(notification, notification.getNotifier(), false, true));" + NL
+ + "\t\t\t\treturn;";
+ protected final String TEXT_69 = "(notification, notification.getNotifier(), true, false));" + NL
+ + "\t\t\t\treturn;";
+ protected final String TEXT_70 = "(notification, notification.getNotifier(), true, true));" + NL
+ + "\t\t\t\treturn;";
+ protected final String TEXT_71 = NL + "\t\t\tdefault:";
+ protected final String TEXT_72 = NL + "\t\t}";
+ protected final String TEXT_73 = "\t\tsuper.notifyChanged(notification);";
+ protected final String TEXT_74 = "\t\treturn;" + NL + "\t\t\t}";
+ protected final String TEXT_75 = NL + "\t/**" + NL
+ + "\t * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children" + NL
+ + "\t * that can be created under this object." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_76 = NL + "\tprotected void collectNewChildDescriptors(";
+ protected final String TEXT_77 = " newChildDescriptors, Object object)" + NL + "\t{" + NL
+ + "\t\tsuper.collectNewChildDescriptors(newChildDescriptors, object);";
+ protected final String TEXT_78 = NL + "\t/**" + NL
+ + "\t * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_79 = NL
+ + "\tpublic String getCreateChildText(Object owner, Object feature, Object child, ";
+ protected final String TEXT_80 = " selection)" + NL + "\t{" + NL + "\t\tObject childFeature = feature;" + NL
+ + "\t\tObject childObject = child;" + NL;
+ protected final String TEXT_81 = NL + "\t\tif (childFeature instanceof ";
+ protected final String TEXT_82 = " && ";
+ protected final String TEXT_83 = ".isFeatureMap((EStructuralFeature)childFeature))" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_84 = ".Entry entry = (FeatureMap.Entry)childObject;" + NL
+ + "\t\t\tchildFeature = entry.getEStructuralFeature();" + NL + "\t\t\tchildObject = entry.getValue();" + NL
+ + "\t\t}" + NL;
+ protected final String TEXT_85 = NL + "\t\tboolean qualify =";
+ protected final String TEXT_86 = NL + "\t\t\tchildFeature == ";
+ protected final String TEXT_87 = NL + NL + "\t\tif (qualify)" + NL + "\t\t{" + NL + "\t\t\treturn getString" + NL
+ + "\t\t\t\t(\"_UI_CreateChild_text2\",";
+ protected final String TEXT_88 = NL
+ + "\t\t\t\t new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });"
+ + NL + "\t\t}" + NL + "\t\treturn super.getCreateChildText(owner, feature, child, selection);" + NL + "\t}"
+ + NL;
+ protected final String TEXT_89 = NL + "\t/**" + NL
+ + "\t * Return the resource locator for this item provider's resources." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_90 = " getResourceLocator()" + NL + "\t{";
+ protected final String TEXT_91 = NL + "\t\treturn ((";
+ protected final String TEXT_92 = ")adapterFactory).getResourceLocator();";
+ protected final String TEXT_93 = NL + "\t\treturn ";
+ protected final String TEXT_94 = ".INSTANCE;";
+ protected final String TEXT_95 = NL + "}";
+ protected final String TEXT_96 = NL;
+
+ public ItemProvider() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(TEXT_96);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenClass genClass = parameter;
+ targetPath = genClass.getGenModel().getEditDirectory();
+ packageName = genClass.getGenPackage().getProviderPackageName();
+ className = genClass.getProviderClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenClass genClass = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+
+ GenClass genClass = (GenClass) argument;
+ GenPackage genPackage = genClass.getGenPackage();
+ GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();
+ String indentDefaultCase = forceDefaultCase ? "\t\t" : "";
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getProviderPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.addImport("org.eclipse.emf.common.notify.AdapterFactory");
+ genModel.addImport("org.eclipse.emf.common.notify.Notification");
+ String _List = genModel.getImportedName(
+ genModel.useGenerics() ? "java.util.List<org.eclipse.emf.edit.provider.IItemPropertyDescriptor>"
+ : "java.util.List");
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_5);
+ if (genClass.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genClass.getProviderClassName());
+ stringBuffer.append(TEXT_10);
+ if (genClass.getProviderImplementsClassNames().isEmpty()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName()
+ : genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter"));
+ }
+ if (!genClass.getProviderImplementsClassNames().isEmpty()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName()
+ : genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter"));
+ stringBuffer.append(TEXT_13);
+ for (Iterator<String> i = genClass.getProviderImplementsClassNames().iterator(); i.hasNext();) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getImportedName(i.next()));
+ if (i.hasNext()) {
+ stringBuffer.append(TEXT_15);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_16);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getProviderClassName());
+ stringBuffer.append(TEXT_22);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(_List);
+ stringBuffer.append(TEXT_25);
+ for (GenFeature genFeature : genClass.getPropertyFeatures()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_28);
+ for (GenFeature genFeature : genClass.getPropertyFeatures()) {
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_30);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_32);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_33);
+ }
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(TEXT_20);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.addPropertyDescriptor.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("_List", _List);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03mkEWJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/addPropertyDescriptor.override.javajetinc
+ stringBuffer.append(TEXT_36);
+ }
+ if (!genClass.getChildrenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_37);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getImportedName(
+ genModel.useGenerics() ? "java.util.Collection<? extends org.eclipse.emf.ecore.EStructuralFeature>"
+ : "java.util.Collection"));
+ stringBuffer.append(TEXT_38);
+ for (GenFeature genFeature : genClass.getChildrenFeatures()) {
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_40);
+ }
+ stringBuffer.append(TEXT_41);
+ if (!genClass.getChildrenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_42);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_44);
+ }
+ }
+ if (genClass.needsHasChildrenMethodOverride()) {
+ stringBuffer.append(TEXT_42);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genModel.isOptimizedHasChildren());
+ stringBuffer.append(TEXT_46);
+ }
+ if (genClass.isImage()) {
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_48);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_36);
+ }
+ if (genClass.getProviderImplementsClassNames()
+ .contains("org.eclipse.emf.edit.provider.ITableItemLabelProvider")) {
+ stringBuffer.append(TEXT_51);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_52);
+ }
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE && !genModel.isCreationIcons()) {
+ stringBuffer.append(TEXT_42);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_53);
+ }
+ stringBuffer.append(TEXT_54);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(TEXT_20);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getText.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("_List", _List);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03wVEGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/getText.override.javajetinc
+ stringBuffer.append(TEXT_36);
+ if (genClass.getProviderImplementsClassNames()
+ .contains("org.eclipse.emf.edit.provider.ITableItemLabelProvider")) {
+ stringBuffer.append(TEXT_56);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_57);
+ }
+ if (genModel.isStyleProviders()) {
+ stringBuffer.append(TEXT_58);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(TEXT_20);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getStyledText.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("_List", _List);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_sd5EMKoMEeOCpsO1cKKCxA",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/getStyledText.override.javajetinc
+ stringBuffer.append(TEXT_60);
+ }
+ stringBuffer.append(TEXT_61);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_62);
+ if (!genClass.getLabelNotifyFeatures().isEmpty() || !genClass.getContentNotifyFeatures().isEmpty()
+ || !genClass.getLabelAndContentNotifyFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_64);
+ if (!genClass.getLabelNotifyFeatures().isEmpty()) {
+ for (GenFeature genFeature : genClass.getLabelNotifyFeatures()) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_66);
+ }
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification"));
+ stringBuffer.append(TEXT_68);
+ }
+ if (!genClass.getContentNotifyFeatures().isEmpty()) {
+ for (GenFeature genFeature : genClass.getContentNotifyFeatures()) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_66);
+ }
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification"));
+ stringBuffer.append(TEXT_69);
+ }
+ if (!genClass.getLabelAndContentNotifyFeatures().isEmpty()) {
+ for (GenFeature genFeature : genClass.getLabelAndContentNotifyFeatures()) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_66);
+ }
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification"));
+ stringBuffer.append(TEXT_70);
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_71);
+ } else { // {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_73);
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_74);
+ } // }
+ }
+ stringBuffer.append(TEXT_36);
+ if (genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_75);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genModel.getImportedName(
+ genModel.useGenerics() ? "java.util.Collection<java.lang.Object>" : "java.util.Collection"));
+ stringBuffer.append(TEXT_77);
+ for (GenClass.ChildCreationData childCreationData : genClass.getChildCreationData()) {
+ GenFeature createFeature = childCreationData.createFeature;
+ GenFeature delegatedFeature = childCreationData.delegatedFeature;
+ GenClassifier createClassifier = childCreationData.createClassifier;
+ if (createFeature.isFeatureMapType()) {
+ if (delegatedFeature.isReferenceType()) {
+ GenClass createClass = (GenClass) createClassifier;
+ stringBuffer.append(TEXT_20);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createClass", createClass);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_036GEGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/newChildDescriptorsReferenceDelegatedFeature.override.javajetinc
+ } else {
+ GenDataType createDataType = (GenDataType) createClassifier;
+ stringBuffer.append(TEXT_20);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createDataType", createDataType);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04WyAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/newChildDescriptorsAttributeDelegatedFeature.override.javajetinc
+ }
+ } else if (createFeature.isReferenceType()) {
+ GenClass createClass = (GenClass) createClassifier;
+ stringBuffer.append(TEXT_20);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createClass", createClass);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04ps8GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/newChildDescriptorsReferenceFeature.override.javajetinc
+ } else {
+ GenDataType createDataType = (GenDataType) createClassifier;
+ stringBuffer.append(TEXT_20);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createDataType", createDataType);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_048n4GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/newChildDescriptorsAttributeFeature.override.javajetinc
+ }
+ }
+ stringBuffer.append(TEXT_36);
+ if (!genClass.getSharedClassCreateChildFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_78);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genModel
+ .getImportedName(genModel.useGenerics() ? "java.util.Collection<?>" : "java.util.Collection"));
+ stringBuffer.append(TEXT_80);
+ if (genClass.hasFeatureMapCreateChildFeatures()) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil"));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_84);
+ }
+ stringBuffer.append(TEXT_85);
+ for (Iterator<GenFeature> i = genClass.getSharedClassCreateChildFeatures().iterator(); i.hasNext();) {
+ GenFeature createFeature = i.next();
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(createFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(i.hasNext() ? " ||" : ";");
+ }
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_88);
+ }
+ }
+ if (genClass.getProviderExtendsGenClass() == null || genClass.getProviderExtendsGenClass()
+ .getGenPackage() != genPackage
+ && (!genPackage.isExtensibleProviderFactory() || genClass.getProviderExtendsGenClass().getGenPackage()
+ .isExtensibleProviderFactory() != genPackage.isExtensibleProviderFactory())) {
+ stringBuffer.append(TEXT_89);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));
+ stringBuffer.append(TEXT_90);
+ if (genPackage.isExtensibleProviderFactory()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender"));
+ stringBuffer.append(TEXT_92);
+ } else {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genPackage.getImportedEditPluginClassName());
+ stringBuffer.append(TEXT_94);
+ }
+ stringBuffer.append(TEXT_36);
+ }
+ stringBuffer.append(TEXT_20);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("_List", _List);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_051_wGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_95);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_20);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenClass genClass = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ canGenerate = canGenerate && true;
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java
new file mode 100644
index 000000000..64e58a309
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java
@@ -0,0 +1,889 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProviderAdapterFactory extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized ItemProviderAdapterFactory create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemProviderAdapterFactory result = new ItemProviderAdapterFactory();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL
+ + " * This is the factory that is used to provide the interfaces needed to support Viewers." + NL
+ + " * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}."
+ + NL + " * The adapters also support Eclipse property sheets." + NL
+ + " * Note that most of the adapters are shared among multiple instances." + NL
+ + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_5 = NL + " * ";
+ protected final String TEXT_6 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_7 = NL + "@Deprecated";
+ protected final String TEXT_8 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_9 = NL + "public class ";
+ protected final String TEXT_10 = " extends ";
+ protected final String TEXT_11 = " implements ComposeableAdapterFactory, IChangeNotifier";
+ protected final String TEXT_12 = ", ";
+ protected final String TEXT_13 = NL + "{";
+ protected final String TEXT_14 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_15 = " copyright = ";
+ protected final String TEXT_16 = ";";
+ protected final String TEXT_17 = NL;
+ protected final String TEXT_18 = NL + "\t/**" + NL
+ + "\t * This keeps track of the root adapter factory that delegates to this adapter factory." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ComposedAdapterFactory parentAdapterFactory;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected IChangeNotifier changeNotifier = new ChangeNotifier();" + NL;
+ protected final String TEXT_19 = NL + "\t/**" + NL
+ + "\t * This keeps track of all the item providers created, so that they can be {@link #dispose disposed}."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_20 = " disposable = new Disposable();" + NL;
+ protected final String TEXT_21 = NL + "\t/**" + NL + "\t * This helps manage the child creation extenders." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_22 = " childCreationExtenderManager = new ";
+ protected final String TEXT_23 = "(";
+ protected final String TEXT_24 = ".INSTANCE, ";
+ protected final String TEXT_25 = ".eNS_URI);" + NL;
+ protected final String TEXT_26 = NL + "\t/**" + NL
+ + "\t * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_27 = " supportedTypes = new ";
+ protected final String TEXT_28 = "();" + NL + "" + NL + "\t/**" + NL + "\t * This constructs an instance." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic ";
+ protected final String TEXT_29 = "()" + NL + "\t{";
+ protected final String TEXT_30 = NL + "\t\tsupportedTypes.add(";
+ protected final String TEXT_31 = ".class);";
+ protected final String TEXT_32 = NL + "\t}" + NL;
+ protected final String TEXT_33 = NL + "\t/**" + NL
+ + "\t * This keeps track of the factory to which to delegate adapter creation for objects from that package."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_34 = " ";
+ protected final String TEXT_35 = " = null;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This determines the delegate factory for the package." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_36 = " get";
+ protected final String TEXT_37 = "()" + NL + "\t{" + NL + "\t\tif (";
+ protected final String TEXT_38 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_39 = " rootAdapterFactory = getRootAdapterFactory();" + NL
+ + "\t\t\tif (rootAdapterFactory instanceof ComposedAdapterFactory)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+ protected final String TEXT_40 = " delegateAdapterFactory =" + NL
+ + "\t\t\t\t\t((ComposedAdapterFactory)rootAdapterFactory).getFactoryForType(";
+ protected final String TEXT_41 = ".getPackage());" + NL + "\t\t\t\tif (delegateAdapterFactory instanceof ";
+ protected final String TEXT_42 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+ protected final String TEXT_43 = " = (";
+ protected final String TEXT_44 = ")delegateAdapterFactory;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL
+ + "\t\treturn ";
+ protected final String TEXT_45 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_46 = NL + "\t/**" + NL
+ + "\t * This keeps track of the one adapter used for all {@link ";
+ protected final String TEXT_47 = "} instances." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_48 = NL + "\t * ";
+ protected final String TEXT_49 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_50 = NL + "\t@Deprecated";
+ protected final String TEXT_51 = NL + "\tprotected ";
+ protected final String TEXT_52 = "ItemProvider;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This creates an adapter for a {@link ";
+ protected final String TEXT_53 = "}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_54 = NL + "\t@Override";
+ protected final String TEXT_55 = NL + "\tpublic Adapter create";
+ protected final String TEXT_56 = "Adapter()" + NL + "\t{" + NL + "\t\tif (";
+ protected final String TEXT_57 = "ItemProvider == null)" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_58 = "ItemProvider = new ";
+ protected final String TEXT_59 = "(this);" + NL + "\t\t}" + NL + "" + NL + "\t\treturn ";
+ protected final String TEXT_60 = "ItemProvider;" + NL + "\t}" + NL;
+ protected final String TEXT_61 = NL + "\t/**" + NL + "\t * This creates an adapter for a {@link ";
+ protected final String TEXT_62 = "Adapter()" + NL + "\t{" + NL + "\t\treturn new ";
+ protected final String TEXT_63 = "(this);" + NL + "\t}" + NL;
+ protected final String TEXT_64 = NL + "\t/**" + NL + "\t * ";
+ protected final String TEXT_65 = " of ";
+ protected final String TEXT_66 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_67 = "Adapter()" + NL + "\t{" + NL + "\t\treturn" + NL + "\t\t\tget";
+ protected final String TEXT_68 = "() == null ?" + NL + "\t\t\t\tnull :" + NL + "\t\t\t\tget";
+ protected final String TEXT_69 = "().create";
+ protected final String TEXT_70 = "Adapter();" + NL + "\t}" + NL;
+ protected final String TEXT_71 = NL + "\t/**" + NL
+ + "\t * This returns the root adapter factory that contains this factory." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_72 = NL + "\tpublic ComposeableAdapterFactory getRootAdapterFactory()" + NL + "\t{" + NL
+ + "\t\treturn parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();" + NL
+ + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This sets the composed adapter factory that contains this factory." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_73 = NL
+ + "\tpublic void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)" + NL + "\t{" + NL
+ + "\t\tthis.parentAdapterFactory = parentAdapterFactory;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_74 = NL + "\tpublic boolean isFactoryForType(Object type)" + NL + "\t{" + NL
+ + "\t\treturn supportedTypes.contains(type) || super.isFactoryForType(type);" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * This implementation substitutes the factory itself as the key for the adapter." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_75 = NL + "\tpublic Adapter adapt(Notifier notifier, Object type)" + NL + "\t{" + NL
+ + "\t\treturn super.adapt(notifier, this);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_76 = NL + "\tpublic Object adapt(Object object, Object type)" + NL + "\t{" + NL
+ + "\t\tif (isFactoryForType(type))" + NL + "\t\t{" + NL
+ + "\t\t\tObject adapter = super.adapt(object, type);" + NL + "\t\t\tif (!(type instanceof Class";
+ protected final String TEXT_77 = "<?>";
+ protected final String TEXT_78 = ") || ";
+ protected final String TEXT_79 = ".isInstance((Class";
+ protected final String TEXT_80 = ")type, adapter)";
+ protected final String TEXT_81 = "(((Class";
+ protected final String TEXT_82 = ")type).isInstance(adapter))";
+ protected final String TEXT_83 = ")" + NL + "\t\t\t{" + NL + "\t\t\t\treturn adapter;" + NL + "\t\t\t}" + NL
+ + "\t\t}" + NL + "" + NL + "\t\treturn null;" + NL + "\t}" + NL;
+ protected final String TEXT_84 = NL + "\t/**" + NL
+ + "\t * Associates an adapter with a notifier via the base implementation, then records it to ensure it will be disposed."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_85 = NL + "\tprotected void associate(Adapter adapter, Notifier target)" + NL + "\t{"
+ + NL + "\t\tsuper.associate(adapter, target);" + NL + "\t\tif (adapter != null)" + NL + "\t\t{" + NL
+ + "\t\t\tdisposable.add(adapter);" + NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_86 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_87 = " getChildCreationExtenders()" + NL + "\t{" + NL
+ + "\t\treturn childCreationExtenderManager.getChildCreationExtenders();" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated"
+ + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_88 = " getNewChildDescriptors(Object object, ";
+ protected final String TEXT_89 = " editingDomain)" + NL + "\t{" + NL
+ + "\t\treturn childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);" + NL + "\t}" + NL
+ + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_90 = " getResourceLocator()" + NL + "\t{" + NL
+ + "\t\treturn childCreationExtenderManager;" + NL + "\t}" + NL;
+ protected final String TEXT_91 = NL + "\t/**" + NL + "\t * This adds a listener." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_92 = NL + "\tpublic void addListener(INotifyChangedListener notifyChangedListener)" + NL
+ + "\t{" + NL + "\t\tchangeNotifier.addListener(notifyChangedListener);" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * This removes a listener." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_93 = NL + "\tpublic void removeListener(INotifyChangedListener notifyChangedListener)"
+ + NL + "\t{" + NL + "\t\tchangeNotifier.removeListener(notifyChangedListener);" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_94 = NL + "\tpublic void fireNotifyChanged(Notification notification)" + NL + "\t{" + NL
+ + "\t\tchangeNotifier.fireNotifyChanged(notification);" + NL + "" + NL
+ + "\t\tif (parentAdapterFactory != null)" + NL + "\t\t{" + NL
+ + "\t\t\tparentAdapterFactory.fireNotifyChanged(notification);" + NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_95 = NL + "\t/**" + NL
+ + "\t * This disposes all of the item providers created by this factory. " + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_96 = NL + "\tpublic void dispose()" + NL + "\t{";
+ protected final String TEXT_97 = NL + "\t\tdisposable.dispose();";
+ protected final String TEXT_98 = NL + "\t\tif (";
+ protected final String TEXT_99 = "ItemProvider != null) ";
+ protected final String TEXT_100 = "ItemProvider.dispose();";
+ protected final String TEXT_101 = NL + "\t/**" + NL + "\t * A child creation extender for the {@link ";
+ protected final String TEXT_102 = "}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static class ";
+ protected final String TEXT_103 = " implements ";
+ protected final String TEXT_104 = NL + "\t{" + NL + "\t\t/**" + NL
+ + "\t\t * The switch for creating child descriptors specific to each extended class." + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tprotected static class CreationSwitch extends ";
+ protected final String TEXT_105 = NL + "\t\t{" + NL + "\t\t\t/**" + NL
+ + "\t\t\t * The child descriptors being populated." + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+ + "\t\t\tprotected ";
+ protected final String TEXT_106 = " newChildDescriptors;" + NL + "" + NL + "\t\t\t/**" + NL
+ + "\t\t\t * The domain in which to create the children." + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+ + "\t\t\tprotected ";
+ protected final String TEXT_107 = " editingDomain;" + NL + "" + NL + "\t\t\t/**" + NL
+ + "\t\t\t * Creates the a switch for populating child descriptors in the given domain." + NL
+ + "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"
+ + NL + "\t\t\t */" + NL + "\t\t\tCreationSwitch(";
+ protected final String TEXT_108 = " newChildDescriptors, ";
+ protected final String TEXT_109 = " editingDomain) " + NL + "\t\t\t{" + NL
+ + "\t\t\t\tthis.newChildDescriptors = newChildDescriptors;" + NL
+ + "\t\t\t\tthis.editingDomain = editingDomain;" + NL + "\t\t\t}";
+ protected final String TEXT_110 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */";
+ protected final String TEXT_111 = NL + "\t\t\t@Override";
+ protected final String TEXT_112 = NL + "\t\t\tpublic ";
+ protected final String TEXT_113 = "Object case";
+ protected final String TEXT_114 = " object)" + NL + "\t\t\t{";
+ protected final String TEXT_115 = NL + "\t\t\t\treturn null;" + NL + "\t\t\t}" + NL + " ";
+ protected final String TEXT_116 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+ + "\t\t\tprotected ";
+ protected final String TEXT_117 = " createChildParameter(Object feature, Object child)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\treturn new ";
+ protected final String TEXT_118 = "(null, feature, child);" + NL + "\t\t\t}" + NL + "" + NL + "\t\t}" + NL + "" + NL
+ + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+ + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";
+ protected final String TEXT_119 = " editingDomain)" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_120 = " result = new ";
+ protected final String TEXT_121 = "();" + NL + "\t\t\tnew CreationSwitch(result, editingDomain).doSwitch((";
+ protected final String TEXT_122 = ")object);" + NL + "\t\t\treturn result;" + NL + "\t\t}" + NL + "" + NL
+ + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+ + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";
+ protected final String TEXT_123 = " getResourceLocator()" + NL + "\t\t{" + NL + "\t\t\treturn ";
+ protected final String TEXT_124 = ".INSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_125 = NL + "}";
+ protected final String TEXT_126 = NL;
+
+ public ItemProviderAdapterFactory() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(TEXT_126);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getEditDirectory();
+ packageName = genPackage.getProviderPackageName();
+ className = genPackage.getItemProviderAdapterFactoryClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getProviderPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.addImport("org.eclipse.emf.common.notify.Adapter");
+ genModel.addImport("org.eclipse.emf.common.notify.Notification");
+ genModel.addImport("org.eclipse.emf.common.notify.Notifier");
+ genModel.addImport("org.eclipse.emf.edit.provider.ChangeNotifier");
+ genModel.addImport("org.eclipse.emf.edit.provider.ComposeableAdapterFactory");
+ genModel.addImport("org.eclipse.emf.edit.provider.ComposedAdapterFactory");
+ genModel.addImport("org.eclipse.emf.edit.provider.IChangeNotifier");
+ genModel.addImport("org.eclipse.emf.edit.provider.IEditingDomainItemProvider");
+ genModel.addImport("org.eclipse.emf.edit.provider.IItemLabelProvider");
+ genModel.addImport("org.eclipse.emf.edit.provider.IItemPropertySource");
+ genModel.addImport("org.eclipse.emf.edit.provider.INotifyChangedListener");
+ genModel.addImport("org.eclipse.emf.edit.provider.IStructuredItemContentProvider");
+ genModel.addImport("org.eclipse.emf.edit.provider.ITreeItemContentProvider");
+ boolean useGenerics = genModel.useGenerics();
+ String _ArrayList = genModel
+ .getImportedName(useGenerics ? "java.util.ArrayList<java.lang.Object>" : "java.util.ArrayList");
+ String _Collection = genModel
+ .getImportedName(useGenerics ? "java.util.Collection<java.lang.Object>" : "java.util.Collection");
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_6);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ } else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClasses())) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genPackage.getItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genPackage.getImportedAdapterFactoryClassName());
+ stringBuffer.append(TEXT_11);
+ if (genPackage.isDisposableProviderFactory()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IDisposable"));
+ }
+ if (genPackage.isExtensibleProviderFactory()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender"));
+ }
+ stringBuffer.append(TEXT_13);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_17);
+ }
+ stringBuffer.append(TEXT_18);
+ if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.Disposable"));
+ stringBuffer.append(TEXT_20);
+ }
+ if (genPackage.isExtensibleProviderFactory()) {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager"));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager"));
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genPackage.getImportedEditPluginClassName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_25);
+ }
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(_Collection);
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(_ArrayList);
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genPackage.getItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_29);
+ for (String name : genPackage.getProviderSupportedTypes()) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName(name));
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_32);
+ for (GenPackage genDelegate : genPackage.getAdapterDelegatePackages()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genPackage.getAdapterFactoryDelegateName(genDelegate));
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));
+ stringBuffer.append(TEXT_45);
+ }
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.isAbstract() && genClass.getProvider() != GenProviderKind.NONE_LITERAL) {
+ if (genClass.isProviderSingleton()) {
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_47);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genClass.getProviderClassName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getUncapName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_53);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genClass.getUncapName());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genClass.getUncapName());
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genClass.getProviderClassName());
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genClass.getUncapName());
+ stringBuffer.append(TEXT_60);
+ } else {
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_53);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genClass.getProviderClassName());
+ stringBuffer.append(TEXT_63);
+ }
+ }
+ }
+ for (GenClass genClass : genPackage.getAdapterDelegateSuperClasses()) {
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_66);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_70);
+ }
+ stringBuffer.append(TEXT_71);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_72);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_73);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_74);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_75);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_76);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_77);
+ }
+ stringBuffer.append(TEXT_78);
+ if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+ stringBuffer.append(TEXT_79);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_77);
+ }
+ stringBuffer.append(TEXT_80);
+ } else {
+ stringBuffer.append(TEXT_81);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_77);
+ }
+ stringBuffer.append(TEXT_82);
+ }
+ stringBuffer.append(TEXT_83);
+ if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {
+ stringBuffer.append(TEXT_84);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_85);
+ }
+ if (genPackage.isExtensibleProviderFactory()) {
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genModel.getImportedName(
+ useGenerics ? "java.util.List<org.eclipse.emf.edit.provider.IChildCreationExtender>"
+ : "java.util.List"));
+ stringBuffer.append(TEXT_87);
+ stringBuffer
+ .append(genModel.getImportedName(useGenerics ? "java.util.Collection<?>" : "java.util.Collection"));
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));
+ stringBuffer.append(TEXT_90);
+ }
+ stringBuffer.append(TEXT_91);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_92);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_93);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_94);
+ if (genPackage.isDisposableProviderFactory()) {
+ stringBuffer.append(TEXT_95);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_96);
+ if (genPackage.hasStatefulProvider()) {
+ stringBuffer.append(TEXT_97);
+ } else {
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.isAbstract() && genClass.isProviderSingleton()) {
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genClass.getUncapName());
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genClass.getUncapName());
+ stringBuffer.append(TEXT_100);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_32);
+ }
+ if (genPackage.isChildCreationExtenders()) {
+ for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> packageEntry : genPackage
+ .getExtendedChildCreationData().entrySet()) {
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(packageEntry.getKey().getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genPackage.getChildCreationExtenderName(packageEntry.getKey()));
+ stringBuffer.append(TEXT_103);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender"));
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(genModel.getImportedName(packageEntry.getKey().getQualifiedSwitchClassName()));
+ stringBuffer.append(useGenerics ? "<Object>" : "");
+ stringBuffer.append(TEXT_105);
+ stringBuffer
+ .append(genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List"));
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));
+ stringBuffer.append(TEXT_107);
+ stringBuffer
+ .append(genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List"));
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));
+ stringBuffer.append(TEXT_109);
+ for (Map.Entry<GenClass, List<GenClass.ChildCreationData>> classEntry : packageEntry.getValue()
+ .entrySet()) {
+ GenClass genClass = classEntry.getKey();
+ stringBuffer.append(TEXT_110);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_111);
+ }
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(genClass.getTypeParameters());
+ stringBuffer.append(TEXT_113);
+ stringBuffer.append(genPackage.getClassUniqueName(genClass));
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceTypeArguments());
+ stringBuffer.append(TEXT_114);
+ for (GenClass.ChildCreationData childCreationData : classEntry.getValue()) {
+ GenFeature createFeature = childCreationData.createFeature;
+ GenFeature delegatedFeature = childCreationData.delegatedFeature;
+ GenClassifier createClassifier = childCreationData.createClassifier;
+ if (createFeature.isFeatureMapType()) {
+ if (delegatedFeature.isReferenceType()) {
+ GenClass createClass = (GenClass) createClassifier;
+ stringBuffer.append(TEXT_17);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createClass", createClass);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_036GEGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/newChildDescriptorsReferenceDelegatedFeature.override.javajetinc
+ } else {
+ GenDataType createDataType = (GenDataType) createClassifier;
+ stringBuffer.append(TEXT_17);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createDataType", createDataType);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04WyAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/newChildDescriptorsAttributeDelegatedFeature.override.javajetinc
+ }
+ } else if (createFeature.isReferenceType()) {
+ GenClass createClass = (GenClass) createClassifier;
+ stringBuffer.append(TEXT_17);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createClass", createClass);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04ps8GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/newChildDescriptorsReferenceFeature.override.javajetinc
+ } else {
+ GenDataType createDataType = (GenDataType) createClassifier;
+ stringBuffer.append(TEXT_17);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createDataType", createDataType);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_048n4GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ItemProvider/newChildDescriptorsAttributeFeature.override.javajetinc
+ }
+ stringBuffer.append(TEXT_17);
+ }
+ stringBuffer.append(TEXT_115);
+ }
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter"));
+ stringBuffer.append(TEXT_117);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter"));
+ stringBuffer.append(TEXT_118);
+ stringBuffer.append(_Collection);
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));
+ stringBuffer.append(TEXT_119);
+ stringBuffer.append(_ArrayList);
+ stringBuffer.append(TEXT_120);
+ stringBuffer.append(_ArrayList);
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));
+ stringBuffer.append(TEXT_123);
+ stringBuffer.append(genPackage.getImportedEditPluginClassName());
+ stringBuffer.append(TEXT_124);
+ }
+ }
+ stringBuffer.append(TEXT_125);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_17);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ canGenerate = canGenerate && (!genPackage.getGenClasses().isEmpty());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java
new file mode 100644
index 000000000..ea9b70960
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java
@@ -0,0 +1,271 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized ManifestMF create(String lineSeparator) {
+ nl = lineSeparator;
+ ManifestMF result = new ManifestMF();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL + "Bundle-Name: ";
+ protected final String TEXT_2 = NL + "Bundle-SymbolicName: ";
+ protected final String TEXT_3 = ";singleton:=true" + NL + "Automatic-Module-Name: ";
+ protected final String TEXT_4 = NL + "Bundle-Version: 1.0.0.qualifier" + NL + "Bundle-ClassPath: ";
+ protected final String TEXT_5 = ".jar";
+ protected final String TEXT_6 = ".";
+ protected final String TEXT_7 = NL + "Bundle-Activator: ";
+ protected final String TEXT_8 = "$Implementation";
+ protected final String TEXT_9 = "$Activator";
+ protected final String TEXT_10 = NL + "Bundle-Vendor: ";
+ protected final String TEXT_11 = NL + "Bundle-Localization: ";
+ protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";
+ protected final String TEXT_13 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";
+ protected final String TEXT_14 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";
+ protected final String TEXT_15 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";
+ protected final String TEXT_16 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-9";
+ protected final String TEXT_17 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-10";
+ protected final String TEXT_18 = NL + "Export-Package: ";
+ protected final String TEXT_19 = ",";
+ protected final String TEXT_20 = NL + " ";
+ protected final String TEXT_21 = NL + "Require-Bundle: ";
+ protected final String TEXT_22 = ";resolution:=optional;x-installation:=greedy";
+ protected final String TEXT_23 = ";visibility:=reexport";
+ protected final String TEXT_24 = NL + "Import-Package: org.osgi.framework";
+ protected final String TEXT_25 = NL + "Eclipse-LazyStart: true";
+ protected final String TEXT_26 = NL + "Bundle-ActivationPolicy: lazy" + NL;
+ protected final String TEXT_27 = NL;
+
+ public ManifestMF() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(TEXT_27);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditProjectDirectory() + "/META-INF/MANIFEST.MF";
+ overwrite = genModel.isUpdateClasspath();
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genModel.getEditBundleNameKey());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getEditPluginID());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getEditPluginID());
+ stringBuffer.append(TEXT_4);
+ if (genModel.isRuntimeJar()) {
+ stringBuffer.append(genModel.getEditPluginID());
+ stringBuffer.append(TEXT_5);
+ } else {
+ stringBuffer.append(TEXT_6);
+ }
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genModel.getQualifiedEditPluginClassName());
+ stringBuffer.append(TEXT_8);
+ if (genModel.isOSGiCompatible()) {
+ stringBuffer.append(TEXT_9);
+ }
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getEditBundleVendorKey());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getEditBundleLocalization());
+ if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {
+ stringBuffer.append(TEXT_12);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {
+ stringBuffer.append(TEXT_13);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {
+ stringBuffer.append(TEXT_14);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {
+ stringBuffer.append(TEXT_15);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {
+ stringBuffer.append(TEXT_16);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {
+ stringBuffer.append(TEXT_17);
+ }
+ Iterator<String> packagesIterator = genModel.getEditQualifiedPackageNames().iterator();
+ if (packagesIterator.hasNext()) {
+ String pack = packagesIterator.next();
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(pack);
+ while (packagesIterator.hasNext()) {
+ pack = packagesIterator.next();
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(pack);
+ }
+ }
+ Iterator<String> requiredPluginIterator = genModel.getEditRequiredPlugins().iterator();
+ if (requiredPluginIterator.hasNext()) {
+ String pluginID = requiredPluginIterator.next();
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(pluginID);
+ if (pluginID.startsWith("org.eclipse.core.runtime")) {
+ if (genModel.isOSGiCompatible()) {
+ stringBuffer.append(TEXT_22);
+ }
+ } else {
+ stringBuffer.append(TEXT_23);
+ }
+ while (requiredPluginIterator.hasNext()) {
+ pluginID = requiredPluginIterator.next();
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(pluginID);
+ if (pluginID.startsWith("org.eclipse.core.runtime")) {
+ if (genModel.isOSGiCompatible()) {
+ stringBuffer.append(TEXT_22);
+ }
+ } else if (!pluginID.equals("org.eclipse.xtext.xbase.lib")
+ && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {
+ stringBuffer.append(TEXT_23);
+ }
+ }
+ }
+ if (genModel.isOSGiCompatible()) {
+ stringBuffer.append(TEXT_24);
+ }
+ if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22
+ || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {
+ stringBuffer.append(TEXT_25);
+ }
+ stringBuffer.append(TEXT_26);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ canGenerate = canGenerate && (genModel.isBundleManifest()) && (!genModel.sameEditEditorProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java
new file mode 100644
index 000000000..853b65f23
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java
@@ -0,0 +1,202 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModuleGWTXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized ModuleGWTXML create(String lineSeparator) {
+ nl = lineSeparator;
+ ModuleGWTXML result = new ModuleGWTXML();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL
+ + "<!DOCTYPE module PUBLIC \"-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN\" \"http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd\">"
+ + NL;
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + NL + "<module>";
+ protected final String TEXT_4 = NL + " <inherits name=\"";
+ protected final String TEXT_5 = "\" />";
+ protected final String TEXT_6 = NL + " <source path=\"";
+ protected final String TEXT_7 = "\"/>";
+ protected final String TEXT_8 = NL + "</module>" + NL;
+ protected final String TEXT_9 = NL;
+
+ public ModuleGWTXML() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(TEXT_9);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditDirectory() + "/" + genModel.getQualifiedEditModuleName().replace(".", "/")
+ + ".gwt.xml";
+ overwrite = false;
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_3);
+ for (String inherits : genModel.getEditModuleInherits()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(inherits);
+ stringBuffer.append(TEXT_5);
+ }
+ for (String source : genModel.getEditModuleSources()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(source);
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ canGenerate = canGenerate
+ && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT && !genModel.sameModelEditorProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java
new file mode 100644
index 000000000..a24adda05
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java
@@ -0,0 +1,512 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Plugin extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+ protected static String nl;
+
+ public static synchronized Plugin create(String lineSeparator) {
+ nl = lineSeparator;
+ Plugin result = new Plugin();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the central singleton for the ";
+ protected final String TEXT_5 = " edit plugin." + NL + " * <!-- begin-user-doc -->" + NL
+ + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * ";
+ protected final String TEXT_7 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_8 = NL + "@Deprecated";
+ protected final String TEXT_9 = NL + "public final class ";
+ protected final String TEXT_10 = " extends EMFPlugin" + NL + "{";
+ protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_12 = " copyright = ";
+ protected final String TEXT_13 = ";";
+ protected final String TEXT_14 = NL;
+ protected final String TEXT_15 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static final ";
+ protected final String TEXT_16 = " INSTANCE = new ";
+ protected final String TEXT_17 = "();" + NL;
+ protected final String TEXT_18 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprivate static Implementation plugin;" + NL;
+ protected final String TEXT_19 = NL + "\t/**" + NL + "\t * Create the instance." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic ";
+ protected final String TEXT_20 = "()" + NL + "\t{" + NL + "\t\tsuper" + NL + "\t\t (new ResourceLocator [] " + NL
+ + "\t\t {";
+ protected final String TEXT_21 = NL + "\t\t ";
+ protected final String TEXT_22 = ".INSTANCE,";
+ protected final String TEXT_23 = NL + "\t\t });" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Returns the singleton instance of the Eclipse plugin." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the singleton instance." + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_24 = NL + "\t@Override";
+ protected final String TEXT_25 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";
+ protected final String TEXT_26 = NL + "\t\treturn null;";
+ protected final String TEXT_27 = NL + "\t\treturn plugin;";
+ protected final String TEXT_28 = NL + "\t}" + NL;
+ protected final String TEXT_29 = NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static Implementation getPlugin()" + NL + "\t{" + NL + "\t\treturn plugin;" + NL + "\t}" + NL
+ + "" + NL + "\t/**" + NL + "\t * The actual implementation of the Eclipse <b>Plugin</b>." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static class Implementation extends EclipsePlugin" + NL + "\t{" + NL + "\t\t/**" + NL
+ + "\t\t * Creates an instance." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->";
+ protected final String TEXT_30 = NL + "\t\t * @param descriptor the description of the plugin.";
+ protected final String TEXT_31 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";
+ protected final String TEXT_32 = " descriptor";
+ protected final String TEXT_33 = ")" + NL + "\t\t{" + NL + "\t\t\tsuper(";
+ protected final String TEXT_34 = "descriptor";
+ protected final String TEXT_35 = ");" + NL + "" + NL + "\t\t\t// Remember the static instance." + NL + "\t\t\t//"
+ + NL + "\t\t\tplugin = this;" + NL + "\t\t}";
+ protected final String TEXT_36 = NL + "\t" + NL + "\t\t/**" + NL
+ + "\t\t * The actual implementation of the purely OSGi-compatible <b>Bundle Activator</b>." + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tpublic static final class Activator extends ";
+ protected final String TEXT_37 = ".OSGiDelegatingBundleActivator" + NL + "\t\t{";
+ protected final String TEXT_38 = NL + "\t\t\t@Override";
+ protected final String TEXT_39 = NL + "\t\t\tprotected ";
+ protected final String TEXT_40 = " createBundle()" + NL + "\t\t\t{" + NL + "\t\t\t\treturn new Implementation();"
+ + NL + "\t\t\t}" + NL + "\t\t}";
+ protected final String TEXT_41 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected static final ";
+ protected final String TEXT_42 = " PROPERTIES = ";
+ protected final String TEXT_43 = ".create(";
+ protected final String TEXT_44 = ".class);" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL
+ + "\tpublic String getString(String key, boolean translate)" + NL + "\t{";
+ protected final String TEXT_45 = NL + "\t\t";
+ protected final String TEXT_46 = "else ";
+ protected final String TEXT_47 = "if (\"_UI_";
+ protected final String TEXT_48 = "_type\".equals(key)) return PROPERTIES.";
+ protected final String TEXT_49 = "Type();";
+ protected final String TEXT_50 = " if (\"_UI_Unknown_type\".equals(key)) return PROPERTIES.unknownType();" + NL
+ + "\t\telse if (\"_UI_Unknown_datatype\".equals(key)) return PROPERTIES.unknownDatatype();";
+ protected final String TEXT_51 = NL + "\t\telse if (\"_UI_";
+ protected final String TEXT_52 = "_";
+ protected final String TEXT_53 = "_feature\".equals(key)) return PROPERTIES.";
+ protected final String TEXT_54 = "Feature();";
+ protected final String TEXT_55 = "_description\".equals(key)) return PROPERTIES.";
+ protected final String TEXT_56 = "Description();";
+ protected final String TEXT_57 = NL
+ + "\t\telse if (\"_UI_Unknown_feature\".equals(key)) return PROPERTIES.unknownFeature();";
+ protected final String TEXT_58 = "_literal\".equals(key)) return PROPERTIES.";
+ protected final String TEXT_59 = "Literal();";
+ protected final String TEXT_60 = " = ";
+ protected final String TEXT_61 = NL + "\t\telse if (\"";
+ protected final String TEXT_62 = "\".equals(key)) return PROPERTIES.";
+ protected final String TEXT_63 = "();";
+ protected final String TEXT_64 = NL + "\t\telse return key;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t@Override" + NL
+ + "\tpublic String getString(String key, Object [] substitutions, boolean translate)" + NL + "\t{";
+ protected final String TEXT_65 = NL
+ + "\t\tif (\"_UI_CreateChild_text\".equals(key)) return PROPERTIES.createChildText(substitutions[0]);" + NL
+ + "\t\telse if (\"_UI_CreateChild_text2\".equals(key)) return PROPERTIES.createChildText2(substitutions[0], substitutions[1]);"
+ + NL
+ + "\t\telse if (\"_UI_CreateChild_text3\".equals(key)) return PROPERTIES.createChildText3(substitutions[1]);"
+ + NL
+ + "\t\telse if (\"_UI_CreateChild_tooltip\".equals(key)) return PROPERTIES.createChildTooltip(substitutions[0], substitutions[1]);"
+ + NL
+ + "\t\telse if (\"_UI_CreateChild_description\".equals(key)) return PROPERTIES.createChildDescripition(substitutions[0], substitutions[1], substitutions[2]);"
+ + NL
+ + "\t\telse if (\"_UI_CreateSibling_description\".equals(key)) return PROPERTIES.createSiblingDescription(substitutions[0], substitutions[1], substitutions[2]);";
+ protected final String TEXT_66 = "if (\"_UI_PropertyDescriptor_description\".equals(key)) return PROPERTIES.propertyDescriptorDescription(substitutions[0], substitutions[1]);"
+ + NL + "\t\telse return key;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected static final ";
+ protected final String TEXT_67 = " IMAGES = ";
+ protected final String TEXT_68 = ".class);" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL
+ + "\tpublic Object getImage(String key)" + NL + "\t{";
+ protected final String TEXT_69 = "if (\"";
+ protected final String TEXT_70 = "\".equals(key)) return IMAGES.";
+ protected final String TEXT_71 = "return key;" + NL + "\t}" + NL;
+ protected final String TEXT_72 = NL + "}";
+ protected final String TEXT_73 = NL;
+
+ public Plugin() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(TEXT_73);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPath = genModel.getEditPluginDirectory();
+ packageName = genModel.getEditPluginPackageName();
+ className = genModel.getEditPluginClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getEditPluginPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.addImport("org.eclipse.emf.common.EMFPlugin");
+ genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_5);
+ if (genModel.hasAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (isJDK50 && genModel.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getEditPluginClassName());
+ stringBuffer.append(TEXT_10);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getEditPluginClassName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genModel.getEditPluginClassName());
+ stringBuffer.append(TEXT_17);
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getEditPluginClassName());
+ stringBuffer.append(TEXT_20);
+ for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(pluginClassName);
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_24);
+ }
+ stringBuffer.append(TEXT_25);
+ if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_26);
+ } else {
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_28);
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_29);
+ if (genModel.needsRuntimeCompatibility()) {
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_31);
+ if (genModel.needsRuntimeCompatibility()) {
+ stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));
+ stringBuffer.append(TEXT_32);
+ }
+ stringBuffer.append(TEXT_33);
+ if (genModel.needsRuntimeCompatibility()) {
+ stringBuffer.append(TEXT_34);
+ }
+ stringBuffer.append(TEXT_35);
+ if (genModel.isOSGiCompatible()) {
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.EMFPlugin"));
+ stringBuffer.append(TEXT_37);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.osgi.framework.BundleActivator"));
+ stringBuffer.append(TEXT_40);
+ }
+ stringBuffer.append(TEXT_28);
+ } else {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties"));
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.core.client.GWT"));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties"));
+ stringBuffer.append(TEXT_44);
+ boolean first = true;
+ for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+ if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ stringBuffer.append(TEXT_45);
+ if (first) {
+ first = false;
+ } else {
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClass.getUncapName());
+ stringBuffer.append(TEXT_49);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_45);
+ if (first) {
+ first = false;
+ } else {
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_50);
+ for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) {
+ String description = genFeature.getPropertyDescription();
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genFeature.getGenClass().getName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genFeature.getGenClass().getUncapName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_54);
+ if (description != null && description.length() > 0) {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genFeature.getGenClass().getName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genFeature.getGenClass().getUncapName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_56);
+ }
+ }
+ stringBuffer.append(TEXT_57);
+ for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+ if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+ for (GenEnum genEnum : genPackage.getGenEnums()) {
+ for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genEnumLiteral.getName());
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genEnum.getSafeUncapName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genEnumLiteral.getName());
+ stringBuffer.append(TEXT_59);
+ }
+ }
+ }
+ }
+ for (String category : genModel.getPropertyCategories()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getPropertyCategoryKey(category));
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(category);
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genModel.getPropertyCategoryKey(category));
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genModel.getPropertyCategoryKey(category));
+ stringBuffer.append(TEXT_63);
+ }
+ stringBuffer.append(TEXT_64);
+ if (genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_65);
+ }
+ stringBuffer.append(TEXT_45);
+ if (!genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images"));
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.core.client.GWT"));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images"));
+ stringBuffer.append(TEXT_68);
+ first = true;
+ for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (genClass.isImage()) {
+ String image = genClass.getItemIconFileName();
+ image = image.substring(image.lastIndexOf("/icons/") + 7, image.length() - 4);
+ stringBuffer.append(TEXT_45);
+ if (first) {
+ first = false;
+ } else {
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(image);
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genClass.getItemIconAccessorName());
+ stringBuffer.append(TEXT_63);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_45);
+ if (first) {
+ first = false;
+ } else {
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_72);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_14);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ canGenerate = canGenerate && (!genModel.sameEditEditorProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java
new file mode 100644
index 000000000..64c9608e8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java
@@ -0,0 +1,264 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {
+ protected static String nl;
+
+ public static synchronized PluginProperties create(String lineSeparator) {
+ nl = lineSeparator;
+ PluginProperties result = new PluginProperties();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + NL + "pluginName = ";
+ protected final String TEXT_3 = NL + "providerName = ";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "_UI_CreateChild_text = {0}" + NL + "_UI_CreateChild_text2 = {1} ";
+ protected final String TEXT_6 = "| ";
+ protected final String TEXT_7 = "{0}" + NL + "_UI_CreateChild_text3 = {1}" + NL
+ + "_UI_CreateChild_tooltip = Create New {0} Under {1} Feature" + NL
+ + "_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}."
+ + NL
+ + "_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent."
+ + NL;
+ protected final String TEXT_8 = NL + "_UI_PropertyDescriptor_description = The {0} of the {1}" + NL;
+ protected final String TEXT_9 = NL + "_UI_";
+ protected final String TEXT_10 = "_type = ";
+ protected final String TEXT_11 = NL + "_UI_Unknown_type = Object" + NL + "" + NL + "_UI_Unknown_datatype= Value"
+ + NL;
+ protected final String TEXT_12 = "_";
+ protected final String TEXT_13 = "_feature = ";
+ protected final String TEXT_14 = "_description = ";
+ protected final String TEXT_15 = NL + "_UI_Unknown_feature = Unspecified" + NL;
+ protected final String TEXT_16 = "_literal = ";
+ protected final String TEXT_17 = " = ";
+ protected final String TEXT_18 = NL;
+
+ public PluginProperties() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(TEXT_18);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditProjectDirectory() + "/" + genModel.getEditBundleLocalization()
+ + ".properties";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getEditBundleName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getEditBundleVendorName());
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_4);
+ if (genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_5);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+ if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genClass.getFormattedName());
+ }
+ }
+ }
+ stringBuffer.append(TEXT_11);
+ for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) {
+ String description = genFeature.getPropertyDescription();
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getGenClass().getName());
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getFormattedName());
+ if (description != null && description.length() > 0) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getGenClass().getName());
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(description);
+ }
+ }
+ stringBuffer.append(TEXT_15);
+ for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+ if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+ for (GenEnum genEnum : genPackage.getGenEnums()) {
+ for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genEnumLiteral.getName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genEnumLiteral.getLiteral());
+ }
+ }
+ }
+ }
+ for (String category : genModel.getPropertyCategories()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getPropertyCategoryKey(category));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(category);
+ }
+ }
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ canGenerate = canGenerate && (true);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java
new file mode 100644
index 000000000..9fb6b506c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java
@@ -0,0 +1,385 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized PluginXML create(String lineSeparator) {
+ nl = lineSeparator;
+ PluginXML result = new PluginXML();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"
+ + NL;
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "<plugin>";
+ protected final String TEXT_4 = NL + "<plugin" + NL + " name=\"%pluginName\"" + NL + " id=\"";
+ protected final String TEXT_5 = "\"" + NL + " version=\"1.0.0\"" + NL + " provider-name=\"%providerName\""
+ + NL + " class=\"";
+ protected final String TEXT_6 = "$Implementation\">" + NL + "" + NL + " <requires>";
+ protected final String TEXT_7 = NL + " <import plugin=\"";
+ protected final String TEXT_8 = "\"";
+ protected final String TEXT_9 = " export=\"true\"";
+ protected final String TEXT_10 = "/>";
+ protected final String TEXT_11 = NL + " </requires>" + NL + "" + NL + " <runtime>";
+ protected final String TEXT_12 = NL + " <library name=\"";
+ protected final String TEXT_13 = ".jar\">";
+ protected final String TEXT_14 = NL + " <library name=\".\">";
+ protected final String TEXT_15 = NL + " <export name=\"*\"/>" + NL + " </library>" + NL
+ + " </runtime>";
+ protected final String TEXT_16 = NL + NL + " <extension point=\"org.eclipse.emf.ecore.generated_package\">";
+ protected final String TEXT_17 = NL + " <!-- @generated ";
+ protected final String TEXT_18 = " -->";
+ protected final String TEXT_19 = NL + " <package" + NL + " uri=\"";
+ protected final String TEXT_20 = NL + " class=\"";
+ protected final String TEXT_21 = "\"" + NL + " genModel=\"";
+ protected final String TEXT_22 = "\"/>";
+ protected final String TEXT_23 = NL + " </extension>";
+ protected final String TEXT_24 = NL + NL + " <extension point=\"org.eclipse.emf.ecore.content_parser\">";
+ protected final String TEXT_25 = NL + " <parser" + NL + " contentTypeIdentifier=\"";
+ protected final String TEXT_26 = "\"" + NL + " class=\"";
+ protected final String TEXT_27 = "\"/>" + NL + " </extension>" + NL + "" + NL
+ + " <extension point=\"org.eclipse.core.contenttype.contentTypes\">";
+ protected final String TEXT_28 = NL + " <content-type" + NL + " base-type=\"";
+ protected final String TEXT_29 = "\"" + NL + " file-extensions=\"";
+ protected final String TEXT_30 = "\"" + NL + " id=\"";
+ protected final String TEXT_31 = "\"" + NL + " name=\"%_UI_";
+ protected final String TEXT_32 = "_content_type\"" + NL + " priority=\"normal\">" + NL
+ + " <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";
+ protected final String TEXT_33 = NL + " <parameter name=\"namespace\" value=\"";
+ protected final String TEXT_34 = NL + " <parameter name=\"kind\" value=\"xmi\"/>";
+ protected final String TEXT_35 = NL + " </describer>" + NL + " </content-type>" + NL
+ + " </extension>";
+ protected final String TEXT_36 = NL + NL + " <extension point=\"org.eclipse.emf.ecore.extension_parser\">";
+ protected final String TEXT_37 = NL + " <parser" + NL + " type=\"";
+ protected final String TEXT_38 = NL + NL
+ + " <extension point=\"org.eclipse.emf.edit.itemProviderAdapterFactories\">";
+ protected final String TEXT_39 = NL + " <factory" + NL + " uri=\"";
+ protected final String TEXT_40 = "\"" + NL + " supportedTypes=";
+ protected final String TEXT_41 = NL + " ";
+ protected final String TEXT_42 = NL + NL + " <extension point=\"org.eclipse.emf.edit.childCreationExtenders\">";
+ protected final String TEXT_43 = NL + " <extender" + NL + " uri=\"";
+ protected final String TEXT_44 = "$";
+ protected final String TEXT_45 = NL + NL + "</plugin>" + NL;
+ protected final String TEXT_46 = NL;
+
+ public PluginXML() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(TEXT_46);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditProjectDirectory() + "/plugin.xml";
+ overwrite = true;
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ String key = genModel.getPluginKey();
+ boolean hasKey = key != null && !key.equals("");
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ if (genModel.isBundleManifest()) {
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getEditPluginID());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genModel.getQualifiedEditPluginClassName());
+ stringBuffer.append(TEXT_6);
+ for (String pluginID : genModel.getEditRequiredPlugins()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(pluginID);
+ stringBuffer.append(TEXT_8);
+ if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ if (genModel.isRuntimeJar()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getEditPluginID());
+ stringBuffer.append(TEXT_13);
+ } else {
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ }
+ if (genModel.sameModelEditProject()) {
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ stringBuffer.append(TEXT_16);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genPackage.getNSURI());
+ stringBuffer.append(TEXT_8);
+ if (genModel.hasLocalGenModel()) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getRelativeGenModelLocation());
+ stringBuffer.append(TEXT_22);
+ } else {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ if (genPackage.isContentType()) {
+ stringBuffer.append(TEXT_24);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genPackage.getContentTypeIdentifier());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());
+ stringBuffer.append(TEXT_27);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(
+ genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml");
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genPackage.getFileExtensions());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genPackage.getContentTypeIdentifier());
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_32);
+ if (genPackage.hasTargetNamespace()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genPackage.getNSURI());
+ stringBuffer.append(TEXT_22);
+ }
+ if (genPackage.isXMIResource()) {
+ stringBuffer.append(TEXT_34);
+ }
+ stringBuffer.append(TEXT_35);
+ } else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {
+ stringBuffer.append(TEXT_36);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ for (String fileExtension : genPackage.getFileExtensionList()) {
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(fileExtension);
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ }
+ }
+ }
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ if (!genPackage.getGenClasses().isEmpty()) {
+ stringBuffer.append(TEXT_38);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genPackage.getNSURI());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_40);
+ for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext();) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(j.hasPrevious() ? " " : "\"");
+ stringBuffer.append(j.next());
+ if (!j.hasNext()) {
+ stringBuffer.append(TEXT_22);
+ }
+ }
+ stringBuffer.append(TEXT_23);
+ if (genPackage.isChildCreationExtenders()) {
+ Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage
+ .getExtendedChildCreationData();
+ if (!extendedChildCreationData.isEmpty()) {
+ stringBuffer.append(TEXT_42);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData
+ .entrySet()) {
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(entry.getKey().getNSURI());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genPackage.getChildCreationExtenderName(entry.getKey()));
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_45);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT)
+ && (!genModel.sameEditEditorProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java
new file mode 100644
index 000000000..0188c3072
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java
@@ -0,0 +1,335 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Properties extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+ protected static String nl;
+
+ public static synchronized Properties create(String lineSeparator) {
+ nl = lineSeparator;
+ Properties result = new Properties();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public interface ";
+ protected final String TEXT_5 = "Properties extends ";
+ protected final String TEXT_6 = NL + "{";
+ protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\t@Key(\"_UI_CreateChild_text\")" + NL + "\t@DefaultMessage(\"{0}\")" + NL
+ + "\tString createChildText(Object type);" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\t@Key(\"_UI_CreateChild_text2\")" + NL + "\t@DefaultMessage(\"{1} ";
+ protected final String TEXT_8 = "| ";
+ protected final String TEXT_9 = "{0}\")" + NL + "\tString createChildText2(Object type, Object feature);" + NL + ""
+ + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_CreateChild_text3\")" + NL
+ + "\t@DefaultMessage(\"{0}\")" + NL + "\tString createChildText3(Object feature);" + NL + "" + NL + "\t/**"
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\t@Key(\"_UI_CreateChild_tooltip\")" + NL
+ + "\t@DefaultMessage(\"Create New {0} Under {1} Feature\")" + NL
+ + "\tString createChildTooltip(Object type, Object feature);" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t@Key(\"_UI_CreateChild_description\")" + NL
+ + "\t@DefaultMessage(\"Create a new child of type {0} for the {1} feature of the selected {2}.\")" + NL
+ + "\tString createChildDescripition(Object type, Object feature, Object selection);" + NL + "" + NL
+ + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated"
+ + NL + "\t */" + NL + "\t@Key(\"_UI_CreateSibling_description\")" + NL
+ + "\t@DefaultMessage(\"Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.\")"
+ + NL + "\tString createSiblingDescription(Object type, Object feature, Object selection);" + NL;
+ protected final String TEXT_10 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\t@Key(\"_UI_PropertyDescriptor_description\")" + NL + "\t@DefaultMessage(\"The {0} of the {1}\")" + NL
+ + "\tString propertyDescriptorDescription(Object feature, Object type);" + NL;
+ protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_";
+ protected final String TEXT_12 = "_type\")" + NL + "\t@DefaultMessage(\"";
+ protected final String TEXT_13 = "\")" + NL + "\tString ";
+ protected final String TEXT_14 = "Type();" + NL;
+ protected final String TEXT_15 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_Unknown_type\")"
+ + NL + "\t@DefaultMessage(\"Object\")" + NL + "\tString unknownType();" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t@Key(\"_UI_Unknown_datatype\")" + NL + "\t@DefaultMessage(\"Value\")" + NL
+ + "\tString unknownDatatype();" + NL;
+ protected final String TEXT_16 = "_";
+ protected final String TEXT_17 = "_feature\")" + NL + "\t@DefaultMessage(\"";
+ protected final String TEXT_18 = "Feature();" + NL;
+ protected final String TEXT_19 = "_description\")" + NL + "\t@DefaultMessage(\"";
+ protected final String TEXT_20 = "Description();" + NL;
+ protected final String TEXT_21 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\t@Key(\"_UI_Unknown_feature\")" + NL + "\t@DefaultMessage(\"Unspecified\")" + NL
+ + "\tString unknownFeature();" + NL;
+ protected final String TEXT_22 = "_literal\")" + NL + "\t@DefaultMessage(\"";
+ protected final String TEXT_23 = "Literal();" + NL;
+ protected final String TEXT_24 = NL;
+ protected final String TEXT_25 = " = ";
+ protected final String TEXT_26 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"";
+ protected final String TEXT_27 = "\")" + NL + "\t@DefaultMessage(\"";
+ protected final String TEXT_28 = "();" + NL;
+ protected final String TEXT_29 = NL + "}";
+ protected final String TEXT_30 = NL;
+
+ public Properties() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(TEXT_30);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPath = genModel.getEditPluginDirectory();
+ packageName = genModel.getEditPluginPackageName();
+ className = genModel.getEditPluginClassName() + "Properties";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getEditPluginPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getEditPluginClassName());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.i18n.client.Messages"));
+ stringBuffer.append(TEXT_6);
+ if (genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_7);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+ if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genClass.getUncapName());
+ stringBuffer.append(TEXT_14);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_15);
+ for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) {
+ String description = genFeature.getPropertyDescription();
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getGenClass().getName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getGenClass().getUncapName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_18);
+ if (description != null && description.length() > 0) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getGenClass().getName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(description);
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getGenClass().getUncapName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_20);
+ }
+ }
+ stringBuffer.append(TEXT_21);
+ for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+ if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+ for (GenEnum genEnum : genPackage.getGenEnums()) {
+ for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genEnumLiteral.getName());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genEnumLiteral.getLiteral());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genEnum.getSafeUncapName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genEnumLiteral.getName());
+ stringBuffer.append(TEXT_23);
+ }
+ }
+ }
+ }
+ for (String category : genModel.getPropertyCategories()) {
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getPropertyCategoryKey(category));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(category);
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genModel.getPropertyCategoryKey(category));
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(category);
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getPropertyCategoryKey(category));
+ stringBuffer.append(TEXT_28);
+ }
+ stringBuffer.append(TEXT_29);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_24);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT)
+ && (!genModel.sameEditEditorProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java
new file mode 100644
index 000000000..dc66cc643
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java
@@ -0,0 +1,321 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvideraddPropertyDescriptoroverride {
+ protected static String nl;
+
+ public static synchronized ItemProvideraddPropertyDescriptoroverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvideraddPropertyDescriptoroverride result = new ItemProvideraddPropertyDescriptoroverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\titemPropertyDescriptors.add" + NL + "\t\t\t(createItemPropertyDescriptor"
+ + NL + "\t\t\t\t(((";
+ protected final String TEXT_2 = ")adapterFactory).getRootAdapterFactory()," + NL + "\t\t\t\t getResourceLocator(),"
+ + NL + "\t\t\t\t getString(\"_UI_";
+ protected final String TEXT_3 = "_";
+ protected final String TEXT_4 = "_feature\"),";
+ protected final String TEXT_5 = NL + "\t\t\t\t getString(\"_UI_PropertyDescriptor_description\", \"_UI_";
+ protected final String TEXT_6 = "_feature\", \"_UI_";
+ protected final String TEXT_7 = "_type\"),";
+ protected final String TEXT_8 = NL + "\t\t\t\t getString(\"_UI_";
+ protected final String TEXT_9 = "_description\"),";
+ protected final String TEXT_10 = NL + "\t\t\t\t ";
+ protected final String TEXT_11 = "," + NL + "\t\t\t\t ";
+ protected final String TEXT_12 = ",";
+ protected final String TEXT_13 = NL + "\t\t\t\t null,";
+ protected final String TEXT_14 = ".";
+ protected final String TEXT_15 = NL + "\t\t\t\t getString(\"";
+ protected final String TEXT_16 = "\"),";
+ protected final String TEXT_17 = NL + "\t\t\t\t null," + NL + "\t\t\t\t ";
+ protected final String TEXT_18 = ".createURI(";
+ protected final String TEXT_19 = ")));";
+ protected final String TEXT_20 = NL + "\t\t\t\t null));";
+ protected final String TEXT_21 = NL + "\t\t\t\t new String[] {";
+ protected final String TEXT_22 = NL + "\t\t\t\t\t\"";
+ protected final String TEXT_23 = "\"";
+ protected final String TEXT_24 = NL + "\t\t\t\t }," + NL + "\t\t\t\t ";
+ protected final String TEXT_25 = NL + "\t\t\t\t }));";
+ protected final String TEXT_26 = NL;
+ protected final String TEXT_27 = NL;
+
+ public ItemProvideraddPropertyDescriptoroverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object _ListParameter : _ListList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this._List = (java.lang.String) _ListParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(TEXT_27);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("_List", this._List);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String _List = null;
+
+ public void set__List(java.lang.String object) {
+ this._List = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("_List", this._List);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ComposeableAdapterFactory"));
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGenClass().getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getNonNLS());
+ if (genFeature.getPropertyDescription() == null || genFeature.getPropertyDescription().length() == 0) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGenClass().getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genFeature.getGenClass().getName());
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(genModel.getNonNLS(3));
+ } else {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getGenClass().getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getProperty() == GenPropertyKind.EDITABLE_LITERAL ? "true" : "false");
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.isPropertyMultiLine() ? "true" : "false");
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.isPropertySortChoices() ? "true" : "false");
+ stringBuffer.append(TEXT_12);
+ if (genFeature.isReferenceType()) {
+ stringBuffer.append(TEXT_13);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ItemPropertyDescriptor"));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getPropertyImageName());
+ stringBuffer.append(TEXT_12);
+ }
+ if (genFeature.getPropertyCategory() == null || genFeature.getPropertyCategory().length() == 0) {
+ stringBuffer.append(TEXT_13);
+ } else {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getPropertyCategoryKey(genFeature.getPropertyCategory()));
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ if (genFeature.getPropertyFilterFlags().isEmpty()) {
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE
+ && genFeature.getPropertyEditorFactory() != null
+ && genFeature.getPropertyEditorFactory().trim().length() != 0) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(org.eclipse.emf.codegen.ecore.genmodel.impl.Literals
+ .toStringLiteral(genFeature.getPropertyEditorFactory().trim(), genModel));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_20);
+ }
+ } else {
+ stringBuffer.append(TEXT_21);
+ /*}*/for (Iterator<String> j = genFeature.getPropertyFilterFlags().iterator(); j.hasNext();) {
+ String filterFlag = j.next();
+ if (filterFlag != null && filterFlag.length() > 0) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(filterFlag);
+ stringBuffer.append(TEXT_23);
+ if (j.hasNext()) {
+ stringBuffer.append(TEXT_12);
+ }
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ }
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE
+ && genFeature.getPropertyEditorFactory() != null
+ && genFeature.getPropertyEditorFactory().trim().length() != 0) { // {
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(org.eclipse.emf.codegen.ecore.genmodel.impl.Literals
+ .toStringLiteral(genFeature.getPropertyEditorFactory().trim(), genModel));
+ stringBuffer.append(TEXT_19);
+ } else { // {
+ stringBuffer.append(TEXT_25);
+ }
+ }
+ stringBuffer.append(TEXT_26);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java
new file mode 100644
index 000000000..c3b10d5ee
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java
@@ -0,0 +1,383 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidergetStyledTextoverride {
+ protected static String nl;
+
+ public static synchronized ItemProvidergetStyledTextoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvidergetStyledTextoverride result = new ItemProvidergetStyledTextoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t\t";
+ protected final String TEXT_3 = "<?, ?>";
+ protected final String TEXT_4 = " ";
+ protected final String TEXT_5 = " = (";
+ protected final String TEXT_6 = ")object;";
+ protected final String TEXT_7 = NL + "\t\treturn new ";
+ protected final String TEXT_8 = "(\"\" + ";
+ protected final String TEXT_9 = ".getKey()).append(\" -> \", ";
+ protected final String TEXT_10 = ".QUALIFIER_STYLER).append(\"\" + ";
+ protected final String TEXT_11 = ".getValue());";
+ protected final String TEXT_12 = NL + "\t\tString key = crop(\"\" + ";
+ protected final String TEXT_13 = ".getKey());";
+ protected final String TEXT_14 = NL + "\t\tString key = \"\" + ";
+ protected final String TEXT_15 = ".getKey();";
+ protected final String TEXT_16 = NL + "\t\tString value = crop(\"\" + ";
+ protected final String TEXT_17 = NL + "\t\tString value = \"\" + ";
+ protected final String TEXT_18 = ".getValue();";
+ protected final String TEXT_19 = "(key).append(\" -> \", ";
+ protected final String TEXT_20 = ".QUALIFIER_STYLER).append(value);";
+ protected final String TEXT_21 = ")object;" + NL + "\t\treturn new ";
+ protected final String TEXT_22 = "(getString(\"_UI_";
+ protected final String TEXT_23 = "_type\"), ";
+ protected final String TEXT_24 = ".QUALIFIER_STYLER).append(\" \").append(";
+ protected final String TEXT_25 = ".toString(";
+ protected final String TEXT_26 = ".";
+ protected final String TEXT_27 = "()));";
+ protected final String TEXT_28 = NL + "\t\tString label = crop(((";
+ protected final String TEXT_29 = ")object).";
+ protected final String TEXT_30 = "());";
+ protected final String TEXT_31 = NL + "\t\tString label = ((";
+ protected final String TEXT_32 = "();";
+ protected final String TEXT_33 = " labelValue = ((";
+ protected final String TEXT_34 = ")object).eGet(";
+ protected final String TEXT_35 = ");";
+ protected final String TEXT_36 = NL + "\t\tString label = labelValue == null ? null : labelValue.toString();";
+ protected final String TEXT_37 = NL + " \t";
+ protected final String TEXT_38 = " styledLabel = new ";
+ protected final String TEXT_39 = "();" + NL + "\t\tif (label == null || label.length() == 0)" + NL + "\t\t{" + NL
+ + "\t\t\tstyledLabel.append(getString(\"_UI_";
+ protected final String TEXT_40 = ".QUALIFIER_STYLER); ";
+ protected final String TEXT_41 = NL + "\t\t} else {" + NL + "\t\t\tstyledLabel.append(getString(\"_UI_";
+ protected final String TEXT_42 = ".QUALIFIER_STYLER).append(\" \" + label);";
+ protected final String TEXT_43 = NL + "\t\t}" + NL + "\t\treturn styledLabel;";
+ protected final String TEXT_44 = "_type\"));";
+ protected final String TEXT_45 = NL;
+ protected final String TEXT_46 = NL;
+
+ public ItemProvidergetStyledTextoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object _ListParameter : _ListList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this._List = (java.lang.String) _ListParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(TEXT_46);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("_List", this._List);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String _List = null;
+
+ public void set__List(java.lang.String object) {
+ this._List = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("_List", this._List);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genClass.isMapEntry()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_6);
+ if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine()
+ && !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ } else {
+ if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ } else if (genClass.getLabelFeature() != null) {
+ GenFeature labelFeature = genClass.getLabelFeature();
+ if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic()
+ && !labelFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(labelFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genClass.getLabelFeature().getGetAccessor());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ } else {
+ if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic()
+ && !labelFeature.isSuppressedGetVisibility()) {
+ if (labelFeature.isPropertyMultiLine()) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(labelFeature.getGetAccessor());
+ stringBuffer.append(TEXT_30);
+ } else {
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(labelFeature.getGetAccessor());
+ stringBuffer.append(TEXT_32);
+ }
+ } else {
+ if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(labelFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_35);
+ } else {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(labelFeature.getRawImportedType());
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(labelFeature.getGetAccessor());
+ stringBuffer.append(TEXT_32);
+ }
+ stringBuffer.append(TEXT_36);
+ }
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_43);
+ }
+ } else {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_45);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java
new file mode 100644
index 000000000..f55f0592e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java
@@ -0,0 +1,357 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidergetTextoverride {
+ protected static String nl;
+
+ public static synchronized ItemProvidergetTextoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvidergetTextoverride result = new ItemProvidergetTextoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t\treturn ((";
+ protected final String TEXT_3 = ")getStyledText(object)).getString();";
+ protected final String TEXT_4 = NL + "\t\t";
+ protected final String TEXT_5 = "<?, ?>";
+ protected final String TEXT_6 = " ";
+ protected final String TEXT_7 = " = (";
+ protected final String TEXT_8 = ")object;";
+ protected final String TEXT_9 = NL + "\t\treturn \"\" + ";
+ protected final String TEXT_10 = ".getKey() + \" -> \" + ";
+ protected final String TEXT_11 = ".getValue();";
+ protected final String TEXT_12 = NL + "\t\tString key = crop(\"\" + ";
+ protected final String TEXT_13 = ".getKey());";
+ protected final String TEXT_14 = NL + "\t\tString key = \"\" + ";
+ protected final String TEXT_15 = ".getKey();";
+ protected final String TEXT_16 = NL + "\t\tString value = crop(\"\" + ";
+ protected final String TEXT_17 = ".getValue());";
+ protected final String TEXT_18 = NL + "\t\tString value = \"\" + ";
+ protected final String TEXT_19 = NL + "\t\treturn key + \" -> \" + value;";
+ protected final String TEXT_20 = ")object;" + NL + "\t\treturn getString(\"_UI_";
+ protected final String TEXT_21 = "_type\") + \" \" + ";
+ protected final String TEXT_22 = ".";
+ protected final String TEXT_23 = "();";
+ protected final String TEXT_24 = NL + "\t\tString label = crop(((";
+ protected final String TEXT_25 = ")object).";
+ protected final String TEXT_26 = "());";
+ protected final String TEXT_27 = NL + "\t\tString label = ((";
+ protected final String TEXT_28 = " labelValue = ((";
+ protected final String TEXT_29 = ")object).eGet(";
+ protected final String TEXT_30 = ");";
+ protected final String TEXT_31 = NL + "\t\tString label = labelValue == null ? null : labelValue.toString();";
+ protected final String TEXT_32 = NL + "\t\treturn label == null || label.length() == 0 ?" + NL
+ + "\t\t\tgetString(\"_UI_";
+ protected final String TEXT_33 = "_type\") :";
+ protected final String TEXT_34 = NL + "\t\t\tgetString(\"_UI_";
+ protected final String TEXT_35 = "_type\") + \" \" + label;";
+ protected final String TEXT_36 = NL + "\t\treturn getString(\"_UI_";
+ protected final String TEXT_37 = "_type\");";
+ protected final String TEXT_38 = NL;
+ protected final String TEXT_39 = NL;
+
+ public ItemProvidergetTextoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object _ListParameter : _ListList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this._List = (java.lang.String) _ListParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(TEXT_39);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("_List", this._List);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String _List = null;
+
+ public void set__List(java.lang.String object) {
+ this._List = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("_List", this._List);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genModel.isStyleProviders()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+ stringBuffer.append(TEXT_3);
+ } else {
+ if (genClass.isMapEntry()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_8);
+ if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine()
+ && !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ } else {
+ if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ } else if (genClass.getLabelFeature() != null) {
+ GenFeature labelFeature = genClass.getLabelFeature();
+ if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic()
+ && !labelFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getLabelFeature().getGetAccessor());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ } else {
+ if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic()
+ && !labelFeature.isSuppressedGetVisibility()) {
+ if (labelFeature.isPropertyMultiLine()) {
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(labelFeature.getGetAccessor());
+ stringBuffer.append(TEXT_26);
+ } else {
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(labelFeature.getGetAccessor());
+ stringBuffer.append(TEXT_23);
+ }
+ } else {
+ if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(labelFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_30);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(labelFeature.getRawImportedType());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(labelFeature.getGetAccessor());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ }
+ } else {
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ }
+ stringBuffer.append(TEXT_38);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java
new file mode 100644
index 000000000..8f9757144
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java
@@ -0,0 +1,186 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProviderinsert {
+ protected static String nl;
+
+ public static synchronized ItemProviderinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemProviderinsert result = new ItemProviderinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ItemProviderinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object _ListParameter : _ListList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this._List = (java.lang.String) _ListParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("_List", this._List);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String _List = null;
+
+ public void set__List(java.lang.String object) {
+ this._List = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("_List", this._List);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java
new file mode 100644
index 000000000..71d309e86
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java
@@ -0,0 +1,213 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert {
+ protected static String nl;
+
+ public static synchronized ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert create(
+ String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert result = new ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> createDataTypeList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> delegatedFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createClassifierList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> childCreationDataList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object createDataTypeParameter : createDataTypeList) {
+ for (Object createFeatureParameter : createFeatureList) {
+ for (Object delegatedFeatureParameter : delegatedFeatureList) {
+ for (Object createClassifierParameter : createClassifierList) {
+ for (Object childCreationDataParameter : childCreationDataList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;
+ this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+ this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+ this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+ this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("createDataType", this.createDataType);
+ parameterValues.put("createFeature", this.createFeature);
+ parameterValues.put("delegatedFeature", this.delegatedFeature);
+ parameterValues.put("createClassifier", this.createClassifier);
+ parameterValues.put("childCreationData", this.childCreationData);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;
+
+ public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {
+ this.createDataType = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+ public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.createFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+ public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.delegatedFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+ public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+ this.createClassifier = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+ public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+ this.childCreationData = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("createDataType", this.createDataType);
+ parameters.put("createFeature", this.createFeature);
+ parameters.put("delegatedFeature", this.delegatedFeature);
+ parameters.put("createClassifier", this.createClassifier);
+ parameters.put("childCreationData", this.childCreationData);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java
new file mode 100644
index 000000000..0a21c3502
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java
@@ -0,0 +1,281 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride create(
+ String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride result = new ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t\t\tnewChildDescriptors.add" + NL + "\t\t\t\t\t(createChildParameter" + NL
+ + "\t\t\t\t\t\t(";
+ protected final String TEXT_2 = "," + NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_3 = ".createEntry" + NL + "\t\t\t\t\t\t\t(";
+ protected final String TEXT_4 = ",";
+ protected final String TEXT_5 = NL + "\t\t\t\t\t\t\t ";
+ protected final String TEXT_6 = ")));";
+ protected final String TEXT_7 = ".createFromString(";
+ protected final String TEXT_8 = ", ";
+ protected final String TEXT_9 = "))));";
+ protected final String TEXT_10 = " // TODO: ensure this is a valid literal value";
+ protected final String TEXT_11 = NL;
+ protected final String TEXT_12 = NL;
+
+ public ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> createDataTypeList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> delegatedFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createClassifierList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> childCreationDataList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object createDataTypeParameter : createDataTypeList) {
+ for (Object createFeatureParameter : createFeatureList) {
+ for (Object delegatedFeatureParameter : delegatedFeatureList) {
+ for (Object createClassifierParameter : createClassifierList) {
+ for (Object childCreationDataParameter : childCreationDataList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;
+ this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+ this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+ this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+ this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(TEXT_12);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("createDataType", this.createDataType);
+ parameterValues.put("createFeature", this.createFeature);
+ parameterValues.put("delegatedFeature", this.delegatedFeature);
+ parameterValues.put("createClassifier", this.createClassifier);
+ parameterValues.put("childCreationData", this.childCreationData);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;
+
+ public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {
+ this.createDataType = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+ public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.createFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+ public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.delegatedFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+ public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+ this.createClassifier = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+ public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+ this.childCreationData = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("createDataType", this.createDataType);
+ parameters.put("createFeature", this.createFeature);
+ parameters.put("delegatedFeature", this.delegatedFeature);
+ parameters.put("createClassifier", this.createClassifier);
+ parameters.put("childCreationData", this.childCreationData);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(createFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil"));
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(delegatedFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_4);
+ if (delegatedFeature.isEnumBasedType()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(delegatedFeature.getTypeGenEnum()
+ .getStaticValue(delegatedFeature.getEcoreFeature().getDefaultValueLiteral()));
+ stringBuffer.append(TEXT_6);
+ } else if (delegatedFeature.isStringBasedType()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(delegatedFeature.getCreateChildValueLiteral());
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ String literal = delegatedFeature.getCreateChildValueLiteral();
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(createDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(literal);
+ stringBuffer.append(TEXT_9);
+ if (literal != null) {
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_10);
+ }
+ }
+ stringBuffer.append(TEXT_11);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.insert" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createDataType", createDataType);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04f78GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_11);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java
new file mode 100644
index 000000000..0606372d1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java
@@ -0,0 +1,212 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsAttributeFeatureinsert {
+ protected static String nl;
+
+ public static synchronized ItemProvidernewChildDescriptorsAttributeFeatureinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvidernewChildDescriptorsAttributeFeatureinsert result = new ItemProvidernewChildDescriptorsAttributeFeatureinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ItemProvidernewChildDescriptorsAttributeFeatureinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> createDataTypeList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> delegatedFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createClassifierList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> childCreationDataList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object createDataTypeParameter : createDataTypeList) {
+ for (Object createFeatureParameter : createFeatureList) {
+ for (Object delegatedFeatureParameter : delegatedFeatureList) {
+ for (Object createClassifierParameter : createClassifierList) {
+ for (Object childCreationDataParameter : childCreationDataList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;
+ this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+ this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+ this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+ this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("createDataType", this.createDataType);
+ parameterValues.put("createFeature", this.createFeature);
+ parameterValues.put("delegatedFeature", this.delegatedFeature);
+ parameterValues.put("createClassifier", this.createClassifier);
+ parameterValues.put("childCreationData", this.childCreationData);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;
+
+ public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {
+ this.createDataType = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+ public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.createFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+ public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.delegatedFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+ public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+ this.createClassifier = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+ public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+ this.childCreationData = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("createDataType", this.createDataType);
+ parameters.put("createFeature", this.createFeature);
+ parameters.put("delegatedFeature", this.delegatedFeature);
+ parameters.put("createClassifier", this.createClassifier);
+ parameters.put("childCreationData", this.childCreationData);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java
new file mode 100644
index 000000000..4699cdbfc
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java
@@ -0,0 +1,274 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsAttributeFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ItemProvidernewChildDescriptorsAttributeFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvidernewChildDescriptorsAttributeFeatureoverride result = new ItemProvidernewChildDescriptorsAttributeFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t\t\tnewChildDescriptors.add" + NL + "\t\t\t\t\t(createChildParameter" + NL
+ + "\t\t\t\t\t\t(";
+ protected final String TEXT_2 = ",";
+ protected final String TEXT_3 = NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_4 = "));";
+ protected final String TEXT_5 = ".createFromString(";
+ protected final String TEXT_6 = ", ";
+ protected final String TEXT_7 = ")));";
+ protected final String TEXT_8 = " // TODO: ensure this is a valid literal value";
+ protected final String TEXT_9 = NL;
+ protected final String TEXT_10 = NL;
+
+ public ItemProvidernewChildDescriptorsAttributeFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> createDataTypeList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> delegatedFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createClassifierList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> childCreationDataList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object createDataTypeParameter : createDataTypeList) {
+ for (Object createFeatureParameter : createFeatureList) {
+ for (Object delegatedFeatureParameter : delegatedFeatureList) {
+ for (Object createClassifierParameter : createClassifierList) {
+ for (Object childCreationDataParameter : childCreationDataList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;
+ this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+ this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+ this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+ this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(TEXT_10);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("createDataType", this.createDataType);
+ parameterValues.put("createFeature", this.createFeature);
+ parameterValues.put("delegatedFeature", this.delegatedFeature);
+ parameterValues.put("createClassifier", this.createClassifier);
+ parameterValues.put("childCreationData", this.childCreationData);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;
+
+ public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {
+ this.createDataType = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+ public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.createFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+ public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.delegatedFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+ public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+ this.createClassifier = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+ public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+ this.childCreationData = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("createDataType", this.createDataType);
+ parameters.put("createFeature", this.createFeature);
+ parameters.put("delegatedFeature", this.delegatedFeature);
+ parameters.put("createClassifier", this.createClassifier);
+ parameters.put("childCreationData", this.childCreationData);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(createFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_2);
+ if (createFeature.isEnumBasedType()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(createFeature.getTypeGenEnum()
+ .getStaticValue(createFeature.getEcoreFeature().getDefaultValueLiteral()));
+ stringBuffer.append(TEXT_4);
+ } else if (createFeature.isStringBasedType()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(createFeature.getCreateChildValueLiteral());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ String literal = createFeature.getCreateChildValueLiteral();
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(createDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(literal);
+ stringBuffer.append(TEXT_7);
+ if (literal != null) {
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_8);
+ }
+ }
+ stringBuffer.append(TEXT_9);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.insert" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createDataType", createDataType);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_05ZT0GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_9);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java
new file mode 100644
index 000000000..1ca995cb1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java
@@ -0,0 +1,213 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert {
+ protected static String nl;
+
+ public static synchronized ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert create(
+ String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert result = new ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> createClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> delegatedFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createClassifierList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> childCreationDataList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object createClassParameter : createClassList) {
+ for (Object createFeatureParameter : createFeatureList) {
+ for (Object delegatedFeatureParameter : delegatedFeatureList) {
+ for (Object createClassifierParameter : createClassifierList) {
+ for (Object childCreationDataParameter : childCreationDataList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;
+ this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+ this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+ this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+ this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("createClass", this.createClass);
+ parameterValues.put("createFeature", this.createFeature);
+ parameterValues.put("delegatedFeature", this.delegatedFeature);
+ parameterValues.put("createClassifier", this.createClassifier);
+ parameterValues.put("childCreationData", this.childCreationData);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;
+
+ public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.createClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+ public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.createFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+ public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.delegatedFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+ public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+ this.createClassifier = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+ public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+ this.childCreationData = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("createClass", this.createClass);
+ parameters.put("createFeature", this.createFeature);
+ parameters.put("delegatedFeature", this.delegatedFeature);
+ parameters.put("createClassifier", this.createClassifier);
+ parameters.put("childCreationData", this.childCreationData);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java
new file mode 100644
index 000000000..03f084ae0
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java
@@ -0,0 +1,268 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride create(
+ String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride result = new ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t\t\tnewChildDescriptors.add" + NL + "\t\t\t\t\t(createChildParameter" + NL
+ + "\t\t\t\t\t\t(";
+ protected final String TEXT_2 = "," + NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_3 = ".createEntry" + NL + "\t\t\t\t\t\t\t(";
+ protected final String TEXT_4 = ",";
+ protected final String TEXT_5 = NL + "\t\t\t\t\t\t\t ";
+ protected final String TEXT_6 = ".create(";
+ protected final String TEXT_7 = "))));";
+ protected final String TEXT_8 = ".create";
+ protected final String TEXT_9 = "())));";
+ protected final String TEXT_10 = NL;
+ protected final String TEXT_11 = NL;
+
+ public ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> createClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> delegatedFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createClassifierList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> childCreationDataList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object createClassParameter : createClassList) {
+ for (Object createFeatureParameter : createFeatureList) {
+ for (Object delegatedFeatureParameter : delegatedFeatureList) {
+ for (Object createClassifierParameter : createClassifierList) {
+ for (Object childCreationDataParameter : childCreationDataList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;
+ this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+ this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+ this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+ this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(TEXT_11);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("createClass", this.createClass);
+ parameterValues.put("createFeature", this.createFeature);
+ parameterValues.put("delegatedFeature", this.delegatedFeature);
+ parameterValues.put("createClassifier", this.createClassifier);
+ parameterValues.put("childCreationData", this.childCreationData);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;
+
+ public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.createClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+ public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.createFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+ public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.delegatedFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+ public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+ this.createClassifier = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+ public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+ this.childCreationData = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("createClass", this.createClass);
+ parameters.put("createFeature", this.createFeature);
+ parameters.put("delegatedFeature", this.delegatedFeature);
+ parameters.put("createClassifier", this.createClassifier);
+ parameters.put("childCreationData", this.childCreationData);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(createFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil"));
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(delegatedFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_4);
+ if (createClass.isMapEntry()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(createClass.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(createClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_7);
+ } else {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(createClass.getGenPackage().getQualifiedFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(createClass.getName());
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.insert" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createClass", createClass);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04NBAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_10);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java
new file mode 100644
index 000000000..4b6690d40
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java
@@ -0,0 +1,212 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsReferenceFeatureinsert {
+ protected static String nl;
+
+ public static synchronized ItemProvidernewChildDescriptorsReferenceFeatureinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvidernewChildDescriptorsReferenceFeatureinsert result = new ItemProvidernewChildDescriptorsReferenceFeatureinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ItemProvidernewChildDescriptorsReferenceFeatureinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> createClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> delegatedFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createClassifierList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> childCreationDataList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object createClassParameter : createClassList) {
+ for (Object createFeatureParameter : createFeatureList) {
+ for (Object delegatedFeatureParameter : delegatedFeatureList) {
+ for (Object createClassifierParameter : createClassifierList) {
+ for (Object childCreationDataParameter : childCreationDataList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;
+ this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+ this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+ this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+ this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("createClass", this.createClass);
+ parameterValues.put("createFeature", this.createFeature);
+ parameterValues.put("delegatedFeature", this.delegatedFeature);
+ parameterValues.put("createClassifier", this.createClassifier);
+ parameterValues.put("childCreationData", this.childCreationData);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;
+
+ public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.createClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+ public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.createFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+ public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.delegatedFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+ public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+ this.createClassifier = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+ public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+ this.childCreationData = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("createClass", this.createClass);
+ parameters.put("createFeature", this.createFeature);
+ parameters.put("delegatedFeature", this.delegatedFeature);
+ parameters.put("createClassifier", this.createClassifier);
+ parameters.put("childCreationData", this.childCreationData);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java
new file mode 100644
index 000000000..17534dcb2
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java
@@ -0,0 +1,261 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsReferenceFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ItemProvidernewChildDescriptorsReferenceFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ItemProvidernewChildDescriptorsReferenceFeatureoverride result = new ItemProvidernewChildDescriptorsReferenceFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t\t\tnewChildDescriptors.add" + NL + "\t\t\t\t\t(createChildParameter" + NL
+ + "\t\t\t\t\t\t(";
+ protected final String TEXT_2 = ",";
+ protected final String TEXT_3 = NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_4 = ".create(";
+ protected final String TEXT_5 = ")));";
+ protected final String TEXT_6 = ".create";
+ protected final String TEXT_7 = "()));";
+ protected final String TEXT_8 = NL;
+ protected final String TEXT_9 = NL;
+
+ public ItemProvidernewChildDescriptorsReferenceFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> createClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> delegatedFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> createClassifierList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> childCreationDataList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object createClassParameter : createClassList) {
+ for (Object createFeatureParameter : createFeatureList) {
+ for (Object delegatedFeatureParameter : delegatedFeatureList) {
+ for (Object createClassifierParameter : createClassifierList) {
+ for (Object childCreationDataParameter : childCreationDataList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;
+ this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+ this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+ this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+ this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(TEXT_9);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("createClass", this.createClass);
+ parameterValues.put("createFeature", this.createFeature);
+ parameterValues.put("delegatedFeature", this.delegatedFeature);
+ parameterValues.put("createClassifier", this.createClassifier);
+ parameterValues.put("childCreationData", this.childCreationData);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;
+
+ public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.createClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+ public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.createFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+ public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.delegatedFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+ public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+ this.createClassifier = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+ public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+ this.childCreationData = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("createClass", this.createClass);
+ parameters.put("createFeature", this.createFeature);
+ parameters.put("delegatedFeature", this.delegatedFeature);
+ parameters.put("createClassifier", this.createClassifier);
+ parameters.put("childCreationData", this.childCreationData);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(createFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_2);
+ if (createClass.isMapEntry()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(createClass.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(createClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_5);
+ } else {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(createClass.getGenPackage().getQualifiedFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(createClass.getName());
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.insert" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("createClass", createClass);
+ callParameters.put("createFeature", createFeature);
+ callParameters.put("delegatedFeature", delegatedFeature);
+ callParameters.put("createClassifier", createClassifier);
+ callParameters.put("childCreationData", childCreationData);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04y24GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_8);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java
new file mode 100644
index 000000000..30eb6ae73
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java
@@ -0,0 +1,1147 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ActionBarContributor extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized ActionBarContributor create(String lineSeparator) {
+ nl = lineSeparator;
+ ActionBarContributor result = new ActionBarContributor();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the action bar contributor for the ";
+ protected final String TEXT_5 = " model editor." + NL + " * <!-- begin-user-doc -->" + NL
+ + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * ";
+ protected final String TEXT_7 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_8 = NL + "@Deprecated";
+ protected final String TEXT_9 = NL + "public class ";
+ protected final String TEXT_10 = NL + "\textends ";
+ protected final String TEXT_11 = NL + "\timplements ";
+ protected final String TEXT_12 = NL + "{";
+ protected final String TEXT_13 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static final String copyright = ";
+ protected final String TEXT_14 = ";";
+ protected final String TEXT_15 = NL;
+ protected final String TEXT_16 = NL + "\t/**" + NL + "\t * Action to create objects from the ";
+ protected final String TEXT_17 = " model." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static class NewAction extends ";
+ protected final String TEXT_18 = NL + "\t{" + NL + "\t\t/**" + NL
+ + "\t\t * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */";
+ protected final String TEXT_19 = NL + "\t\t@Override";
+ protected final String TEXT_20 = NL + "\t\tpublic void run(";
+ protected final String TEXT_21 = " action)" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_22 = " wizard = new ";
+ protected final String TEXT_23 = "();" + NL + "\t\t\twizard.init(getWindow().getWorkbench(), ";
+ protected final String TEXT_24 = ".EMPTY);" + NL + "\t\t\t";
+ protected final String TEXT_25 = " wizardDialog = new ";
+ protected final String TEXT_26 = "(getWindow().getShell(), wizard);" + NL + "\t\t\twizardDialog.open();" + NL
+ + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_27 = NL + "\t/**" + NL + "\t * This keeps track of the active editor." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_28 = " activeEditorPart;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This keeps track of the current selection provider." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_29 = " selectionProvider;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This action opens the Properties view." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_30 = " showPropertiesViewAction =" + NL + "\t\tnew ";
+ protected final String TEXT_31 = "(";
+ protected final String TEXT_32 = ".INSTANCE.getString(\"_UI_ShowPropertiesView_menu_item\"))";
+ protected final String TEXT_33 = NL + "\t\t{";
+ protected final String TEXT_34 = NL + "\t\t\t@Override";
+ protected final String TEXT_35 = NL + "\t\t\tpublic void run()" + NL + "\t\t\t{" + NL + "\t\t\t\ttry" + NL
+ + "\t\t\t\t{" + NL + "\t\t\t\t\tgetPage().showView(\"org.eclipse.ui.views.PropertySheet\");";
+ protected final String TEXT_36 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";
+ protected final String TEXT_37 = " exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+ protected final String TEXT_38 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t};"
+ + NL + "" + NL + "\t/**" + NL + "\t * This action refreshes the viewer of the current editor if the editor"
+ + NL + "\t * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_39 = " refreshViewerAction =" + NL + "\t\tnew ";
+ protected final String TEXT_40 = ".INSTANCE.getString(\"_UI_RefreshViewer_menu_item\"))";
+ protected final String TEXT_41 = NL + "\t\t\tpublic boolean isEnabled()" + NL + "\t\t\t{" + NL
+ + "\t\t\t\treturn activeEditorPart instanceof ";
+ protected final String TEXT_42 = ";" + NL + "\t\t\t}" + NL;
+ protected final String TEXT_43 = NL + "\t\t\tpublic void run()" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tif (activeEditorPart instanceof ";
+ protected final String TEXT_44 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+ protected final String TEXT_45 = " viewer = ((";
+ protected final String TEXT_46 = ")activeEditorPart).getViewer();" + NL + "\t\t\t\t\tif (viewer != null)" + NL
+ + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tviewer.refresh();" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t}" + NL + "\t\t};" + NL;
+ protected final String TEXT_47 = NL + "\t/**" + NL
+ + "\t * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor"
+ + NL + "\t * generated for the current selection by the item provider." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_48 = " createChildActions;" + NL;
+ protected final String TEXT_49 = NL + "\t/**" + NL
+ + "\t * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateChildAction}s, keyed by sub-menu text."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_50 = " createChildSubmenuActions;" + NL;
+ protected final String TEXT_51 = NL + "\t/**" + NL
+ + "\t * This is the menu manager into which menu contribution items should be added for CreateChild actions."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_52 = " createChildMenuManager;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor"
+ + NL + "\t * generated for the current selection by the item provider." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_53 = " createSiblingActions;" + NL;
+ protected final String TEXT_54 = NL + "\t/**" + NL
+ + "\t * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction}s, keyed by submenu text."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_55 = " createSiblingSubmenuActions;" + NL;
+ protected final String TEXT_56 = NL + "\t/**" + NL
+ + "\t * This is the menu manager into which menu contribution items should be added for CreateSibling actions."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_57 = " createSiblingMenuManager;" + NL;
+ protected final String TEXT_58 = NL + "\t/**" + NL + "\t * This creates an instance of the contributor." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic ";
+ protected final String TEXT_59 = "()" + NL + "\t{" + NL + "\t\tsuper(ADDITIONS_LAST_STYLE);" + NL
+ + "\t\tloadResourceAction = new ";
+ protected final String TEXT_60 = "();" + NL + "\t\tvalidateAction = new ";
+ protected final String TEXT_61 = "();";
+ protected final String TEXT_62 = NL + "\t\tliveValidationAction = new ";
+ protected final String TEXT_63 = ".LiveValidator.LiveValidationAction(";
+ protected final String TEXT_64 = ".getPlugin().getDialogSettings());";
+ protected final String TEXT_65 = NL + "\t\tcontrolAction = new ";
+ protected final String TEXT_66 = NL + "\t\tfindAction = ";
+ protected final String TEXT_67 = ".create();";
+ protected final String TEXT_68 = NL + "\t\trevertAction = new ";
+ protected final String TEXT_69 = NL + "\t\texpandAllAction = new ";
+ protected final String TEXT_70 = NL + "\t\tcollapseAllAction = new ";
+ protected final String TEXT_71 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This adds Separators for editor additions to the tool bar." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_72 = NL + "\t@Override";
+ protected final String TEXT_73 = NL + "\tpublic void contributeToToolBar(";
+ protected final String TEXT_74 = " toolBarManager)" + NL + "\t{" + NL
+ + "\t\tsuper.contributeToToolBar(toolBarManager);" + NL + "\t\ttoolBarManager.add(new ";
+ protected final String TEXT_75 = "(\"";
+ protected final String TEXT_76 = "-settings\"));";
+ protected final String TEXT_77 = NL + "\t\ttoolBarManager.add(new ";
+ protected final String TEXT_78 = "-additions\"));";
+ protected final String TEXT_79 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This adds to the menu bar a menu and some separators for editor additions," + NL
+ + "\t * as well as the sub-menus for object creation items." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_80 = NL + "\tpublic void contributeToMenu(";
+ protected final String TEXT_81 = " menuManager)" + NL + "\t{" + NL + "\t\tsuper.contributeToMenu(menuManager);" + NL
+ + "" + NL + "\t\t";
+ protected final String TEXT_82 = " submenuManager = new ";
+ protected final String TEXT_83 = ".INSTANCE.getString(\"_UI_";
+ protected final String TEXT_84 = "_menu\"), \"";
+ protected final String TEXT_85 = "MenuID\");";
+ protected final String TEXT_86 = NL + "\t\tmenuManager.insertAfter(\"additions\", submenuManager);";
+ protected final String TEXT_87 = NL + "\t\tsubmenuManager.add(new ";
+ protected final String TEXT_88 = "(\"settings\"));";
+ protected final String TEXT_89 = "(\"actions\"));";
+ protected final String TEXT_90 = "(\"additions\"));";
+ protected final String TEXT_91 = "(\"additions-end\"));";
+ protected final String TEXT_92 = NL + "\t\t// Prepare for CreateChild item addition or removal." + NL + "\t\t//"
+ + NL + "\t\tcreateChildMenuManager = new ";
+ protected final String TEXT_93 = ".INSTANCE.getString(\"_UI_CreateChild_menu_item\"));";
+ protected final String TEXT_94 = NL + "\t\tsubmenuManager.insertBefore(\"additions\", createChildMenuManager);";
+ protected final String TEXT_95 = NL + NL + "\t\t// Prepare for CreateSibling item addition or removal." + NL
+ + "\t\t//" + NL + "\t\tcreateSiblingMenuManager = new ";
+ protected final String TEXT_96 = ".INSTANCE.getString(\"_UI_CreateSibling_menu_item\"));";
+ protected final String TEXT_97 = NL + "\t\tsubmenuManager.insertBefore(\"additions\", createSiblingMenuManager);";
+ protected final String TEXT_98 = NL + NL + "\t\t// Force an update because Eclipse hides empty menus now." + NL
+ + "\t\t//" + NL + "\t\tsubmenuManager.addMenuListener" + NL + "\t\t\t(new ";
+ protected final String TEXT_99 = "()" + NL + "\t\t\t {";
+ protected final String TEXT_100 = NL + "\t\t\t\t @Override";
+ protected final String TEXT_101 = NL + "\t\t\t\t public void menuAboutToShow(";
+ protected final String TEXT_102 = " menuManager)" + NL + "\t\t\t\t {" + NL
+ + "\t\t\t\t\t menuManager.updateAll(true);" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;
+ protected final String TEXT_103 = NL + "\t\t// Add your contributions." + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL;
+ protected final String TEXT_104 = NL + "\t\taddGlobalActions(submenuManager);" + NL + "\t}" + NL + "" + NL + "\t/**"
+ + NL
+ + "\t * When the active editor changes, this remembers the change and registers with it as a selection provider."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_105 = NL + "\tpublic void setActiveEditor(";
+ protected final String TEXT_106 = " part)" + NL + "\t{" + NL + "\t\tsuper.setActiveEditor(part);" + NL
+ + "\t\tactiveEditorPart = part;" + NL + "" + NL + "\t\t// Switch to the new selection provider." + NL
+ + "\t\t//" + NL + "\t\tif (selectionProvider != null)" + NL + "\t\t{" + NL
+ + "\t\t\tselectionProvider.removeSelectionChangedListener(this);" + NL + "\t\t}" + NL
+ + "\t\tif (part == null)" + NL + "\t\t{" + NL + "\t\t\tselectionProvider = null;" + NL + "\t\t}" + NL
+ + "\t\telse" + NL + "\t\t{" + NL + "\t\t\tselectionProvider = part.getSite().getSelectionProvider();" + NL
+ + "\t\t\tselectionProvider.addSelectionChangedListener(this);" + NL + "" + NL
+ + "\t\t\t// Fake a selection changed event to update the menus." + NL + "\t\t\t//" + NL
+ + "\t\t\tif (selectionProvider.getSelection() != null)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tselectionChanged(new ";
+ protected final String TEXT_107 = "(selectionProvider, selectionProvider.getSelection()));" + NL + "\t\t\t}" + NL
+ + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener}," + NL
+ + "\t * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings"
+ + NL + "\t * that can be added to the selected object and updating the menus accordingly." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_108 = NL + "\tpublic void selectionChanged(";
+ protected final String TEXT_109 = " event)" + NL + "\t{";
+ protected final String TEXT_110 = NL + "\t\t// Remove any menu items for old selection." + NL + "\t\t//" + NL
+ + "\t\tif (createChildMenuManager != null)" + NL + "\t\t{";
+ protected final String TEXT_111 = NL
+ + "\t\t\tdepopulateManager(createChildMenuManager, createChildSubmenuActions);";
+ protected final String TEXT_112 = NL + "\t\t\tdepopulateManager(createChildMenuManager, createChildActions);" + NL
+ + "\t\t}" + NL + "\t\tif (createSiblingMenuManager != null)" + NL + "\t\t{";
+ protected final String TEXT_113 = NL
+ + "\t\t\tdepopulateManager(createSiblingMenuManager, createSiblingSubmenuActions);";
+ protected final String TEXT_114 = NL + "\t\t\tdepopulateManager(createSiblingMenuManager, createSiblingActions);"
+ + NL + "\t\t}" + NL + "" + NL
+ + "\t\t// Query the new selection for appropriate new child/sibling descriptors" + NL + "\t\t//" + NL
+ + "\t\t";
+ protected final String TEXT_115 = " newChildDescriptors = null;" + NL + "\t\t";
+ protected final String TEXT_116 = " newSiblingDescriptors = null;" + NL + "" + NL + "\t\t";
+ protected final String TEXT_117 = " selection = event.getSelection();" + NL + "\t\tif (selection instanceof ";
+ protected final String TEXT_118 = " && ((IStructuredSelection)selection).size() == 1)" + NL + "\t\t{" + NL
+ + "\t\t\tObject object = ((";
+ protected final String TEXT_119 = ")selection).getFirstElement();" + NL + "" + NL + "\t\t\t";
+ protected final String TEXT_120 = " domain = ((";
+ protected final String TEXT_121 = ")activeEditorPart).getEditingDomain();" + NL + "" + NL
+ + "\t\t\tnewChildDescriptors = domain.getNewChildDescriptors(object, null);" + NL
+ + "\t\t\tnewSiblingDescriptors = domain.getNewChildDescriptors(null, object);" + NL + "\t\t}" + NL + "" + NL
+ + "\t\t// Generate actions for selection; populate and redraw the menus." + NL + "\t\t//" + NL
+ + "\t\tcreateChildActions = generateCreateChildActions(newChildDescriptors, selection);";
+ protected final String TEXT_122 = NL + "\t\tcreateChildSubmenuActions = extractSubmenuActions(createChildActions);";
+ protected final String TEXT_123 = NL
+ + "\t\tcreateSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);";
+ protected final String TEXT_124 = NL
+ + "\t\tcreateSiblingSubmenuActions = extractSubmenuActions(createSiblingActions);";
+ protected final String TEXT_125 = NL + NL + "\t\tif (createChildMenuManager != null)" + NL + "\t\t{";
+ protected final String TEXT_126 = NL
+ + "\t\t\tpopulateManager(createChildMenuManager, createChildSubmenuActions, null);";
+ protected final String TEXT_127 = NL + "\t\t\tpopulateManager(createChildMenuManager, createChildActions, null);"
+ + NL + "\t\t\tcreateChildMenuManager.update(true);" + NL + "\t\t}" + NL
+ + "\t\tif (createSiblingMenuManager != null)" + NL + "\t\t{";
+ protected final String TEXT_128 = NL
+ + "\t\t\tpopulateManager(createSiblingMenuManager, createSiblingSubmenuActions, null);";
+ protected final String TEXT_129 = NL
+ + "\t\t\tpopulateManager(createSiblingMenuManager, createSiblingActions, null);" + NL
+ + "\t\t\tcreateSiblingMenuManager.update(true);" + NL + "\t\t}";
+ protected final String TEXT_130 = NL + "\t\t// Add your contributions." + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT";
+ protected final String TEXT_131 = NL + "\t}" + NL;
+ protected final String TEXT_132 = NL + "\t/**" + NL
+ + "\t * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,"
+ + NL + "\t * and returns the collection of these actions." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_133 = " generateCreateChildActions(";
+ protected final String TEXT_134 = " descriptors, ";
+ protected final String TEXT_135 = " selection)" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_136 = " actions = new ";
+ protected final String TEXT_137 = "();" + NL + "\t\tif (descriptors != null)" + NL + "\t\t{";
+ protected final String TEXT_138 = NL + "\t\t\tfor (";
+ protected final String TEXT_139 = " descriptor : descriptors)";
+ protected final String TEXT_140 = " i = descriptors.iterator(); i.hasNext(); )";
+ protected final String TEXT_141 = NL + "\t\t\t{" + NL + "\t\t\t\tactions.add(new ";
+ protected final String TEXT_142 = "(activeEditorPart, selection, ";
+ protected final String TEXT_143 = "descriptor";
+ protected final String TEXT_144 = "i.next()";
+ protected final String TEXT_145 = "));" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn actions;" + NL + "\t}"
+ + NL + "" + NL + "\t/**" + NL
+ + "\t * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,"
+ + NL + "\t * and returns the collection of these actions." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_146 = " generateCreateSiblingActions(";
+ protected final String TEXT_147 = "));" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn actions;" + NL + "\t}"
+ + NL + "" + NL + "\t/**" + NL
+ + "\t * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s"
+ + NL
+ + "\t * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,"
+ + NL + "\t * by inserting them before the specified contribution item <code>contributionID</code>." + NL
+ + "\t * If <code>contributionID</code> is <code>null</code>, they are simply added." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected void populateManager(";
+ protected final String TEXT_148 = " manager, ";
+ protected final String TEXT_149 = " actions, String contributionID)" + NL + "\t{" + NL + "\t\tif (actions != null)"
+ + NL + "\t\t{";
+ protected final String TEXT_150 = " action : actions)";
+ protected final String TEXT_151 = " i = actions.iterator(); i.hasNext(); )";
+ protected final String TEXT_152 = NL + "\t\t\t{";
+ protected final String TEXT_153 = NL + "\t\t\t\t";
+ protected final String TEXT_154 = " action = (IAction)i.next();";
+ protected final String TEXT_155 = NL + "\t\t\t\tif (contributionID != null)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tmanager.insertBefore(contributionID, action);" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse" + NL
+ + "\t\t\t\t{" + NL + "\t\t\t\t\tmanager.add(action);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}"
+ + NL + "\t}" + NL + "\t\t" + NL + "\t/**" + NL
+ + "\t * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s"
+ + NL
+ + "\t * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected void depopulateManager(";
+ protected final String TEXT_156 = " actions)" + NL + "\t{" + NL + "\t\tif (actions != null)" + NL + "\t\t{" + NL
+ + "\t\t\t";
+ protected final String TEXT_157 = "[] items = manager.getItems();" + NL
+ + "\t\t\tfor (int i = 0; i < items.length; i++)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Look into SubContributionItems" + NL + "\t\t\t\t//" + NL + "\t\t\t\t";
+ protected final String TEXT_158 = " contributionItem = items[i];" + NL
+ + "\t\t\t\twhile (contributionItem instanceof ";
+ protected final String TEXT_159 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tcontributionItem = ((";
+ protected final String TEXT_160 = ")contributionItem).getInnerItem();" + NL + "\t\t\t\t}" + NL + "" + NL
+ + "\t\t\t\t// Delete the ActionContributionItems with matching action." + NL + "\t\t\t\t//" + NL
+ + "\t\t\t\tif (contributionItem instanceof ";
+ protected final String TEXT_161 = " action = ((";
+ protected final String TEXT_162 = ")contributionItem).getAction();" + NL + "\t\t\t\t\tif (actions.contains(action))"
+ + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tmanager.remove(contributionItem);" + NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_163 = NL + "\t/**" + NL
+ + "\t * This extracts those actions in the <code>submenuActions</code> collection whose text is qualified and returns"
+ + NL + "\t * a map of these actions, keyed by submenu text." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_164 = " extractSubmenuActions(";
+ protected final String TEXT_165 = " createActions)" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_166 = " createSubmenuActions = new ";
+ protected final String TEXT_167 = "();" + NL + "\t\tif (createActions != null)" + NL + "\t\t{" + NL + "\t\t\tfor (";
+ protected final String TEXT_168 = " actions = createActions.iterator(); actions.hasNext(); )" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t";
+ protected final String TEXT_169 = " action = ";
+ protected final String TEXT_170 = ")";
+ protected final String TEXT_171 = "actions.next();" + NL + "\t\t\t\t";
+ protected final String TEXT_172 = " st = new ";
+ protected final String TEXT_173 = "(action.getText(), \"|\");";
+ protected final String TEXT_174 = NL + "\t\t\t\tif (st.countTokens() == 2)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tString text = st.nextToken().trim();" + NL + "\t\t\t\t\t";
+ protected final String TEXT_175 = " submenuActions = ";
+ protected final String TEXT_176 = "createSubmenuActions.get(text);" + NL + "\t\t\t\t\tif (submenuActions == null)"
+ + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tcreateSubmenuActions.put(text, submenuActions = new ";
+ protected final String TEXT_177 = "());" + NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t\taction.setText(st.nextToken().trim());" + NL + "\t\t\t\t\tsubmenuActions.add(action);" + NL
+ + "\t\t\t\t\tactions.remove();" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL
+ + "\t\treturn createSubmenuActions;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.MenuManager}s containing"
+ + NL
+ + "\t * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s"
+ + NL
+ + "\t * contained in the <code>submenuActions</code> collection, by inserting them before the specified contribution"
+ + NL + "\t * item <code>contributionID</code>." + NL
+ + "\t * If <code>contributionID</code> is <code>null</code>, they are simply added." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected void populateManager(";
+ protected final String TEXT_178 = " submenuActions, String contributionID)" + NL + "\t{" + NL
+ + "\t\tif (submenuActions != null)" + NL + "\t\t{";
+ protected final String TEXT_179 = " entry : submenuActions.entrySet())" + NL + "\t\t\t{";
+ protected final String TEXT_180 = " entries = submenuActions.entrySet().iterator(); entries.hasNext();)" + NL
+ + "\t\t\t{" + NL + "\t\t\t\t";
+ protected final String TEXT_181 = " entry = (";
+ protected final String TEXT_182 = ")entries.next();";
+ protected final String TEXT_183 = "(String)";
+ protected final String TEXT_184 = "entry.getKey());" + NL + "\t\t\t\tif (contributionID != null)" + NL + "\t\t\t\t{"
+ + NL + "\t\t\t\t\tmanager.insertBefore(contributionID, submenuManager);" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tmanager.add(submenuManager);" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t\tpopulateManager(submenuManager, ";
+ protected final String TEXT_185 = "entry.getValue(), null);" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + ""
+ + NL + "\t/**" + NL
+ + "\t * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.MenuManager}s and their"
+ + NL
+ + "\t * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s"
+ + NL + "\t * contained in the <code>submenuActions</code> map." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected void depopulateManager(";
+ protected final String TEXT_186 = " submenuActions)" + NL + "\t{" + NL + "\t\tif (submenuActions != null)" + NL
+ + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_187 = "[] items = manager.getItems();" + NL
+ + "\t\t\tfor (int i = 0; i < items.length; i++)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+ protected final String TEXT_188 = " contributionItem = items[i];" + NL + "\t\t\t\tif (contributionItem instanceof ";
+ protected final String TEXT_189 = " submenuManager = (";
+ protected final String TEXT_190 = ")contributionItem;" + NL
+ + "\t\t\t\t\tif (submenuActions.containsKey(submenuManager.getMenuText()))" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tdepopulateManager(submenuManager, ";
+ protected final String TEXT_191 = "submenuActions.get(submenuManager.getMenuText()));" + NL
+ + "\t\t\t\t\t\tmanager.remove(contributionItem);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}"
+ + NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_192 = NL + "\t/**" + NL + "\t * This populates the pop-up menu before it appears." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_193 = NL + "\tpublic void menuAboutToShow(";
+ protected final String TEXT_194 = " menuManager)" + NL + "\t{" + NL + "\t\tsuper.menuAboutToShow(menuManager);";
+ protected final String TEXT_195 = NL + "\t\t";
+ protected final String TEXT_196 = " submenuManager = null;" + NL + "" + NL + "\t\tsubmenuManager = new ";
+ protected final String TEXT_197 = NL + "\t\tpopulateManager(submenuManager, createChildSubmenuActions, null);";
+ protected final String TEXT_198 = NL + "\t\tpopulateManager(submenuManager, createChildActions, null);" + NL
+ + "\t\tmenuManager.insertBefore(\"edit\", submenuManager);";
+ protected final String TEXT_199 = NL + NL + "\t\tsubmenuManager = new ";
+ protected final String TEXT_200 = NL + "\t\tpopulateManager(submenuManager, createSiblingSubmenuActions, null);";
+ protected final String TEXT_201 = NL + "\t\tpopulateManager(submenuManager, createSiblingActions, null);" + NL
+ + "\t\tmenuManager.insertBefore(\"edit\", submenuManager);";
+ protected final String TEXT_202 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This inserts global actions before the \"additions-end\" separator." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_203 = NL + "\tprotected void addGlobalActions(";
+ protected final String TEXT_204 = " menuManager)" + NL + "\t{" + NL
+ + "\t\tmenuManager.insertAfter(\"additions-end\", new ";
+ protected final String TEXT_205 = "(\"ui-actions\"));";
+ protected final String TEXT_206 = NL + "\t\tmenuManager.insertAfter(\"ui-actions\", showPropertiesViewAction);";
+ protected final String TEXT_207 = NL + NL
+ + "\t\trefreshViewerAction.setEnabled(refreshViewerAction.isEnabled());\t\t" + NL
+ + "\t\tmenuManager.insertAfter(\"ui-actions\", refreshViewerAction);";
+ protected final String TEXT_208 = NL + NL + "\t\tsuper.addGlobalActions(menuManager);" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * This ensures that a delete action will clean up all references to deleted objects."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_209 = NL + "\tprotected boolean removeAllReferencesOnDelete()" + NL + "\t{" + NL
+ + "\t\treturn true;" + NL + "\t}" + NL + "" + NL + "}";
+ protected final String TEXT_210 = NL;
+
+ public ActionBarContributor() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_210);
+ stringBuffer.append(TEXT_210);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getEditorDirectory();
+ packageName = genPackage.getPresentationPackageName();
+ className = genPackage.getActionBarContributorClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+
+ String _CollectionOfAnything = null;
+ String _CollectionOfIAction = null;
+ String _ArrayListOfIAction = null;
+ String _CollectionOfExtendsIAction = null;
+ String _IteratorOfIAction = null;
+ String _MapOfStringToCollectionOfIAction = null;
+ String _MapEntryOfStringToCollectionOfIAction = null;
+ String _LinkedHashMapOfStringToCollectionOfIAction = null;
+ if (genModel.isCreationCommands()) {
+ _CollectionOfAnything = genModel.getImportedName("Collection" + (genModel.useGenerics() ? "<?>" : ""));
+ _CollectionOfIAction = genModel
+ .getImportedName(genModel.useGenerics() ? "java.util.Collection<org.eclipse.jface.action.IAction>"
+ : "java.util.Collection");
+ _ArrayListOfIAction = genModel
+ .getImportedName(genModel.useGenerics() ? "java.util.ArrayList<org.eclipse.jface.action.IAction>"
+ : "java.util.ArrayList");
+ _CollectionOfExtendsIAction = genModel.getImportedName(
+ genModel.useGenerics() ? "java.util.Collection<? extends org.eclipse.jface.action.IAction>"
+ : "java.util.Collection");
+ if (genModel.isCreationSubmenus()) {
+ _IteratorOfIAction = genModel
+ .getImportedName(genModel.useGenerics() ? "java.util.Iterator<org.eclipse.jface.action.IAction>"
+ : "java.util.Iterator");
+ _MapOfStringToCollectionOfIAction = genModel.getImportedName("java.util.Map")
+ + (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");
+ _MapEntryOfStringToCollectionOfIAction = genModel.getImportedName("java.util.Map") + ".Entry"
+ + (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");
+ _LinkedHashMapOfStringToCollectionOfIAction = genModel.getImportedName("java.util.LinkedHashMap")
+ + (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");
+ }
+ }
+
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getPresentationPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_5);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genPackage.getActionBarContributorClassName());
+ stringBuffer.append(TEXT_10);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor"));
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelectionChangedListener"));
+ stringBuffer.append(TEXT_12);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_15);
+ }
+ if (genModel.isRichClientPlatform() && genPackage.isGenerateModelWizard()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_17);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate"));
+ stringBuffer.append(TEXT_18);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection"));
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog"));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog"));
+ stringBuffer.append(TEXT_26);
+ }
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IEditorPart"));
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelectionProvider"));
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Action"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_33);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_34);
+ }
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.ui.PartInitException"));
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Action"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_33);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_34);
+ }
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));
+ stringBuffer.append(TEXT_42);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_34);
+ }
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.Viewer"));
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));
+ stringBuffer.append(TEXT_46);
+ if (genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_48);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(_MapOfStringToCollectionOfIAction);
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_53);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(_MapOfStringToCollectionOfIAction);
+ stringBuffer.append(TEXT_55);
+ }
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+ stringBuffer.append(TEXT_57);
+ }
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genPackage.getActionBarContributorClassName());
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.LoadResourceAction"));
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.ValidateAction"));
+ stringBuffer.append(TEXT_61);
+ if (genModel.getDecoration() == GenDecoration.LIVE) {
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DiagnosticDecorator"));
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_64);
+ }
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.ControlAction"));
+ stringBuffer.append(TEXT_61);
+ if (genModel.isFindAction()) {
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.FindAction"));
+ stringBuffer.append(TEXT_67);
+ }
+ if (genModel.isRevertAction()) {
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.RevertAction"));
+ stringBuffer.append(TEXT_61);
+ }
+ if (genModel.isExpandAllAction()) {
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.ExpandAllAction"));
+ stringBuffer.append(TEXT_61);
+ }
+ if (genModel.isCollapseAllAction()) {
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.CollapseAllAction"));
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IToolBarManager"));
+ stringBuffer.append(TEXT_74);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genPackage.getPrefix().toLowerCase(genModel.getLocale()));
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genPackage.getPrefix().toLowerCase(genModel.getLocale()));
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_79);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genPackage.getInterfacePackageName());
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_15);
+ if (genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuListener"));
+ stringBuffer.append(TEXT_99);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_100);
+ }
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+ stringBuffer.append(TEXT_102);
+ } else {
+ stringBuffer.append(TEXT_103);
+ }
+ stringBuffer.append(TEXT_104);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IEditorPart"));
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.SelectionChangedEvent"));
+ stringBuffer.append(TEXT_107);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.SelectionChangedEvent"));
+ stringBuffer.append(TEXT_109);
+ if (genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_110);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_111);
+ }
+ stringBuffer.append(TEXT_112);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_113);
+ }
+ stringBuffer.append(TEXT_114);
+ stringBuffer.append(_CollectionOfAnything);
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(_CollectionOfAnything);
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));
+ stringBuffer.append(TEXT_117);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.IStructuredSelection"));
+ stringBuffer.append(TEXT_118);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.IStructuredSelection"));
+ stringBuffer.append(TEXT_119);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));
+ stringBuffer.append(TEXT_120);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.IEditingDomainProvider"));
+ stringBuffer.append(TEXT_121);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_122);
+ }
+ stringBuffer.append(TEXT_123);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_124);
+ }
+ stringBuffer.append(TEXT_125);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_126);
+ }
+ stringBuffer.append(TEXT_127);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_128);
+ }
+ stringBuffer.append(TEXT_129);
+ } else {
+ stringBuffer.append(TEXT_130);
+ }
+ stringBuffer.append(TEXT_131);
+ if (genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_132);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_133);
+ stringBuffer.append(_CollectionOfAnything);
+ stringBuffer.append(TEXT_134);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));
+ stringBuffer.append(TEXT_135);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_136);
+ stringBuffer.append(_ArrayListOfIAction);
+ stringBuffer.append(TEXT_137);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+ stringBuffer.append(TEXT_139);
+ } else {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+ stringBuffer.append(TEXT_140);
+ }
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateChildAction"));
+ stringBuffer.append(TEXT_142);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_143);
+ } else {
+ stringBuffer.append(TEXT_144);
+ }
+ stringBuffer.append(TEXT_145);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(_CollectionOfAnything);
+ stringBuffer.append(TEXT_134);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));
+ stringBuffer.append(TEXT_135);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_136);
+ stringBuffer.append(_ArrayListOfIAction);
+ stringBuffer.append(TEXT_137);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+ stringBuffer.append(TEXT_139);
+ } else {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+ stringBuffer.append(TEXT_140);
+ }
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateSiblingAction"));
+ stringBuffer.append(TEXT_142);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_143);
+ } else {
+ stringBuffer.append(TEXT_144);
+ }
+ stringBuffer.append(TEXT_147);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(_CollectionOfExtendsIAction);
+ stringBuffer.append(TEXT_149);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+ stringBuffer.append(TEXT_150);
+ } else {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+ stringBuffer.append(TEXT_151);
+ }
+ stringBuffer.append(TEXT_152);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_153);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+ stringBuffer.append(TEXT_154);
+ }
+ stringBuffer.append(TEXT_155);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(_CollectionOfExtendsIAction);
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.SubContributionItem"));
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.SubContributionItem"));
+ stringBuffer.append(TEXT_160);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem"));
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+ stringBuffer.append(TEXT_161);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem"));
+ stringBuffer.append(TEXT_162);
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_163);
+ stringBuffer.append(_MapOfStringToCollectionOfIAction);
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(_MapOfStringToCollectionOfIAction);
+ stringBuffer.append(TEXT_166);
+ stringBuffer.append(_LinkedHashMapOfStringToCollectionOfIAction);
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(_IteratorOfIAction);
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+ stringBuffer.append(TEXT_169);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+ stringBuffer.append(TEXT_170);
+ }
+ stringBuffer.append(TEXT_171);
+ stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_174);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_175);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_170);
+ }
+ stringBuffer.append(TEXT_176);
+ stringBuffer.append(_ArrayListOfIAction);
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(_MapOfStringToCollectionOfIAction);
+ stringBuffer.append(TEXT_178);
+ if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);
+ stringBuffer.append(TEXT_179);
+ } else {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+ stringBuffer.append(TEXT_180);
+ stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);
+ stringBuffer.append(TEXT_182);
+ }
+ stringBuffer.append(TEXT_153);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_31);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_183);
+ }
+ stringBuffer.append(TEXT_184);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_170);
+ }
+ stringBuffer.append(TEXT_185);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(_MapOfStringToCollectionOfIAction);
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));
+ stringBuffer.append(TEXT_187);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));
+ stringBuffer.append(TEXT_188);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_189);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_190);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(_CollectionOfIAction);
+ stringBuffer.append(TEXT_170);
+ }
+ stringBuffer.append(TEXT_191);
+ }
+ }
+ stringBuffer.append(TEXT_192);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_193);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+ stringBuffer.append(TEXT_194);
+ if (genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_195);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_196);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genModel.getNonNLS());
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_197);
+ }
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_199);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(genModel.getNonNLS());
+ if (genModel.isCreationSubmenus()) {
+ stringBuffer.append(TEXT_200);
+ }
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_202);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_203);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+ stringBuffer.append(TEXT_204);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_207);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_208);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_209);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_15);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genPackage.hasConcreteClasses()
+ && genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java
new file mode 100644
index 000000000..ef327c1d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java
@@ -0,0 +1,723 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Advisor extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+ protected static String nl;
+
+ public static synchronized Advisor create(String lineSeparator) {
+ nl = lineSeparator;
+ Advisor result = new Advisor();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + "import java.io.File;" + NL + "import java.util.Arrays;";
+ protected final String TEXT_5 = NL + "import java.util.Iterator;";
+ protected final String TEXT_6 = NL + "import java.util.List;";
+ protected final String TEXT_7 = NL + NL + "import org.eclipse.equinox.app.IApplication;" + NL
+ + "import org.eclipse.equinox.app.IApplicationContext;" + NL + "" + NL
+ + "import org.eclipse.jface.action.GroupMarker;" + NL + "import org.eclipse.jface.action.IAction;" + NL
+ + "import org.eclipse.jface.action.IMenuManager;" + NL + "import org.eclipse.jface.action.MenuManager;" + NL
+ + "import org.eclipse.jface.action.Separator;" + NL + "import org.eclipse.jface.dialogs.MessageDialog;" + NL
+ + "import org.eclipse.jface.window.Window;";
+ protected final String TEXT_8 = NL + "import org.eclipse.swt.SWT;";
+ protected final String TEXT_9 = NL + "import org.eclipse.swt.graphics.Point;" + NL
+ + "import org.eclipse.swt.widgets.Display;";
+ protected final String TEXT_10 = NL + "import org.eclipse.swt.widgets.FileDialog;" + NL
+ + "import org.eclipse.swt.widgets.Shell;";
+ protected final String TEXT_11 = NL + "import org.eclipse.ui.IEditorDescriptor;" + NL
+ + "import org.eclipse.ui.IFolderLayout;" + NL + "import org.eclipse.ui.IPageLayout;" + NL
+ + "import org.eclipse.ui.IPerspectiveFactory;" + NL + "import org.eclipse.ui.IWorkbench;" + NL
+ + "import org.eclipse.ui.IWorkbenchActionConstants;" + NL + "import org.eclipse.ui.IWorkbenchPage;" + NL
+ + "import org.eclipse.ui.IWorkbenchWindow;" + NL + "import org.eclipse.ui.PartInitException;" + NL
+ + "import org.eclipse.ui.PlatformUI;" + NL + "import org.eclipse.ui.actions.ActionFactory;";
+ protected final String TEXT_12 = NL + "import org.eclipse.ui.actions.ContributionItemFactory;";
+ protected final String TEXT_13 = NL + "import org.eclipse.ui.application.ActionBarAdvisor;" + NL
+ + "import org.eclipse.ui.application.IActionBarConfigurer;" + NL
+ + "import org.eclipse.ui.application.IWorkbenchConfigurer;" + NL
+ + "import org.eclipse.ui.application.IWorkbenchWindowConfigurer;" + NL
+ + "import org.eclipse.ui.application.WorkbenchAdvisor;" + NL
+ + "import org.eclipse.ui.application.WorkbenchWindowAdvisor;" + NL + "" + NL
+ + "import org.eclipse.emf.common.ui.URIEditorInput;" + NL
+ + "import org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate;" + NL
+ + "import org.eclipse.emf.common.util.URI;";
+ protected final String TEXT_14 = NL + "import org.eclipse.emf.common.util.UniqueEList;";
+ protected final String TEXT_15 = NL + "import org.eclipse.emf.edit.ui.action.LoadResourceAction;" + NL
+ + "import org.eclipse.emf.edit.ui.util.EditUIUtil;" + NL + "" + NL + "import ";
+ protected final String TEXT_16 = ";";
+ protected final String TEXT_17 = NL + NL + NL + "/**" + NL
+ + " * Customized {@link WorkbenchAdvisor} for the RCP application." + NL + " * <!-- begin-user-doc -->" + NL
+ + " * <!-- end-user-doc -->";
+ protected final String TEXT_18 = NL + " * ";
+ protected final String TEXT_19 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_20 = NL + "@Deprecated";
+ protected final String TEXT_21 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_22 = NL + "public final class ";
+ protected final String TEXT_23 = " extends WorkbenchAdvisor" + NL + "{";
+ protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static final String copyright = ";
+ protected final String TEXT_25 = NL;
+ protected final String TEXT_26 = NL + "\t/**" + NL + "\t * The default file extension filters for use in dialogs."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_27 = NL + "\tprivate static final String[] FILE_EXTENSION_FILTERS = ";
+ protected final String TEXT_28 = "(String[])";
+ protected final String TEXT_29 = ".FILE_EXTENSION_FILTERS.toArray(new String[0]);";
+ protected final String TEXT_30 = NL
+ + "\tprivate static final String[] FILE_EXTENSION_FILTERS = getFileExtensionFilters();" + NL + "" + NL
+ + "\t/**" + NL
+ + "\t * Returns the default file extension filters. This method should only be used to initialize {@link #FILE_EXTENSION_FILTERS}."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprivate static String[] getFileExtensionFilters()" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_31 = " result = new ";
+ protected final String TEXT_32 = "();";
+ protected final String TEXT_33 = NL + "\t\tresult.addAll(";
+ protected final String TEXT_34 = ".FILE_EXTENSION_FILTERS);";
+ protected final String TEXT_35 = NL + "\t\treturn ";
+ protected final String TEXT_36 = "result.toArray(new String[0]);" + NL + "\t}";
+ protected final String TEXT_37 = " ";
+ protected final String TEXT_38 = NL + NL + "\t/**" + NL
+ + "\t * This looks up a string in the plugin's plugin.properties file." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprivate static String getString(String key)" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_39 = ".INSTANCE.getString(key);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This looks up a string in plugin.properties, making a substitution." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprivate static String getString(String key, Object s1)" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_40 = ".INSTANCE.getString(key, new Object [] { s1 });" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * RCP's application" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static class Application implements IApplication" + NL + "\t{" + NL + "\t\t/**" + NL
+ + "\t\t * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */";
+ protected final String TEXT_41 = NL + "\t\t@Override";
+ protected final String TEXT_42 = NL + "\t\tpublic Object start(IApplicationContext context) throws Exception" + NL
+ + "\t\t{" + NL + "\t\t\tWorkbenchAdvisor workbenchAdvisor = new ";
+ protected final String TEXT_43 = "();" + NL + "\t\t\tDisplay display = PlatformUI.createDisplay();" + NL
+ + "\t\t\ttry" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tint returnCode = PlatformUI.createAndRunWorkbench(display, workbenchAdvisor);" + NL
+ + "\t\t\t\tif (returnCode == PlatformUI.RETURN_RESTART)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\treturn IApplication.EXIT_RESTART;" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse" + NL + "\t\t\t\t{"
+ + NL + "\t\t\t\t\treturn IApplication.EXIT_OK;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\tfinally"
+ + NL + "\t\t\t{" + NL + "\t\t\t\tdisplay.dispose();" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "" + NL
+ + "\t\t/**" + NL + "\t\t * @see org.eclipse.equinox.app.IApplication#stop()" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */";
+ protected final String TEXT_44 = NL + "\t\tpublic void stop()" + NL + "\t\t{" + NL + "\t\t\t// Do nothing." + NL
+ + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * RCP's perspective" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static class Perspective implements IPerspectiveFactory" + NL + "\t{" + NL + "\t\t/**" + NL
+ + "\t\t * Perspective ID" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+ + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic static final String ID_PERSPECTIVE = \"";
+ protected final String TEXT_45 = "Perspective\";";
+ protected final String TEXT_46 = NL + NL + "\t\t/**" + NL
+ + "\t\t * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */";
+ protected final String TEXT_47 = NL + "\t\tpublic void createInitialLayout(IPageLayout layout)" + NL + "\t\t{" + NL
+ + "\t\t\tlayout.setEditorAreaVisible(true);" + NL + "\t\t\tlayout.addPerspectiveShortcut(ID_PERSPECTIVE);"
+ + NL + "" + NL
+ + "\t\t\tIFolderLayout right = layout.createFolder(\"right\", IPageLayout.RIGHT, (float)0.66, layout.getEditorArea());";
+ protected final String TEXT_48 = NL + "\t\t\tright.addView(IPageLayout.ID_OUTLINE);" + NL + "" + NL
+ + "\t\t\tIFolderLayout bottonRight = layout.createFolder(\"bottonRight\", IPageLayout.BOTTOM, (float)0.60, \"right\");";
+ protected final String TEXT_49 = NL + "\t\t\tbottonRight.addView(IPageLayout.ID_PROP_SHEET);" + NL + "\t\t}" + NL
+ + "\t}" + NL + "\t" + NL + "\t/**" + NL + "\t * RCP's window advisor" + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static class WindowAdvisor extends WorkbenchWindowAdvisor" + NL + "\t{" + NL + "\t\t/**" + NL
+ + "\t\t * @see WorkbenchWindowAdvisor#WorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer)"
+ + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"
+ + NL + "\t\t */" + NL + "\t\tpublic WindowAdvisor(IWorkbenchWindowConfigurer configurer)" + NL + "\t\t{"
+ + NL + "\t\t\tsuper(configurer);" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL
+ + "\t\t * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#preWindowOpen()" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */";
+ protected final String TEXT_50 = NL + "\t\tpublic void preWindowOpen()" + NL + "\t\t{" + NL
+ + "\t\t\tIWorkbenchWindowConfigurer configurer = getWindowConfigurer();" + NL
+ + "\t\t\tconfigurer.setInitialSize(new Point(600, 450));" + NL + "\t\t\tconfigurer.setShowCoolBar(false);"
+ + NL + "\t\t\tconfigurer.setShowStatusLine(true);" + NL
+ + "\t\t\tconfigurer.setTitle(getString(\"_UI_Application_title\"));";
+ protected final String TEXT_51 = NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL
+ + "\t\t * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#createActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)"
+ + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"
+ + NL + "\t\t */";
+ protected final String TEXT_52 = NL
+ + "\t\tpublic ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer)" + NL + "\t\t{" + NL
+ + "\t\t\treturn new WindowActionBarAdvisor(configurer);" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * RCP's action bar advisor" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static class WindowActionBarAdvisor extends ActionBarAdvisor" + NL + "\t{" + NL + "\t\t/**" + NL
+ + "\t\t * @see ActionBarAdvisor#ActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tpublic WindowActionBarAdvisor(IActionBarConfigurer configurer)" + NL + "\t\t{" + NL
+ + "\t\t\tsuper(configurer);" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL
+ + "\t\t * @see org.eclipse.ui.application.ActionBarAdvisor#fillMenuBar(org.eclipse.jface.action.IMenuManager)"
+ + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"
+ + NL + "\t\t */";
+ protected final String TEXT_53 = NL + "\t\tprotected void fillMenuBar(IMenuManager menuBar)" + NL + "\t\t{" + NL
+ + "\t\t\tIWorkbenchWindow window = getActionBarConfigurer().getWindowConfigurer().getWindow();" + NL
+ + "\t\t\tmenuBar.add(createFileMenu(window));" + NL + "\t\t\tmenuBar.add(createEditMenu(window));" + NL
+ + "\t\t\tmenuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));" + NL
+ + "\t\t\tmenuBar.add(createWindowMenu(window));" + NL
+ + "\t\t\tmenuBar.add(createHelpMenu(window));\t\t\t\t\t" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL
+ + "\t\t * Creates the 'File' menu." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+ + "\t\tprotected IMenuManager createFileMenu(IWorkbenchWindow window)" + NL + "\t\t{" + NL
+ + "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_File_label\"),";
+ protected final String TEXT_54 = NL + "\t\t\tIWorkbenchActionConstants.M_FILE); " + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));" + NL + "\t" + NL
+ + "\t\t\tIMenuManager newMenu = new MenuManager(getString(\"_UI_Menu_New_label\"), \"new\");";
+ protected final String TEXT_55 = NL + "\t\t\tnewMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));"
+ + NL + "\t" + NL + "\t\t\tmenu.add(newMenu);" + NL + "\t\t\tmenu.add(new Separator());" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));" + NL
+ + "\t\t\tmenu.add(new Separator());" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.CLOSE.create(window));" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.CLOSE_ALL.create(window));" + NL
+ + "\t\t\tmenu.add(new Separator());" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.SAVE.create(window));" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.SAVE_AS.create(window));" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.SAVE_ALL.create(window));" + NL
+ + "\t\t\tmenu.add(new Separator());" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.QUIT.create(window));" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));" + NL + "\t\t\treturn menu;" + NL
+ + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * Creates the 'Edit' menu." + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tprotected IMenuManager createEditMenu(IWorkbenchWindow window)" + NL + "\t\t{" + NL
+ + "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_Edit_label\"),";
+ protected final String TEXT_56 = NL + "\t\t\tIWorkbenchActionConstants.M_EDIT);" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_START));" + NL + "\t" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.UNDO.create(window));" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.REDO.create(window));" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.UNDO_EXT));" + NL
+ + "\t\t\tmenu.add(new Separator());" + NL + "\t" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.CUT.create(window));" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.COPY.create(window));" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.PASTE.create(window));" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.CUT_EXT));" + NL
+ + "\t\t\tmenu.add(new Separator());" + NL + "\t" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.DELETE.create(window));" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.SELECT_ALL.create(window));" + NL
+ + "\t\t\tmenu.add(new Separator());" + NL + "\t" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.ADD_EXT));" + NL + "\t" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_END));" + NL
+ + "\t\t\tmenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));" + NL + "\t\t\treturn menu;" + NL
+ + "\t\t}" + NL + "\t" + NL + "\t\t/**" + NL + "\t\t * Creates the 'Window' menu." + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tprotected IMenuManager createWindowMenu(IWorkbenchWindow window)" + NL + "\t\t{"
+ + NL + "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_Window_label\"),";
+ protected final String TEXT_57 = NL + "\t\t\tIWorkbenchActionConstants.M_WINDOW);" + NL + "\t" + NL
+ + "\t\t\taddToMenuAndRegister(menu, ActionFactory.OPEN_NEW_WINDOW.create(window));" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));";
+ protected final String TEXT_58 = NL + "\t\t\tmenu.add(ContributionItemFactory.OPEN_WINDOWS.create(window));";
+ protected final String TEXT_59 = NL + "\t" + NL + "\t\t\treturn menu;" + NL + "\t\t}" + NL + "\t" + NL + "\t\t/**"
+ + NL + "\t\t * Creates the 'Help' menu." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+ + "\t\tprotected IMenuManager createHelpMenu(IWorkbenchWindow window)" + NL + "\t\t{" + NL
+ + "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_Help_label\"), IWorkbenchActionConstants.M_HELP);";
+ protected final String TEXT_60 = NL + "\t\t\t// Welcome or intro page would go here" + NL
+ + "\t\t\t// Help contents would go here" + NL + "\t\t\t// Tips and tricks page would go here" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.HELP_START));" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.HELP_END));" + NL
+ + "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));" + NL + "\t\t\treturn menu;"
+ + NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL
+ + "\t\t * Adds the specified action to the given menu and also registers the action with the" + NL
+ + "\t\t * action bar configurer, in order to activate its key binding." + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tprotected void addToMenuAndRegister(IMenuManager menuManager, IAction action)" + NL
+ + "\t\t{" + NL + "\t\t\tmenuManager.add(action);" + NL
+ + "\t\t\tgetActionBarConfigurer().registerGlobalAction(action);" + NL + "\t\t}" + NL + "\t}" + NL + "\t"
+ + NL + "\t/**" + NL + "\t * About action for the RCP application." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static class AboutAction extends WorkbenchWindowActionDelegate" + NL + "\t{" + NL + "\t\t/**"
+ + NL + "\t\t * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */";
+ protected final String TEXT_61 = NL + "\t\tpublic void run(IAction action)" + NL + "\t\t{" + NL
+ + "\t\t\tMessageDialog.openInformation(getWindow().getShell(), getString(\"_UI_About_title\"),";
+ protected final String TEXT_62 = NL + "\t\t\tgetString(\"_UI_About_text\"));";
+ protected final String TEXT_63 = NL + "\t\t}" + NL + "\t}" + NL + "\t";
+ protected final String TEXT_64 = NL + "\t/**" + NL + "\t * Open action for the objects from the ";
+ protected final String TEXT_65 = " model." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static class OpenAction extends WorkbenchWindowActionDelegate" + NL + "\t{" + NL + "\t\t/**"
+ + NL + "\t\t * Opens the editors for the files selected using the file dialog." + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */";
+ protected final String TEXT_66 = NL + "\t\tpublic void run(IAction action)" + NL + "\t\t{" + NL
+ + "\t\t\tString[] filePaths = openFilePathDialog(getWindow().getShell(), SWT.OPEN, null);" + NL
+ + "\t\t\tif (filePaths.length > 0)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\topenEditor(getWindow().getWorkbench(), URI.createFileURI(filePaths[0]));" + NL + "\t\t\t}" + NL
+ + "\t\t}" + NL + "\t}";
+ protected final String TEXT_67 = NL + "\t" + NL + "\t/**" + NL + "\t * Open URI action for the objects from the ";
+ protected final String TEXT_68 = " model." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static class OpenURIAction extends WorkbenchWindowActionDelegate" + NL + "\t{" + NL + "\t\t/**"
+ + NL + "\t\t * Opens the editors for the files selected using the LoadResourceDialog." + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */";
+ protected final String TEXT_69 = NL + "\t\tpublic void run(IAction action)" + NL + "\t\t{" + NL
+ + "\t\t\tLoadResourceAction.LoadResourceDialog loadResourceDialog = new LoadResourceAction.LoadResourceDialog(getWindow().getShell());"
+ + NL + "\t\t\tif (Window.OK == loadResourceDialog.open())" + NL + "\t\t\t{";
+ protected final String TEXT_70 = NL + "\t\t\t\tfor (URI uri : loadResourceDialog.getURIs())" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\topenEditor(getWindow().getWorkbench(), uri);" + NL + "\t\t\t\t}";
+ protected final String TEXT_71 = NL
+ + "\t\t\t\tfor (Iterator i = loadResourceDialog.getURIs().iterator(); i.hasNext();)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\topenEditor(getWindow().getWorkbench(), (URI)i.next());" + NL + "\t\t\t\t}";
+ protected final String TEXT_72 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "\t";
+ protected final String TEXT_73 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static String[] openFilePathDialog(Shell shell, int style, String[] fileExtensionFilters)" + NL
+ + "\t{" + NL
+ + "\t\treturn openFilePathDialog(shell, style, fileExtensionFilters, (style & SWT.OPEN) != 0, (style & SWT.OPEN) != 0, (style & SWT.SAVE) != 0);"
+ + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static String[] openFilePathDialog(Shell shell, int style, String[] fileExtensionFilters, boolean includeGroupFilter, boolean includeAllFilter, boolean addExtension)"
+ + NL + "\t{" + NL + "\t\tFileDialog fileDialog = new FileDialog(shell, style);" + NL
+ + "\t\tif (fileExtensionFilters == null)" + NL + "\t\t{" + NL
+ + "\t\t\tfileExtensionFilters = FILE_EXTENSION_FILTERS;" + NL + "\t\t}" + NL + "\t\t" + NL
+ + "\t\t// If requested, augment the file extension filters by adding a group of all the other filters (*.ext1;*.ext2;...)"
+ + NL + "\t\t// at the beginning and/or an all files wildcard (*.*) at the end." + NL + "\t\t//" + NL
+ + "\t\tincludeGroupFilter &= fileExtensionFilters.length > 1;" + NL
+ + "\t\tint offset = includeGroupFilter ? 1 : 0;" + NL + "\t\t" + NL
+ + "\t\tif (includeGroupFilter || includeAllFilter)" + NL + "\t\t{" + NL
+ + "\t\t\tint size = fileExtensionFilters.length + offset + (includeAllFilter ? 1 : 0);" + NL
+ + "\t\t\tString[] allFilters = new String[size];" + NL + "\t\t\t";
+ protected final String TEXT_74 = " group = includeGroupFilter ? new ";
+ protected final String TEXT_75 = "() : null;" + NL + "\t\t\t" + NL
+ + "\t\t\tfor (int i = 0; i < fileExtensionFilters.length; i++)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tif (includeGroupFilter)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tif (i != 0)" + NL + "\t\t\t\t\t{"
+ + NL + "\t\t\t\t\t\tgroup.append(';');" + NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t\tgroup.append(fileExtensionFilters[i]);" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t\tallFilters[i + offset] = fileExtensionFilters[i];" + NL + "\t\t\t}" + NL + "\t\t\t" + NL
+ + "\t\t\tif (includeGroupFilter)" + NL + "\t\t\t{" + NL + "\t\t\t\tallFilters[0] = group.toString();" + NL
+ + "\t\t\t}" + NL + "\t\t\tif (includeAllFilter)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tallFilters[allFilters.length - 1] = \"*.*\";";
+ protected final String TEXT_76 = NL + "\t\t\t}" + NL + "\t\t\t" + NL
+ + "\t\t\tfileDialog.setFilterExtensions(allFilters);" + NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL
+ + "\t\t\tfileDialog.setFilterExtensions(fileExtensionFilters);" + NL + "\t\t}" + NL
+ + "\t\tfileDialog.open();" + NL + "\t\t" + NL + "\t\tString[] filenames = fileDialog.getFileNames();" + NL
+ + "\t\tString[] result = new String[filenames.length];" + NL
+ + "\t\tString path = fileDialog.getFilterPath() + File.separator;" + NL + "\t\tString extension = null;"
+ + NL + "\t\t" + NL
+ + "\t\t// If extension adding requested, get the dotted extension corresponding to the selected filter."
+ + NL + "\t\t//" + NL + "\t\tif (addExtension)" + NL + "\t\t{" + NL
+ + "\t\t\tint i = fileDialog.getFilterIndex();" + NL
+ + "\t\t\tif (i != -1 && (!includeAllFilter || i != fileExtensionFilters.length))" + NL + "\t\t\t{" + NL
+ + "\t\t\t\ti = includeGroupFilter && i == 0 ? 0 : i - offset;" + NL
+ + "\t\t\t\tString filter = fileExtensionFilters[i];" + NL + "\t\t\t\tint dot = filter.lastIndexOf('.');"
+ + NL + "\t\t\t\tif (dot == 1 && filter.charAt(0) == '*')" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\textension = filter.substring(dot);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL
+ + "\t\t" + NL
+ + "\t\t// Build the result by adding the selected path and, if needed, auto-appending the extension." + NL
+ + "\t\t//" + NL + "\t\tfor (int i = 0; i < filenames.length; i++)" + NL + "\t\t{" + NL
+ + "\t\t\tString filename = path + filenames[i];" + NL + "\t\t\tif (extension != null)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tint dot = filename.lastIndexOf('.');" + NL
+ + "\t\t\t\tif (dot == -1 || !Arrays.asList(fileExtensionFilters).contains(\"*\" + filename.substring(dot)))";
+ protected final String TEXT_77 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tfilename += extension;" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t}" + NL + "\t\t\tresult[i] = filename;" + NL + "\t\t}" + NL + "\t\treturn result;" + NL + "\t}";
+ protected final String TEXT_78 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static boolean openEditor(IWorkbench workbench, URI uri)" + NL + "\t{" + NL
+ + "\t\tIWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();" + NL
+ + "\t\tIWorkbenchPage page = workbenchWindow.getActivePage();" + NL + "\t\t" + NL
+ + "\t\tIEditorDescriptor editorDescriptor = EditUIUtil.getDefaultEditor(uri, null);" + NL
+ + "\t\tif (editorDescriptor == null)" + NL + "\t\t{" + NL + "\t\t\tMessageDialog.openError(" + NL
+ + "\t\t\t\tworkbenchWindow.getShell()," + NL + "\t\t\t\tgetString(\"_UI_Error_title\"),";
+ protected final String TEXT_79 = NL + "\t\t\t\tgetString(\"_WARN_No_Editor\", uri.lastSegment()));";
+ protected final String TEXT_80 = NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL
+ + "\t\t\ttry" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tpage.openEditor(new URIEditorInput(uri), editorDescriptor.getId());" + NL + "\t\t\t}" + NL
+ + "\t\t\tcatch (PartInitException exception)" + NL + "\t\t\t{" + NL + "\t\t\t\tMessageDialog.openError("
+ + NL + "\t\t\t\t\tworkbenchWindow.getShell()," + NL + "\t\t\t\t\tgetString(\"_UI_OpenEditorError_label\"),";
+ protected final String TEXT_81 = NL + "\t\t\t\t\texception.getMessage());" + NL + "\t\t\t\treturn false;" + NL
+ + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn true;" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL
+ + "\t * @see org.eclipse.ui.application.WorkbenchAdvisor#getInitialWindowPerspectiveId()" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_82 = NL + "\tpublic String getInitialWindowPerspectiveId()" + NL + "\t{" + NL
+ + "\t\treturn Perspective.ID_PERSPECTIVE;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * @see org.eclipse.ui.application.WorkbenchAdvisor#initialize(org.eclipse.ui.application.IWorkbenchConfigurer)"
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_83 = NL + "\tpublic void initialize(IWorkbenchConfigurer configurer)" + NL + "\t{" + NL
+ + "\t\tsuper.initialize(configurer);" + NL + "\t\tconfigurer.setSaveAndRestore(true);" + NL + "\t}" + NL
+ + "\t" + NL + "\t/**" + NL
+ + "\t * @see org.eclipse.ui.application.WorkbenchAdvisor#createWorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer)"
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_84 = NL
+ + "\tpublic WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer)" + NL
+ + "\t{" + NL + "\t\treturn new WindowAdvisor(configurer);" + NL + "\t}" + NL + "}";
+ protected final String TEXT_85 = NL;
+
+ public Advisor() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(TEXT_85);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPath = genModel.getEditorPluginDirectory();
+ packageName = genModel.getEditorPluginPackageName();
+ className = genModel.getEditorAdvisorClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2004-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ String _ListOfString = "List" + (genModel.useGenerics() ? "<String>" : "");
+ String _UniqueEListOfString = "UniqueEList" + (genModel.useGenerics() ? "<String>" : "");
+ String _StringBuilder = genModel
+ .getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer");
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getEditorPluginPackageName());
+ stringBuffer.append(TEXT_3);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_4);
+ }
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_5);
+ }
+ if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) {
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_7);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_12);
+ }
+ stringBuffer.append(TEXT_13);
+ if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) {
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getQualifiedEditorPluginClassName());
+ stringBuffer.append(TEXT_16);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_17);
+ if (genModel.hasAPITags()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_19);
+ if (isJDK50 && genModel.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_20);
+ } else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genModel.getAllGenPackagesWithConcreteClasses())) {
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genModel.getEditorAdvisorClassName());
+ stringBuffer.append(TEXT_23);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_25);
+ }
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_26);
+ if (genModel.getAllGenPackagesWithConcreteClasses().size() == 1) {
+ stringBuffer.append(TEXT_27);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_28);
+ }
+ stringBuffer
+ .append(genModel.getAllGenPackagesWithConcreteClasses().get(0).getImportedEditorClassName());
+ stringBuffer.append(TEXT_29);
+ } else {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(_ListOfString);
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(_UniqueEListOfString);
+ stringBuffer.append(TEXT_32);
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithConcreteClasses()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genPackage.getImportedEditorClassName());
+ stringBuffer.append(TEXT_34);
+ }
+ stringBuffer.append(TEXT_35);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_28);
+ }
+ stringBuffer.append(TEXT_36);
+ }
+ stringBuffer.append(TEXT_37);
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getEditorPluginClassName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getQualifiedEditorPluginClassName());
+ stringBuffer.append(TEXT_40);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genModel.getEditorAdvisorClassName());
+ stringBuffer.append(TEXT_43);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_46);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_49);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_51);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_52);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_57);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_58);
+ }
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_60);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_63);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_65);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_66);
+ }
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_68);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_69);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_70);
+ } else {
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_72);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(_StringBuilder);
+ stringBuffer.append(TEXT_74);
+ stringBuffer.append(_StringBuilder);
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_77);
+ }
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_81);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_82);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_83);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_84);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_25);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genModel.isRichClientPlatform());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java
new file mode 100644
index 000000000..31cea46a3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java
@@ -0,0 +1,187 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class AppEngineWebXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized AppEngineWebXML create(String lineSeparator) {
+ nl = lineSeparator;
+ AppEngineWebXML result = new AppEngineWebXML();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "<appengine-web-app xmlns=\"http://appengine.google.com/ns/1.0\">" + NL
+ + "\t<application>";
+ protected final String TEXT_4 = "-editor</application>" + NL + "\t<version>1</version>" + NL
+ + "\t<threadsafe>true</threadsafe>" + NL + "</appengine-web-app>" + NL;
+ protected final String TEXT_5 = NL;
+
+ public AppEngineWebXML() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(TEXT_5);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditorProjectDirectory() + "/war/WEB-INF/appengine-web.xml";
+ overwrite = false;
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getModelName().toLowerCase().replaceAll("\\s", "-"));
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java
new file mode 100644
index 000000000..2fb996278
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java
@@ -0,0 +1,240 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized BuildProperties create(String lineSeparator) {
+ nl = lineSeparator;
+ BuildProperties result = new BuildProperties();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + NL + "bin.includes = ";
+ protected final String TEXT_3 = ",\\" + NL + " icons/,\\";
+ protected final String TEXT_4 = NL + " META-INF/,\\";
+ protected final String TEXT_5 = NL + " plugin.xml,\\";
+ protected final String TEXT_6 = NL + " ";
+ protected final String TEXT_7 = ".properties";
+ protected final String TEXT_8 = NL + "jars.compile.order = ";
+ protected final String TEXT_9 = NL + "source.";
+ protected final String TEXT_10 = " = ";
+ protected final String TEXT_11 = NL + "output.";
+ protected final String TEXT_12 = "bin";
+ protected final String TEXT_13 = "war/WEB-INF/classes";
+ protected final String TEXT_14 = NL;
+ protected final String TEXT_15 = NL;
+
+ public BuildProperties() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(TEXT_15);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditorProjectDirectory() + "/build.properties";
+ overwrite = genModel.isUpdateClasspath()
+ && !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter)
+ .toURI(genModel.getEditorProjectDirectory()).appendSegment("plugin.xml"));
+ encoding = "ISO-8859-1";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getEditorPluginID() + ".jar" : ".";
+ List<String> sourceFolders = genModel.getEditorSourceFolders();
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_3);
+ if (genModel.isBundleManifest()) {
+ stringBuffer.append(TEXT_4);
+ }
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_5);
+ }
+ String editorBundleLocalization = genModel.getEditorBundleLocalization();
+ int index = editorBundleLocalization.indexOf("/");
+ if (index == -1) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(editorBundleLocalization);
+ stringBuffer.append(TEXT_7);
+ } else {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(editorBundleLocalization.substring(0, index + 1));
+ }
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(pluginClassesLocation);
+ boolean first = true;
+ for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {
+ String sourceFolder = i.next();
+ if (i.hasNext()) {
+ sourceFolder += ",\\";
+ }
+ if (first) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(sourceFolder);
+ first = false;
+ } else {
+ stringBuffer.append(sourceFolder);
+ }
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_10);
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_12);
+ } else {
+ stringBuffer.append(TEXT_13);
+ }
+ stringBuffer.append(TEXT_14);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && true;
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java
new file mode 100644
index 000000000..3d333127f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java
@@ -0,0 +1,2713 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Editor extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized Editor create(String lineSeparator) {
+ nl = lineSeparator;
+ Editor result = new Editor();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL + "" + NL + "" + NL + "import java.io.IOException;" + NL
+ + "import java.io.InputStream;" + NL + "" + NL + "import java.util.ArrayList;" + NL
+ + "import java.util.Collection;" + NL + "import java.util.Collections;" + NL
+ + "import java.util.EventObject;" + NL + "import java.util.HashMap;" + NL + "import java.util.Iterator;"
+ + NL + "import java.util.LinkedHashMap;" + NL + "import java.util.List;" + NL + "import java.util.Map;";
+ protected final String TEXT_4 = NL + NL + "import org.eclipse.core.resources.IFile;" + NL
+ + "import org.eclipse.core.resources.IMarker;" + NL + "import org.eclipse.core.resources.IResource;" + NL
+ + "import org.eclipse.core.resources.IResourceChangeEvent;" + NL
+ + "import org.eclipse.core.resources.IResourceChangeListener;" + NL
+ + "import org.eclipse.core.resources.IResourceDelta;" + NL
+ + "import org.eclipse.core.resources.IResourceDeltaVisitor;" + NL
+ + "import org.eclipse.core.resources.ResourcesPlugin;";
+ protected final String TEXT_5 = NL;
+ protected final String TEXT_6 = NL + "import org.eclipse.core.runtime.CoreException;" + NL
+ + "import org.eclipse.core.runtime.IPath;";
+ protected final String TEXT_7 = NL + "import org.eclipse.core.runtime.IProgressMonitor;" + NL
+ + "import org.eclipse.core.runtime.NullProgressMonitor;" + NL + "" + NL
+ + "import org.eclipse.jface.action.IMenuListener;" + NL + "import org.eclipse.jface.action.IMenuManager;"
+ + NL + "import org.eclipse.jface.action.IStatusLineManager;" + NL
+ + "import org.eclipse.jface.action.IToolBarManager;" + NL + "import org.eclipse.jface.action.MenuManager;"
+ + NL + "import org.eclipse.jface.action.Separator;" + NL + "" + NL
+ + "import org.eclipse.jface.dialogs.MessageDialog;" + NL
+ + "import org.eclipse.jface.dialogs.ProgressMonitorDialog;" + NL;
+ protected final String TEXT_8 = NL + "import org.eclipse.jface.util.LocalSelectionTransfer;" + NL;
+ protected final String TEXT_9 = NL + "import org.eclipse.jface.viewers.ColumnWeightData;";
+ protected final String TEXT_10 = NL + "import org.eclipse.jface.viewers.ISelection;" + NL
+ + "import org.eclipse.jface.viewers.ISelectionChangedListener;" + NL
+ + "import org.eclipse.jface.viewers.ISelectionProvider;" + NL
+ + "import org.eclipse.jface.viewers.IStructuredSelection;";
+ protected final String TEXT_11 = NL + "import org.eclipse.jface.viewers.ListViewer;";
+ protected final String TEXT_12 = NL + "import org.eclipse.jface.viewers.SelectionChangedEvent;" + NL
+ + "import org.eclipse.jface.viewers.StructuredSelection;" + NL
+ + "import org.eclipse.jface.viewers.StructuredViewer;";
+ protected final String TEXT_13 = NL + "import org.eclipse.jface.viewers.TableLayout;" + NL
+ + "import org.eclipse.jface.viewers.TableViewer;";
+ protected final String TEXT_14 = NL + "import org.eclipse.jface.viewers.TreeViewer;" + NL
+ + "import org.eclipse.jface.viewers.Viewer;" + NL + "" + NL + "import org.eclipse.swt.SWT;" + NL + "" + NL
+ + "import org.eclipse.swt.custom.CTabFolder;" + NL + "" + NL + "import org.eclipse.swt.dnd.DND;";
+ protected final String TEXT_15 = NL + "import org.eclipse.swt.dnd.FileTransfer;";
+ protected final String TEXT_16 = NL + "import org.eclipse.swt.dnd.Transfer;" + NL + "" + NL
+ + "import org.eclipse.swt.events.ControlAdapter;" + NL + "import org.eclipse.swt.events.ControlEvent;" + NL
+ + "" + NL + "import org.eclipse.swt.graphics.Point;" + NL + "import org.eclipse.swt.graphics.Rectangle;";
+ protected final String TEXT_17 = NL + NL + "import org.eclipse.swt.layout.FillLayout;";
+ protected final String TEXT_18 = NL + NL + "import org.eclipse.swt.widgets.Composite;" + NL
+ + "import org.eclipse.swt.widgets.Menu;";
+ protected final String TEXT_19 = NL + "import org.eclipse.swt.widgets.Table;" + NL
+ + "import org.eclipse.swt.widgets.TableColumn;";
+ protected final String TEXT_20 = NL + "import org.eclipse.swt.widgets.Tree;";
+ protected final String TEXT_21 = NL + "import org.eclipse.swt.widgets.TreeColumn;";
+ protected final String TEXT_22 = NL + NL + "import org.eclipse.ui.IActionBars;" + NL
+ + "import org.eclipse.ui.IEditorInput;" + NL + "import org.eclipse.ui.IEditorPart;" + NL
+ + "import org.eclipse.ui.IEditorSite;";
+ protected final String TEXT_23 = NL + "import org.eclipse.ui.IFileEditorInput;";
+ protected final String TEXT_24 = NL + "import org.eclipse.ui.IPartListener;" + NL
+ + "import org.eclipse.ui.IWorkbenchPart;" + NL + "import org.eclipse.ui.PartInitException;";
+ protected final String TEXT_25 = NL + NL + "import org.eclipse.ui.dialogs.SaveAsDialog;" + NL + "" + NL
+ + "import org.eclipse.ui.ide.IGotoMarker;";
+ protected final String TEXT_26 = NL + "import org.eclipse.ui.part.FileEditorInput;";
+ protected final String TEXT_27 = NL + "import org.eclipse.ui.part.MultiPageEditorPart;" + NL + "" + NL
+ + "import org.eclipse.ui.views.contentoutline.ContentOutline;" + NL
+ + "import org.eclipse.ui.views.contentoutline.ContentOutlinePage;" + NL
+ + "import org.eclipse.ui.views.contentoutline.IContentOutlinePage;" + NL + "" + NL
+ + "import org.eclipse.ui.views.properties.IPropertySheetPage;" + NL
+ + "import org.eclipse.ui.views.properties.PropertySheet;" + NL
+ + "import org.eclipse.ui.views.properties.PropertySheetPage;" + NL + "" + NL
+ + "import org.eclipse.emf.common.command.BasicCommandStack;" + NL
+ + "import org.eclipse.emf.common.command.Command;" + NL
+ + "import org.eclipse.emf.common.command.CommandStack;" + NL
+ + "import org.eclipse.emf.common.command.CommandStackListener;" + NL + "" + NL
+ + "import org.eclipse.emf.common.notify.AdapterFactory;" + NL
+ + "import org.eclipse.emf.common.notify.Notification;" + NL;
+ protected final String TEXT_28 = NL + "import org.eclipse.emf.common.ui.MarkerHelper;";
+ protected final String TEXT_29 = NL + "import org.eclipse.emf.common.ui.ViewerPane;";
+ protected final String TEXT_30 = NL + NL + "import org.eclipse.emf.common.ui.editor.ProblemEditorPart;" + NL + ""
+ + NL + "import org.eclipse.emf.common.ui.viewer.IViewerProvider;" + NL + "" + NL
+ + "import org.eclipse.emf.common.util.BasicDiagnostic;" + NL
+ + "import org.eclipse.emf.common.util.Diagnostic;" + NL + "import org.eclipse.emf.common.util.URI;" + NL;
+ protected final String TEXT_31 = NL + "import org.eclipse.emf.ecore.EObject;" + NL
+ + "import org.eclipse.emf.ecore.EValidator;";
+ protected final String TEXT_32 = NL + NL + "import org.eclipse.emf.ecore.resource.Resource;" + NL
+ + "import org.eclipse.emf.ecore.resource.ResourceSet;" + NL + "" + NL
+ + "import org.eclipse.emf.ecore.util.EContentAdapter;" + NL + "import org.eclipse.emf.ecore.util.EcoreUtil;"
+ + NL + "" + NL + "import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;" + NL
+ + "import org.eclipse.emf.edit.domain.EditingDomain;" + NL
+ + "import org.eclipse.emf.edit.domain.IEditingDomainProvider;" + NL + "" + NL
+ + "import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;" + NL
+ + "import org.eclipse.emf.edit.provider.ComposedAdapterFactory;" + NL
+ + "import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;" + NL + "" + NL
+ + "import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;" + NL + "" + NL
+ + "import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;" + NL + "" + NL
+ + "import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;" + NL + "" + NL
+ + "import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;" + NL
+ + "import org.eclipse.emf.edit.ui.dnd.LocalTransfer;" + NL
+ + "import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;" + NL + "" + NL
+ + "import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;" + NL
+ + "import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;";
+ protected final String TEXT_33 = NL + "import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;";
+ protected final String TEXT_34 = NL + NL + "import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;";
+ protected final String TEXT_35 = NL + "import org.eclipse.emf.edit.ui.util.EditUIUtil;";
+ protected final String TEXT_36 = NL + NL + "import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;" + NL
+ + "" + NL + "import ";
+ protected final String TEXT_37 = ";" + NL;
+ protected final String TEXT_38 = NL + NL + NL + "/**" + NL + " * This is an example of a ";
+ protected final String TEXT_39 = " model editor." + NL + " * <!-- begin-user-doc -->" + NL
+ + " * <!-- end-user-doc -->";
+ protected final String TEXT_40 = NL + " * ";
+ protected final String TEXT_41 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_42 = NL + "@Deprecated";
+ protected final String TEXT_43 = NL + "public class ";
+ protected final String TEXT_44 = NL + "\textends MultiPageEditorPart" + NL
+ + "\timplements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider";
+ protected final String TEXT_45 = ", IGotoMarker";
+ protected final String TEXT_46 = ", ";
+ protected final String TEXT_47 = NL + "{";
+ protected final String TEXT_48 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_49 = " copyright = ";
+ protected final String TEXT_50 = ";";
+ protected final String TEXT_51 = NL + "\t/**" + NL + "\t * The filters for file extensions supported by the editor."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_52 = NL + "\tpublic static final ";
+ protected final String TEXT_53 = " FILE_EXTENSION_FILTERS = prefixExtensions(";
+ protected final String TEXT_54 = ".FILE_EXTENSIONS, \"*.\");";
+ protected final String TEXT_55 = NL + "\t";
+ protected final String TEXT_56 = ".asList(";
+ protected final String TEXT_57 = ".INSTANCE.getString(\"_UI_";
+ protected final String TEXT_58 = "FilenameExtensions\").split(\"\\\\s*,\\\\s*\")), \"*.\");";
+ protected final String TEXT_59 = NL + "\t/**" + NL
+ + "\t * Returns a new unmodifiable list containing prefixed versions of the extensions in the given list."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprivate static ";
+ protected final String TEXT_60 = " prefixExtensions(";
+ protected final String TEXT_61 = " extensions, String prefix)" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_62 = " result = new ";
+ protected final String TEXT_63 = "();";
+ protected final String TEXT_64 = NL + "\t\tfor (String extension : extensions)" + NL + "\t\t{" + NL
+ + "\t\t\tresult.add(prefix + extension);";
+ protected final String TEXT_65 = NL + "\t\tfor (Iterator iterator = extensions.iterator() ; iterator.hasNext(); )"
+ + NL + "\t\t{" + NL + "\t\t\tresult.add(prefix + (String)iterator.next());";
+ protected final String TEXT_66 = NL + "\t\t}" + NL + "\t\treturn Collections.unmodifiableList(result);" + NL + "\t}"
+ + NL;
+ protected final String TEXT_67 = NL + "\t/**" + NL
+ + "\t * This keeps track of the editing domain that is used to track all changes to the model." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected AdapterFactoryEditingDomain editingDomain;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This is the one adapter factory used for providing views of the model." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ComposedAdapterFactory adapterFactory;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This is the content outline page." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected IContentOutlinePage contentOutlinePage;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This is a kludge..." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @generated" + NL + "\t */" + NL + "\tprotected IStatusLineManager contentOutlineStatusLineManager;"
+ + NL + "" + NL + "\t/**" + NL + "\t * This is the content outline page's viewer." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected TreeViewer contentOutlineViewer;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This is the property sheet page." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_68 = " propertySheetPages = new ";
+ protected final String TEXT_69 = "();" + NL + "" + NL + "\t/**" + NL
+ + "\t * This is the viewer that shadows the selection in the content outline." + NL
+ + "\t * The parent relation must be correctly defined for this to work." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected TreeViewer selectionViewer;";
+ protected final String TEXT_70 = NL + NL + "\t/**" + NL
+ + "\t * This inverts the roll of parent and child in the content provider and show parents as a tree." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected TreeViewer parentViewer;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This shows how a tree view works." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected TreeViewer treeViewer;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This shows how a list view works." + NL + "\t * A list viewer doesn't support icons." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ListViewer listViewer;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This shows how a table view works." + NL + "\t * A table can be used as a list with icons." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected TableViewer tableViewer;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This shows how a tree view with columns works." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected TreeViewer treeViewerWithColumns;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This keeps track of the active viewer pane, in the book." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected ViewerPane currentViewerPane;";
+ protected final String TEXT_71 = NL + NL + "\t/**" + NL
+ + "\t * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected Viewer currentViewer;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This listens to which ever viewer is active." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected ISelectionChangedListener selectionChangedListener;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_72 = " selectionChangedListeners = new ";
+ protected final String TEXT_73 = "();" + NL + "" + NL + "\t/**" + NL
+ + "\t * This keeps track of the selection of the editor as a whole." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected ISelection editorSelection = StructuredSelection.EMPTY;" + NL;
+ protected final String TEXT_74 = NL + "\t/**" + NL
+ + "\t * The MarkerHelper is responsible for creating workspace resource markers presented" + NL
+ + "\t * in Eclipse's Problems View." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected MarkerHelper markerHelper = new EditUIMarkerHelper();" + NL;
+ protected final String TEXT_75 = NL + "\t/**" + NL + "\t * This listens for when the outline becomes active" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected IPartListener partListener =" + NL + "\t\tnew IPartListener()" + NL + "\t\t{";
+ protected final String TEXT_76 = NL + "\t\t\t@Override";
+ protected final String TEXT_77 = NL + "\t\t\tpublic void partActivated(IWorkbenchPart p)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tif (p instanceof ContentOutline)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tif (((ContentOutline)p).getCurrentPage() == contentOutlinePage)" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tgetActionBarContributor().setActiveEditor(";
+ protected final String TEXT_78 = ".this);" + NL + "" + NL + "\t\t\t\t\t\tsetCurrentViewer(contentOutlineViewer);"
+ + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse if (p instanceof PropertySheet)" + NL
+ + "\t\t\t\t{" + NL + "\t\t\t\t\tif (propertySheetPages.contains(((PropertySheet)p).getCurrentPage()))" + NL
+ + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tgetActionBarContributor().setActiveEditor(";
+ protected final String TEXT_79 = ".this);" + NL + "\t\t\t\t\t\thandleActivate();" + NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t}" + NL + "\t\t\t\telse if (p == ";
+ protected final String TEXT_80 = ".this)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\thandleActivate();" + NL + "\t\t\t\t}"
+ + NL + "\t\t\t}";
+ protected final String TEXT_81 = NL + "\t\t\tpublic void partBroughtToTop(IWorkbenchPart p)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Ignore." + NL + "\t\t\t}";
+ protected final String TEXT_82 = NL + "\t\t\tpublic void partClosed(IWorkbenchPart p)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Ignore." + NL + "\t\t\t}";
+ protected final String TEXT_83 = NL + "\t\t\tpublic void partDeactivated(IWorkbenchPart p)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Ignore." + NL + "\t\t\t}";
+ protected final String TEXT_84 = NL + "\t\t\tpublic void partOpened(IWorkbenchPart p)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Ignore." + NL + "\t\t\t}" + NL + "\t\t};" + NL + "" + NL + "\t/**" + NL
+ + "\t * Resources that have been removed since last activation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_85 = " removedResources = new ";
+ protected final String TEXT_86 = "();" + NL + "" + NL + "\t/**" + NL
+ + "\t * Resources that have been changed since last activation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_87 = " changedResources = new ";
+ protected final String TEXT_88 = "();" + NL + "" + NL + "\t/**" + NL + "\t * Resources that have been saved." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_89 = " savedResources = new ";
+ protected final String TEXT_90 = "();" + NL + "" + NL + "\t/**" + NL
+ + "\t * Map to store the diagnostic associated with a resource." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_91 = " resourceToDiagnosticMap = new ";
+ protected final String TEXT_92 = "();" + NL + "" + NL + "\t/**" + NL
+ + "\t * Controls whether the problem indication should be updated." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected boolean updateProblemIndication = true;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Adapter used to update the problem indication when resources are demanded loaded." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected EContentAdapter problemIndicationAdapter =" + NL + "\t\tnew EContentAdapter()" + NL
+ + "\t\t{" + NL + "\t\t\tprotected boolean dispatching;" + NL;
+ protected final String TEXT_93 = NL + "\t\t\tpublic void notifyChanged(Notification notification)" + NL + "\t\t\t{"
+ + NL + "\t\t\t\tif (notification.getNotifier() instanceof Resource)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tswitch (notification.getFeatureID(Resource.class))" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tcase Resource.RESOURCE__IS_LOADED:" + NL + "\t\t\t\t\t\tcase Resource.RESOURCE__ERRORS:" + NL
+ + "\t\t\t\t\t\tcase Resource.RESOURCE__WARNINGS:" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tResource resource = (Resource)notification.getNotifier();" + NL
+ + "\t\t\t\t\t\t\tDiagnostic diagnostic = analyzeResourceProblems(resource, null);" + NL
+ + "\t\t\t\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\t\tresourceToDiagnosticMap.put(resource, diagnostic);" + NL + "\t\t\t\t\t\t\t}" + NL
+ + "\t\t\t\t\t\t\telse" + NL + "\t\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\t\tresourceToDiagnosticMap.remove(resource);" + NL + "\t\t\t\t\t\t\t}" + NL
+ + "\t\t\t\t\t\t\tdispatchUpdateProblemIndication();" + NL + "\t\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t\t}";
+ protected final String TEXT_94 = NL + "\t\t\t\t\t\tdefault:" + NL + "\t\t\t\t\t\t\tbreak;";
+ protected final String TEXT_95 = NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tsuper.notifyChanged(notification);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "" + NL
+ + "\t\t\tprotected void dispatchUpdateProblemIndication()" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tif (updateProblemIndication && !dispatching)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tdispatching = true;" + NL + "\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL
+ + "\t\t\t\t\t\t(new Runnable()" + NL + "\t\t\t\t\t\t {";
+ protected final String TEXT_96 = NL + "\t\t\t\t\t\t\t @Override";
+ protected final String TEXT_97 = NL + "\t\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t\t\t dispatching = false;" + NL + "\t\t\t\t\t\t\t\t updateProblemIndication();" + NL
+ + "\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t });" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL;
+ protected final String TEXT_98 = NL + "\t\t\tprotected void setTarget(Resource target)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tbasicSetTarget(target);" + NL + "\t\t\t}" + NL;
+ protected final String TEXT_99 = NL + "\t\t\tprotected void unsetTarget(Resource target)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tbasicUnsetTarget(target);" + NL + "\t\t\t\tresourceToDiagnosticMap.remove(target);" + NL
+ + "\t\t\t\tdispatchUpdateProblemIndication();" + NL + "\t\t\t}" + NL + "\t\t};";
+ protected final String TEXT_100 = NL + NL + "\t/**" + NL + "\t * This listens for workspace changes." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected IResourceChangeListener resourceChangeListener =" + NL
+ + "\t\tnew IResourceChangeListener()" + NL + "\t\t{";
+ protected final String TEXT_101 = NL + "\t\t\tpublic void resourceChanged(IResourceChangeEvent event)" + NL
+ + "\t\t\t{" + NL + "\t\t\t\tIResourceDelta delta = event.getDelta();" + NL + "\t\t\t\ttry" + NL
+ + "\t\t\t\t{" + NL + "\t\t\t\t\tclass ResourceDeltaVisitor implements IResourceDeltaVisitor" + NL
+ + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tprotected ResourceSet resourceSet = editingDomain.getResourceSet();"
+ + NL + "\t\t\t\t\t\tprotected ";
+ protected final String TEXT_102 = "();" + NL + "\t\t\t\t\t\tprotected ";
+ protected final String TEXT_103 = "();" + NL;
+ protected final String TEXT_104 = NL + "\t\t\t\t\t\t@Override";
+ protected final String TEXT_105 = NL + "\t\t\t\t\t\tpublic boolean visit(";
+ protected final String TEXT_106 = "final ";
+ protected final String TEXT_107 = "IResourceDelta delta)" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tif (delta.getResource().getType() == IResource.FILE)" + NL + "\t\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\t\tif (delta.getKind() == IResourceDelta.REMOVED ||" + NL
+ + "\t\t\t\t\t\t\t\t delta.getKind() == IResourceDelta.CHANGED";
+ protected final String TEXT_108 = " && delta.getFlags() != IResourceDelta.MARKERS";
+ protected final String TEXT_109 = ")" + NL + "\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t";
+ protected final String TEXT_110 = "Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);"
+ + NL + "\t\t\t\t\t\t\t\t\tif (resource != null)" + NL + "\t\t\t\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\t\t\t\tif (delta.getKind() == IResourceDelta.REMOVED)" + NL + "\t\t\t\t\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\t\t\t\t\tremovedResources.add(resource);" + NL + "\t\t\t\t\t\t\t\t\t\t}";
+ protected final String TEXT_111 = NL + "\t\t\t\t\t\t\t\t\t\telse if (!savedResources.remove(resource))" + NL
+ + "\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\tchangedResources.add(resource);" + NL
+ + "\t\t\t\t\t\t\t\t\t\t}";
+ protected final String TEXT_112 = NL + "\t\t\t\t\t\t\t\t\t\telse" + NL + "\t\t\t\t\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\t\t\t\t\tif ((delta.getFlags() & IResourceDelta.MARKERS) != 0)" + NL
+ + "\t\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\t\t";
+ protected final String TEXT_113 = ".DiagnosticAdapter.update(resource, markerHelper.getMarkerDiagnostics(resource, (IFile)delta.getResource()";
+ protected final String TEXT_114 = ", false";
+ protected final String TEXT_115 = "));" + NL + "\t\t\t\t\t\t\t\t\t\t\t}" + NL
+ + "\t\t\t\t\t\t\t\t\t\t\tif ((delta.getFlags() & IResourceDelta.CONTENT) != 0)" + NL
+ + "\t\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\t\tif (!savedResources.remove(resource))" + NL
+ + "\t\t\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\t\t\tchangedResources.add(resource);" + NL
+ + "\t\t\t\t\t\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\t\t\t\t}";
+ protected final String TEXT_116 = NL + "\t\t\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\t\t}" + NL
+ + "\t\t\t\t\t\t\t\treturn false;" + NL + "\t\t\t\t\t\t\t}" + NL + "" + NL + "\t\t\t\t\t\t\treturn true;"
+ + NL + "\t\t\t\t\t\t}" + NL + "" + NL + "\t\t\t\t\t\tpublic ";
+ protected final String TEXT_117 = " getChangedResources()" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\treturn changedResources;" + NL + "\t\t\t\t\t\t}" + NL + "" + NL + "\t\t\t\t\t\tpublic ";
+ protected final String TEXT_118 = " getRemovedResources()" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\treturn removedResources;" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "" + NL
+ + "\t\t\t\t\tfinal ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();" + NL
+ + "\t\t\t\t\tdelta.accept(visitor);" + NL + "" + NL
+ + "\t\t\t\t\tif (!visitor.getRemovedResources().isEmpty())" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t\t(new Runnable()" + NL
+ + "\t\t\t\t\t\t\t {";
+ protected final String TEXT_119 = NL + "\t\t\t\t\t\t\t\t @Override";
+ protected final String TEXT_120 = NL + "\t\t\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t\t\t\t removedResources.addAll(visitor.getRemovedResources());" + NL
+ + "\t\t\t\t\t\t\t\t\t if (!isDirty())" + NL + "\t\t\t\t\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t\t\t\t\t getSite().getPage().closeEditor(";
+ protected final String TEXT_121 = ".this, false);" + NL + "\t\t\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t\t\t }" + NL
+ + "\t\t\t\t\t\t\t });" + NL + "\t\t\t\t\t}" + NL + "" + NL
+ + "\t\t\t\t\tif (!visitor.getChangedResources().isEmpty())" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t\t(new Runnable()" + NL
+ + "\t\t\t\t\t\t\t {";
+ protected final String TEXT_122 = NL + "\t\t\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t\t\t\t changedResources.addAll(visitor.getChangedResources());" + NL
+ + "\t\t\t\t\t\t\t\t\t if (getSite().getPage().getActiveEditor() == ";
+ protected final String TEXT_123 = ".this)" + NL + "\t\t\t\t\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t\t\t\t\t handleActivate();" + NL + "\t\t\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t\t\t }" + NL
+ + "\t\t\t\t\t\t\t });" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t\tcatch (CoreException exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+ protected final String TEXT_124 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t};";
+ protected final String TEXT_125 = NL + NL + "\t/**" + NL
+ + "\t * Handles activation of the editor or it's associated views." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected void handleActivate()" + NL + "\t{" + NL + "\t\t// Recompute the read only state." + NL
+ + "\t\t//" + NL + "\t\tif (editingDomain.getResourceToReadOnlyMap() != null)" + NL + "\t\t{" + NL
+ + "\t\t editingDomain.getResourceToReadOnlyMap().clear();" + NL + "" + NL
+ + "\t\t // Refresh any actions that may become enabled or disabled." + NL + "\t\t //" + NL
+ + "\t\t setSelection(getSelection());" + NL + "\t\t}" + NL + "" + NL
+ + "\t\tif (!removedResources.isEmpty())" + NL + "\t\t{" + NL + "\t\t\tif (handleDirtyConflict())" + NL
+ + "\t\t\t{" + NL + "\t\t\t\tgetSite().getPage().closeEditor(";
+ protected final String TEXT_126 = ".this, false);" + NL + "\t\t\t}" + NL + "\t\t\telse" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tremovedResources.clear();" + NL + "\t\t\t\tchangedResources.clear();" + NL
+ + "\t\t\t\tsavedResources.clear();" + NL + "\t\t\t}" + NL + "\t\t}" + NL
+ + "\t\telse if (!changedResources.isEmpty())" + NL + "\t\t{" + NL
+ + "\t\t\tchangedResources.removeAll(savedResources);" + NL + "\t\t\thandleChangedResources();" + NL
+ + "\t\t\tchangedResources.clear();" + NL + "\t\t\tsavedResources.clear();" + NL + "\t\t}" + NL + "\t}" + NL
+ + "" + NL + "\t/**" + NL + "\t * Handles what to do with changed resources on activation." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected void handleChangedResources()" + NL + "\t{" + NL
+ + "\t\tif (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict()))" + NL + "\t\t{" + NL
+ + "\t\t\tResourceSet resourceSet = editingDomain.getResourceSet();" + NL + "\t\t\tif (isDirty())" + NL
+ + "\t\t\t{" + NL + "\t\t\t\tchangedResources.addAll(resourceSet.getResources());" + NL + "\t\t\t}" + NL
+ + "\t\t\teditingDomain.getCommandStack().flush();" + NL + "" + NL
+ + "\t\t\tupdateProblemIndication = false;";
+ protected final String TEXT_127 = NL + "\t\t\tfor (Resource resource : changedResources)";
+ protected final String TEXT_128 = NL + "\t\t\tfor (Iterator i = changedResources.iterator(); i.hasNext(); )";
+ protected final String TEXT_129 = NL + "\t\t\t{";
+ protected final String TEXT_130 = NL + "\t\t\t\tResource resource = (Resource)i.next();";
+ protected final String TEXT_131 = NL + "\t\t\t\tif (resource.isLoaded())" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tresource.unload();" + NL + "\t\t\t\t\ttry" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tresource.load(resourceSet.getLoadOptions());" + NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t\tcatch (IOException exception)" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tif (!resourceToDiagnosticMap.containsKey(resource))" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tresourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));" + NL
+ + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL;
+ protected final String TEXT_132 = NL + "\t\t\tif (AdapterFactoryEditingDomain.isStale(editorSelection))" + NL
+ + "\t\t\t{" + NL + "\t\t\t\tsetSelection(StructuredSelection.EMPTY);" + NL + "\t\t\t}";
+ protected final String TEXT_133 = NL + NL + "\t\t\tupdateProblemIndication = true;" + NL
+ + "\t\t\tupdateProblemIndication();" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Updates the problems indication with the information described in the specified diagnostic." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected void updateProblemIndication()" + NL + "\t{" + NL + "\t\tif (updateProblemIndication)"
+ + NL + "\t\t{" + NL + "\t\t\tBasicDiagnostic diagnostic =" + NL + "\t\t\t\tnew BasicDiagnostic" + NL
+ + "\t\t\t\t\t(Diagnostic.OK," + NL + "\t\t\t\t\t \"";
+ protected final String TEXT_134 = "\",";
+ protected final String TEXT_135 = NL + "\t\t\t\t\t 0," + NL + "\t\t\t\t\t null," + NL
+ + "\t\t\t\t\t new Object [] { editingDomain.getResourceSet() });";
+ protected final String TEXT_136 = NL + "\t\t\tfor (Diagnostic childDiagnostic : resourceToDiagnosticMap.values())";
+ protected final String TEXT_137 = NL
+ + "\t\t\tfor (Iterator i = resourceToDiagnosticMap.values().iterator(); i.hasNext(); )";
+ protected final String TEXT_138 = NL + "\t\t\t\tDiagnostic childDiagnostic = (Diagnostic)i.next();";
+ protected final String TEXT_139 = NL + "\t\t\t\tif (childDiagnostic.getSeverity() != Diagnostic.OK)" + NL
+ + "\t\t\t\t{" + NL + "\t\t\t\t\tdiagnostic.add(childDiagnostic);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL
+ + "" + NL + "\t\t\tint lastEditorPage = getPageCount() - 1;" + NL
+ + "\t\t\tif (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart)" + NL
+ + "\t\t\t{" + NL + "\t\t\t\t((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);" + NL
+ + "\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tsetActivePage(lastEditorPage);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL
+ + "\t\t\telse if (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tProblemEditorPart problemEditorPart = new ProblemEditorPart();" + NL
+ + "\t\t\t\tproblemEditorPart.setDiagnostic(diagnostic);";
+ protected final String TEXT_140 = NL + "\t\t\t\tproblemEditorPart.setMarkerHelper(markerHelper);";
+ protected final String TEXT_141 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\taddPage(++lastEditorPage, problemEditorPart, getEditorInput());" + NL
+ + "\t\t\t\t\tsetPageText(lastEditorPage, problemEditorPart.getPartName());" + NL
+ + "\t\t\t\t\tsetActivePage(lastEditorPage);" + NL + "\t\t\t\t\tshowTabs();" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t\tcatch (PartInitException exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+ protected final String TEXT_142 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}";
+ protected final String TEXT_143 = NL + NL + "\t\t\tif (markerHelper.hasMarkers(editingDomain.getResourceSet()))"
+ + NL + "\t\t\t{";
+ protected final String TEXT_144 = NL + "\t\t\t\tmarkerHelper.deleteMarkers(editingDomain.getResourceSet());" + NL
+ + "\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\ttry" + NL
+ + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tmarkerHelper.createMarkers(diagnostic);" + NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t\tcatch (CoreException exception)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\t";
+ protected final String TEXT_145 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}";
+ protected final String TEXT_146 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tmarkerHelper.updateMarkers(diagnostic);" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t\tcatch (CoreException exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+ protected final String TEXT_147 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}";
+ protected final String TEXT_148 = NL + "\t\t\t}";
+ protected final String TEXT_149 = NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Shows a dialog that asks if conflicting changes should be discarded." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected boolean handleDirtyConflict()" + NL + "\t{" + NL + "\t\treturn" + NL
+ + "\t\t\tMessageDialog.openQuestion" + NL + "\t\t\t\t(getSite().getShell()," + NL
+ + "\t\t\t\t getString(\"_UI_FileConflict_label\"),";
+ protected final String TEXT_150 = NL + "\t\t\t\t getString(\"_WARN_FileConflict\"));";
+ protected final String TEXT_151 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This creates a model editor."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_152 = "()" + NL + "\t{" + NL + "\t\tsuper();" + NL + "\t\tinitializeEditingDomain();"
+ + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This sets up the editing domain for the model editor."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected void initializeEditingDomain()" + NL + "\t{" + NL
+ + "\t\t// Create an adapter factory that yields item providers." + NL + "\t\t//" + NL
+ + "\t\tadapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);"
+ + NL + "" + NL + "\t\tadapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());";
+ protected final String TEXT_153 = NL
+ + "\t\tadapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());" + NL + "" + NL
+ + "\t\t// Create the command stack that will notify this editor as commands are executed." + NL + "\t\t//";
+ protected final String TEXT_154 = NL + "\t\tBasicCommandStack commandStack = new BasicCommandStack();";
+ protected final String TEXT_155 = NL + "\t\tBasicCommandStack commandStack =" + NL + "\t\t\tnew BasicCommandStack()"
+ + NL + "\t\t\t{";
+ protected final String TEXT_156 = NL + "\t\t\t\t@Override";
+ protected final String TEXT_157 = NL + "\t\t\t\tpublic void execute(Command command)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\t// Cancel live validation before executing a command that will trigger a new round of validation."
+ + NL + "\t\t\t\t\t//" + NL + "\t\t\t\t\tif (!(command instanceof ";
+ protected final String TEXT_158 = ".NonDirtying))" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\t";
+ protected final String TEXT_159 = ".cancel(editingDomain);" + NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t\tsuper.execute(command);" + NL + "\t\t\t\t}" + NL + "\t\t\t};";
+ protected final String TEXT_160 = NL + NL
+ + "\t\t// Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus."
+ + NL + "\t\t//" + NL + "\t\tcommandStack.addCommandStackListener" + NL + "\t\t\t(new CommandStackListener()"
+ + NL + "\t\t\t {";
+ protected final String TEXT_161 = NL + "\t\t\t\t @Override";
+ protected final String TEXT_162 = NL + "\t\t\t\t public void commandStackChanged(final EventObject event)" + NL
+ + "\t\t\t\t {" + NL + "\t\t\t\t\t getContainer().getDisplay().asyncExec" + NL
+ + "\t\t\t\t\t\t (new Runnable()" + NL + "\t\t\t\t\t\t {";
+ protected final String TEXT_163 = NL + "\t\t\t\t\t\t\t @Override";
+ protected final String TEXT_164 = NL + "\t\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t\t\t firePropertyChange(IEditorPart.PROP_DIRTY);" + NL + "" + NL
+ + "\t\t\t\t\t\t\t\t // Try to select the affected objects." + NL + "\t\t\t\t\t\t\t\t //" + NL
+ + "\t\t\t\t\t\t\t\t Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();"
+ + NL + "\t\t\t\t\t\t\t\t if (mostRecentCommand != null)" + NL + "\t\t\t\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t\t\t\t setSelectionToViewer(mostRecentCommand.getAffectedObjects());" + NL
+ + "\t\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t\t\t for (Iterator";
+ protected final String TEXT_165 = "<PropertySheetPage>";
+ protected final String TEXT_166 = " i = propertySheetPages.iterator(); i.hasNext(); )" + NL + "\t\t\t\t\t\t\t\t {"
+ + NL + "\t\t\t\t\t\t\t\t\t PropertySheetPage propertySheetPage = ";
+ protected final String TEXT_167 = "(PropertySheetPage)";
+ protected final String TEXT_168 = "i.next();" + NL
+ + "\t\t\t\t\t\t\t\t\t if (propertySheetPage.getControl() == null || propertySheetPage.getControl().isDisposed())"
+ + NL + "\t\t\t\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t\t\t\t i.remove();" + NL + "\t\t\t\t\t\t\t\t\t }"
+ + NL + "\t\t\t\t\t\t\t\t\t else" + NL + "\t\t\t\t\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t\t\t\t\t propertySheetPage.refresh();" + NL + "\t\t\t\t\t\t\t\t\t }" + NL
+ + "\t\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t });" + NL + "\t\t\t\t }" + NL
+ + "\t\t\t });" + NL + "" + NL + "\t\t// Create the editing domain with a special command stack." + NL
+ + "\t\t//" + NL + "\t\teditingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new ";
+ protected final String TEXT_169 = "());" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This is here for the listener to be able to call it." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_170 = NL + "\tprotected void firePropertyChange(int action)" + NL + "\t{" + NL
+ + "\t\tsuper.firePropertyChange(action);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This sets the selection into whichever viewer is active." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic void setSelectionToViewer(";
+ protected final String TEXT_171 = " collection)" + NL + "\t{" + NL + "\t\tfinal ";
+ protected final String TEXT_172 = " theSelection = collection;" + NL + "\t\t// Make sure it's okay." + NL + "\t\t//"
+ + NL + "\t\tif (theSelection != null && !theSelection.isEmpty())" + NL + "\t\t{" + NL
+ + "\t\t\tRunnable runnable =" + NL + "\t\t\t\tnew Runnable()" + NL + "\t\t\t\t{";
+ protected final String TEXT_173 = NL + "\t\t\t\t\t@Override";
+ protected final String TEXT_174 = NL + "\t\t\t\t\tpublic void run()" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t// Try to select the items in the current content viewer of the editor." + NL
+ + "\t\t\t\t\t\t//" + NL + "\t\t\t\t\t\tif (currentViewer != null)" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tcurrentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);" + NL
+ + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t};" + NL
+ + "\t\t\tgetSite().getShell().getDisplay().asyncExec(runnable);" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL
+ + "\t * This returns the editing domain as required by the {@link IEditingDomainProvider} interface." + NL
+ + "\t * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}" + NL
+ + "\t * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_175 = NL + "\t@Override";
+ protected final String TEXT_176 = NL + "\tpublic EditingDomain getEditingDomain()" + NL + "\t{" + NL
+ + "\t\treturn editingDomain;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider" + NL + "\t{"
+ + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+ + "\t\t * @generated" + NL + "\t\t */" + NL
+ + "\t\tpublic ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory)" + NL + "\t\t{" + NL
+ + "\t\t\tsuper(adapterFactory);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */";
+ protected final String TEXT_177 = NL + "\t\t@Override";
+ protected final String TEXT_178 = NL + "\t\tpublic Object [] getElements(Object object)" + NL + "\t\t{" + NL
+ + "\t\t\tObject parent = super.getParent(object);" + NL
+ + "\t\t\treturn (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();" + NL
+ + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
+ protected final String TEXT_179 = NL + "\t\tpublic Object [] getChildren(Object object)" + NL + "\t\t{" + NL
+ + "\t\t\tObject parent = super.getParent(object);" + NL
+ + "\t\t\treturn (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();" + NL
+ + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
+ protected final String TEXT_180 = NL + "\t\tpublic boolean hasChildren(Object object)" + NL + "\t\t{" + NL
+ + "\t\t\tObject parent = super.getParent(object);" + NL + "\t\t\treturn parent != null;" + NL + "\t\t}" + NL
+ + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+ + "\t\t * @generated" + NL + "\t\t */";
+ protected final String TEXT_181 = NL + "\t\tpublic Object getParent(Object object)" + NL + "\t\t{" + NL
+ + "\t\t\treturn null;" + NL + "\t\t}" + NL + "\t}";
+ protected final String TEXT_182 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic void setCurrentViewerPane(ViewerPane viewerPane)" + NL + "\t{" + NL
+ + "\t\tif (currentViewerPane != viewerPane)" + NL + "\t\t{" + NL + "\t\t\tif (currentViewerPane != null)"
+ + NL + "\t\t\t{" + NL + "\t\t\t\tcurrentViewerPane.showFocus(false);" + NL + "\t\t\t}" + NL
+ + "\t\t\tcurrentViewerPane = viewerPane;" + NL + "\t\t}" + NL
+ + "\t\tsetCurrentViewer(currentViewerPane.getViewer());" + NL + "\t}";
+ protected final String TEXT_183 = NL + NL + "\t/**" + NL
+ + "\t * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,"
+ + NL + "\t * is the current one." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void setCurrentViewer(Viewer viewer)" + NL + "\t{"
+ + NL + "\t\t// If it is changing..." + NL + "\t\t//" + NL + "\t\tif (currentViewer != viewer)" + NL
+ + "\t\t{" + NL + "\t\t\tif (selectionChangedListener == null)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Create the listener on demand." + NL + "\t\t\t\t//" + NL
+ + "\t\t\t\tselectionChangedListener =" + NL + "\t\t\t\t\tnew ISelectionChangedListener()" + NL
+ + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\t// This just notifies those things that are affected by the section."
+ + NL + "\t\t\t\t\t\t//";
+ protected final String TEXT_184 = NL
+ + "\t\t\t\t\t\tpublic void selectionChanged(SelectionChangedEvent selectionChangedEvent)" + NL
+ + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tsetSelection(selectionChangedEvent.getSelection());" + NL
+ + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t}" + NL + "" + NL
+ + "\t\t\t// Stop listening to the old one." + NL + "\t\t\t//" + NL + "\t\t\tif (currentViewer != null)" + NL
+ + "\t\t\t{" + NL + "\t\t\t\tcurrentViewer.removeSelectionChangedListener(selectionChangedListener);" + NL
+ + "\t\t\t}" + NL + "" + NL + "\t\t\t// Start listening to the new one." + NL + "\t\t\t//" + NL
+ + "\t\t\tif (viewer != null)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tviewer.addSelectionChangedListener(selectionChangedListener);" + NL + "\t\t\t}" + NL + "" + NL
+ + "\t\t\t// Remember it." + NL + "\t\t\t//" + NL + "\t\t\tcurrentViewer = viewer;" + NL + "" + NL
+ + "\t\t\t// Set the editors selection based on the current viewer's selection." + NL + "\t\t\t//" + NL
+ + "\t\t\tsetSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());"
+ + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This returns the viewer as required by the {@link IViewerProvider} interface." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_185 = NL + "\tpublic Viewer getViewer()" + NL + "\t{" + NL + "\t\treturn currentViewer;"
+ + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This creates a context menu for the viewer and adds a listener as well registering the menu for extension."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected void createContextMenuFor(StructuredViewer viewer)" + NL + "\t{" + NL
+ + "\t\tMenuManager contextMenu = new MenuManager(\"#PopUp\");";
+ protected final String TEXT_186 = NL + "\t\tcontextMenu.add(new Separator(\"additions\"));";
+ protected final String TEXT_187 = NL + "\t\tcontextMenu.setRemoveAllWhenShown(true);" + NL
+ + "\t\tcontextMenu.addMenuListener(this);" + NL
+ + "\t\tMenu menu= contextMenu.createContextMenu(viewer.getControl());" + NL
+ + "\t\tviewer.getControl().setMenu(menu);";
+ protected final String TEXT_188 = NL
+ + "\t\tgetSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));";
+ protected final String TEXT_189 = NL + "\t\tgetSite().registerContextMenu(contextMenu, viewer);";
+ protected final String TEXT_190 = NL + NL + "\t\tint dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;"
+ + NL + "\t\tTransfer[] transfers = new Transfer[] { LocalTransfer.getInstance()";
+ protected final String TEXT_191 = ", LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance()";
+ protected final String TEXT_192 = " };" + NL
+ + "\t\tviewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));" + NL
+ + "\t\tviewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));"
+ + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This is the method called to load a resource into the editing domain's resource set based on the editor's input."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tpublic void createModel()" + NL + "\t{";
+ protected final String TEXT_193 = NL
+ + "\t\tURI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter());";
+ protected final String TEXT_194 = NL + "\t\tURI resourceURI = EditUIUtil.getURI(getEditorInput());";
+ protected final String TEXT_195 = NL + "\t\tURI resourceURI = URI.createURI(getEditorInput().getName());";
+ protected final String TEXT_196 = NL + "\t\t// Assumes that the input is a file object." + NL + "\t\t//" + NL
+ + "\t\tIFileEditorInput modelFile = (IFileEditorInput)getEditorInput();" + NL
+ + "\t\tURI resourceURI = URI.createPlatformResourceURI(modelFile.getFile().getFullPath().toString(), true);";
+ protected final String TEXT_197 = NL + "\t\tException exception = null;" + NL + "\t\tResource resource = null;" + NL
+ + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t// Load the resource through the editing domain." + NL + "\t\t\t//"
+ + NL + "\t\t\tresource = editingDomain.getResourceSet().getResource(resourceURI, true);" + NL + "\t\t}" + NL
+ + "\t\tcatch (Exception e)" + NL + "\t\t{" + NL + "\t\t\texception = e;" + NL
+ + "\t\t\tresource = editingDomain.getResourceSet().getResource(resourceURI, false);" + NL + "\t\t}" + NL
+ + "" + NL + "\t\tDiagnostic diagnostic = analyzeResourceProblems(resource, exception);" + NL
+ + "\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t{" + NL
+ + "\t\t\tresourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));" + NL
+ + "\t\t}" + NL + "\t\teditingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);" + NL
+ + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Returns a diagnostic describing the errors and warnings listed in the resource" + NL
+ + "\t * and the specified exception (if any)." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic Diagnostic analyzeResourceProblems(Resource resource, Exception exception)" + NL + "\t{" + NL
+ + "\t\tboolean hasErrors = !resource.getErrors().isEmpty();" + NL
+ + "\t\tif (hasErrors || !resource.getWarnings().isEmpty())" + NL + "\t\t{" + NL
+ + "\t\t\tBasicDiagnostic basicDiagnostic =" + NL + "\t\t\t\tnew BasicDiagnostic" + NL
+ + "\t\t\t\t\t(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING," + NL + "\t\t\t\t\t \"";
+ protected final String TEXT_198 = NL + "\t\t\t\t\t 0," + NL
+ + "\t\t\t\t\t getString(\"_UI_CreateModelError_message\", resource.getURI()),";
+ protected final String TEXT_199 = NL
+ + "\t\t\t\t\t new Object [] { exception == null ? (Object)resource : exception });" + NL
+ + "\t\t\tbasicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));" + NL
+ + "\t\t\treturn basicDiagnostic;" + NL + "\t\t}" + NL + "\t\telse if (exception != null)" + NL + "\t\t{"
+ + NL + "\t\t\treturn" + NL + "\t\t\t\tnew BasicDiagnostic" + NL + "\t\t\t\t\t(Diagnostic.ERROR," + NL
+ + "\t\t\t\t\t \"";
+ protected final String TEXT_200 = NL + "\t\t\t\t\t new Object[] { exception });" + NL + "\t\t}" + NL + "\t\telse"
+ + NL + "\t\t{" + NL + "\t\t\treturn Diagnostic.OK_INSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * This is the method used by the framework to install your own controls." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_201 = NL + "\tpublic void createPages()" + NL + "\t{" + NL
+ + "\t\t// Creates the model from the editor input" + NL + "\t\t//" + NL + "\t\tcreateModel();" + NL + ""
+ + NL + "\t\t// Only creates the other pages if there is something that can be edited" + NL + "\t\t//" + NL
+ + "\t\tif (!getEditingDomain().getResourceSet().getResources().isEmpty())" + NL + "\t\t{" + NL
+ + "\t\t\t// Create a page for the selection tree view." + NL + "\t\t\t//";
+ protected final String TEXT_202 = NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL
+ + "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+ protected final String TEXT_203 = ".this)" + NL + "\t\t\t\t\t{";
+ protected final String TEXT_204 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL
+ + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tTree tree = new Tree(composite, SWT.MULTI);" + NL
+ + "\t\t\t\t\t\t\tTreeViewer newTreeViewer = new TreeViewer(tree);" + NL
+ + "\t\t\t\t\t\t\treturn newTreeViewer;" + NL + "\t\t\t\t\t\t}";
+ protected final String TEXT_205 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+ + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL + ""
+ + NL + "\t\t\t\tselectionViewer = (TreeViewer)viewerPane.getViewer();" + NL
+ + "\t\t\t\tselectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL
+ + "\t\t\t\tselectionViewer.setUseHashlookup(true);" + NL + "" + NL
+ + "\t\t\t\tselectionViewer.setLabelProvider(";
+ protected final String TEXT_206 = "new ";
+ protected final String TEXT_207 = "(";
+ protected final String TEXT_208 = "(adapterFactory";
+ protected final String TEXT_209 = ", selectionViewer";
+ protected final String TEXT_210 = ")";
+ protected final String TEXT_211 = ", new ";
+ protected final String TEXT_212 = "(editingDomain";
+ protected final String TEXT_213 = ".getResourceSet()";
+ protected final String TEXT_214 = ".getPlugin().getDialogSettings()";
+ protected final String TEXT_215 = "))";
+ protected final String TEXT_216 = ");" + NL + "\t\t\t\tselectionViewer.setInput(editingDomain.getResourceSet());"
+ + NL
+ + "\t\t\t\tselectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);"
+ + NL + "\t\t\t\tviewerPane.setTitle(editingDomain.getResourceSet());" + NL + "" + NL
+ + "\t\t\t\tnew AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);";
+ protected final String TEXT_217 = NL + "\t\t\t\tnew ";
+ protected final String TEXT_218 = "(selectionViewer, new ";
+ protected final String TEXT_219 = ".EditingDomainLocationListener(editingDomain, selectionViewer));";
+ protected final String TEXT_220 = NL + NL + "\t\t\t\tcreateContextMenuFor(selectionViewer);" + NL
+ + "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+ + "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_SelectionPage_label\"));";
+ protected final String TEXT_221 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// Create a page for the parent tree view."
+ + NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL
+ + "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+ protected final String TEXT_222 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+ + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL + ""
+ + NL + "\t\t\t\tparentViewer = (TreeViewer)viewerPane.getViewer();" + NL
+ + "\t\t\t\tparentViewer.setAutoExpandLevel(30);" + NL
+ + "\t\t\t\tparentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));" + NL
+ + "\t\t\t\tparentViewer.setLabelProvider(";
+ protected final String TEXT_223 = ", parentViewer";
+ protected final String TEXT_224 = ");" + NL + "" + NL + "\t\t\t\tcreateContextMenuFor(parentViewer);" + NL
+ + "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+ + "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_ParentPage_label\"));";
+ protected final String TEXT_225 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// This is the page for the list viewer"
+ + NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL
+ + "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+ protected final String TEXT_226 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL
+ + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new ListViewer(composite);" + NL + "\t\t\t\t\t\t}";
+ protected final String TEXT_227 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+ + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL
+ + "\t\t\t\tlistViewer = (ListViewer)viewerPane.getViewer();" + NL
+ + "\t\t\t\tlistViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL
+ + "\t\t\t\tlistViewer.setLabelProvider(";
+ protected final String TEXT_228 = ", listViewer";
+ protected final String TEXT_229 = ");" + NL + "" + NL + "\t\t\t\tcreateContextMenuFor(listViewer);" + NL
+ + "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+ + "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_ListPage_label\"));";
+ protected final String TEXT_230 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// This is the page for the tree viewer"
+ + NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL
+ + "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+ protected final String TEXT_231 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL
+ + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new TreeViewer(composite);" + NL + "\t\t\t\t\t\t}";
+ protected final String TEXT_232 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+ + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL
+ + "\t\t\t\ttreeViewer = (TreeViewer)viewerPane.getViewer();" + NL
+ + "\t\t\t\ttreeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL
+ + "\t\t\t\ttreeViewer.setLabelProvider(";
+ protected final String TEXT_233 = ", treeViewer";
+ protected final String TEXT_234 = ", treeViewer))";
+ protected final String TEXT_235 = ");" + NL + "" + NL
+ + "\t\t\t\tnew AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);";
+ protected final String TEXT_236 = "(treeViewer, new ";
+ protected final String TEXT_237 = ".EditingDomainLocationListener(editingDomain, treeViewer));";
+ protected final String TEXT_238 = NL + NL + "\t\t\t\tcreateContextMenuFor(treeViewer);" + NL
+ + "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+ + "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_TreePage_label\"));";
+ protected final String TEXT_239 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// This is the page for the table viewer."
+ + NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL
+ + "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+ protected final String TEXT_240 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL
+ + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new TableViewer(composite);" + NL + "\t\t\t\t\t\t}";
+ protected final String TEXT_241 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+ + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL
+ + "\t\t\t\ttableViewer = (TableViewer)viewerPane.getViewer();" + NL + "" + NL
+ + "\t\t\t\tTable table = tableViewer.getTable();" + NL + "\t\t\t\tTableLayout layout = new TableLayout();"
+ + NL + "\t\t\t\ttable.setLayout(layout);" + NL + "\t\t\t\ttable.setHeaderVisible(true);" + NL
+ + "\t\t\t\ttable.setLinesVisible(true);" + NL + "" + NL
+ + "\t\t\t\tTableColumn objectColumn = new TableColumn(table, SWT.NONE);" + NL
+ + "\t\t\t\tlayout.addColumnData(new ColumnWeightData(3, 100, true));" + NL
+ + "\t\t\t\tobjectColumn.setText(getString(\"_UI_ObjectColumn_label\"));";
+ protected final String TEXT_242 = NL + "\t\t\t\tobjectColumn.setResizable(true);" + NL + "" + NL
+ + "\t\t\t\tTableColumn selfColumn = new TableColumn(table, SWT.NONE);" + NL
+ + "\t\t\t\tlayout.addColumnData(new ColumnWeightData(2, 100, true));" + NL
+ + "\t\t\t\tselfColumn.setText(getString(\"_UI_SelfColumn_label\"));";
+ protected final String TEXT_243 = NL + "\t\t\t\tselfColumn.setResizable(true);" + NL + "" + NL
+ + "\t\t\t\ttableViewer.setColumnProperties(new String [] {\"a\", \"b\"});";
+ protected final String TEXT_244 = NL
+ + "\t\t\t\ttableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL
+ + "\t\t\t\ttableViewer.setLabelProvider(";
+ protected final String TEXT_245 = ", tableViewer";
+ protected final String TEXT_246 = ");" + NL;
+ protected final String TEXT_247 = "(tableViewer, new ";
+ protected final String TEXT_248 = ".EditingDomainLocationListener(editingDomain, tableViewer));" + NL;
+ protected final String TEXT_249 = NL + "\t\t\t\tcreateContextMenuFor(tableViewer);" + NL
+ + "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+ + "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_TablePage_label\"));";
+ protected final String TEXT_250 = NL + "\t\t\t}" + NL + "" + NL
+ + "\t\t\t// This is the page for the table tree viewer." + NL + "\t\t\t//" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tViewerPane viewerPane =" + NL + "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+ protected final String TEXT_251 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+ + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL + ""
+ + NL + "\t\t\t\ttreeViewerWithColumns = (TreeViewer)viewerPane.getViewer();" + NL + "" + NL
+ + "\t\t\t\tTree tree = treeViewerWithColumns.getTree();" + NL
+ + "\t\t\t\ttree.setLayoutData(new FillLayout());" + NL + "\t\t\t\ttree.setHeaderVisible(true);" + NL
+ + "\t\t\t\ttree.setLinesVisible(true);" + NL + "" + NL
+ + "\t\t\t\tTreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);" + NL
+ + "\t\t\t\tobjectColumn.setText(getString(\"_UI_ObjectColumn_label\"));";
+ protected final String TEXT_252 = NL + "\t\t\t\tobjectColumn.setResizable(true);" + NL
+ + "\t\t\t\tobjectColumn.setWidth(250);" + NL + "" + NL
+ + "\t\t\t\tTreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);" + NL
+ + "\t\t\t\tselfColumn.setText(getString(\"_UI_SelfColumn_label\"));";
+ protected final String TEXT_253 = NL + "\t\t\t\tselfColumn.setResizable(true);" + NL
+ + "\t\t\t\tselfColumn.setWidth(200);" + NL + "" + NL
+ + "\t\t\t\ttreeViewerWithColumns.setColumnProperties(new String [] {\"a\", \"b\"});";
+ protected final String TEXT_254 = NL
+ + "\t\t\t\ttreeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));"
+ + NL + "\t\t\t\ttreeViewerWithColumns.setLabelProvider(";
+ protected final String TEXT_255 = ", treeViewerWithColumns";
+ protected final String TEXT_256 = "(treeViewerWithColumns, new ";
+ protected final String TEXT_257 = ".EditingDomainLocationListener(editingDomain, treeViewerWithColumns));" + NL;
+ protected final String TEXT_258 = NL + "\t\t\t\tcreateContextMenuFor(treeViewerWithColumns);" + NL
+ + "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+ + "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_TreeWithColumnsPage_label\"));";
+ protected final String TEXT_259 = NL + "\t\t\tTree tree = new Tree(getContainer(), SWT.MULTI);" + NL
+ + "\t\t\tselectionViewer = new TreeViewer(tree);" + NL + "\t\t\tsetCurrentViewer(selectionViewer);" + NL
+ + "" + NL + "\t\t\tselectionViewer.setUseHashlookup(true);" + NL
+ + "\t\t\tselectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL
+ + "\t\t\tselectionViewer.setLabelProvider(";
+ protected final String TEXT_260 = ");" + NL + "\t\t\tselectionViewer.setInput(editingDomain.getResourceSet());" + NL
+ + "\t\t\tselectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);"
+ + NL + "" + NL + "\t\t\tnew AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);";
+ protected final String TEXT_261 = NL + "\t\t\tnew ";
+ protected final String TEXT_262 = NL + NL + "\t\t\tcreateContextMenuFor(selectionViewer);" + NL
+ + "\t\t\tint pageIndex = addPage(tree);" + NL
+ + "\t\t\tsetPageText(pageIndex, getString(\"_UI_SelectionPage_label\"));";
+ protected final String TEXT_263 = NL + NL + "\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL
+ + "\t\t\t\t(new Runnable()" + NL + "\t\t\t\t {";
+ protected final String TEXT_264 = NL + "\t\t\t\t\t @Override";
+ protected final String TEXT_265 = NL + "\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t if (!getContainer().isDisposed())" + NL + "\t\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t\t setActivePage(0);" + NL + "\t\t\t\t\t\t }" + NL + "\t\t\t\t\t }" + NL + "\t\t\t\t });"
+ + NL + "\t\t}" + NL + "" + NL + "\t\t// Ensures that this editor will only display the page's tab" + NL
+ + "\t\t// area if there are more than one page" + NL + "\t\t//" + NL
+ + "\t\tgetContainer().addControlListener" + NL + "\t\t\t(new ControlAdapter()" + NL + "\t\t\t {" + NL
+ + "\t\t\t\tboolean guard = false;";
+ protected final String TEXT_266 = NL + "\t\t\t\tpublic void controlResized(ControlEvent event)" + NL + "\t\t\t\t{"
+ + NL + "\t\t\t\t\tif (!guard)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tguard = true;" + NL
+ + "\t\t\t\t\t\thideTabs();" + NL + "\t\t\t\t\t\tguard = false;" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t });" + NL + "" + NL + "\t\tgetSite().getShell().getDisplay().asyncExec" + NL
+ + "\t\t\t(new Runnable()" + NL + "\t\t\t {";
+ protected final String TEXT_267 = NL + "\t\t\t\t public void run()" + NL + "\t\t\t\t {" + NL
+ + "\t\t\t\t\t updateProblemIndication();" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL + "\t}" + NL + ""
+ + NL + "\t/**" + NL + "\t * If there is just one page in the multi-page editor part," + NL
+ + "\t * this hides the single tab at the bottom." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void hideTabs()"
+ + NL + "\t{" + NL + "\t\tif (getPageCount() <= 1)" + NL + "\t\t{" + NL + "\t\t\tsetPageText(0, \"\");";
+ protected final String TEXT_268 = NL + "\t\t\tif (getContainer() instanceof CTabFolder)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tPoint point = getContainer().getSize();" + NL
+ + "\t\t\t\tRectangle clientArea = getContainer().getClientArea();" + NL
+ + "\t\t\t\tgetContainer().setSize(point.x, 2 * point.y - clientArea.height - clientArea.y);" + NL
+ + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * If there is more than one page in the multi-page editor part," + NL
+ + "\t * this shows the tabs at the bottom." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void showTabs()"
+ + NL + "\t{" + NL + "\t\tif (getPageCount() > 1)" + NL + "\t\t{" + NL
+ + "\t\t\tsetPageText(0, getString(\"_UI_SelectionPage_label\"));";
+ protected final String TEXT_269 = NL + "\t\t\tif (getContainer() instanceof CTabFolder)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tPoint point = getContainer().getSize();" + NL
+ + "\t\t\t\tRectangle clientArea = getContainer().getClientArea();" + NL
+ + "\t\t\t\tgetContainer().setSize(point.x, clientArea.height + clientArea.y);" + NL + "\t\t\t}" + NL
+ + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This is used to track the active viewer." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_270 = NL + "\tprotected void pageChange(int pageIndex)" + NL + "\t{" + NL
+ + "\t\tsuper.pageChange(pageIndex);" + NL + "" + NL + "\t\tif (contentOutlinePage != null)" + NL + "\t\t{"
+ + NL + "\t\t\thandleContentOutlineSelection(contentOutlinePage.getSelection());" + NL + "\t\t}" + NL + "\t}"
+ + NL + "" + NL + "\t/**" + NL + "\t * This is how the framework determines which interfaces we implement."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_271 = NL + "\t@SuppressWarnings(\"";
+ protected final String TEXT_272 = "rawtypes";
+ protected final String TEXT_273 = "unchecked";
+ protected final String TEXT_274 = "\")";
+ protected final String TEXT_275 = NL + "\tpublic <T> T getAdapter(Class<T> key)";
+ protected final String TEXT_276 = NL + "\tpublic Object getAdapter(Class key)";
+ protected final String TEXT_277 = NL + "\t{" + NL + "\t\tif (key.equals(IContentOutlinePage.class))" + NL + "\t\t{";
+ protected final String TEXT_278 = NL + "\t\t\treturn showOutlineView() ? key.cast(getContentOutlinePage()) : null;";
+ protected final String TEXT_279 = NL + "\t\t\treturn showOutlineView() ? getContentOutlinePage() : null;";
+ protected final String TEXT_280 = NL + "\t\t}" + NL + "\t\telse if (key.equals(IPropertySheetPage.class))" + NL
+ + "\t\t{";
+ protected final String TEXT_281 = NL + "\t\t\treturn key.cast(getPropertySheetPage());";
+ protected final String TEXT_282 = NL + "\t\t\treturn getPropertySheetPage();";
+ protected final String TEXT_283 = NL + "\t\t}";
+ protected final String TEXT_284 = NL + "\t\telse if (key.equals(IGotoMarker.class))" + NL + "\t\t{";
+ protected final String TEXT_285 = NL + "\t\t\treturn key.cast(this);";
+ protected final String TEXT_286 = NL + "\t\t\treturn this;";
+ protected final String TEXT_287 = NL + "\t\telse if (key.equals(";
+ protected final String TEXT_288 = ".class)) " + NL + "\t\t{" + NL + "\t\t\treturn ";
+ protected final String TEXT_289 = ".getAdapter(key, this, ";
+ protected final String TEXT_290 = ".getPlugin());" + NL + "\t\t}";
+ protected final String TEXT_291 = NL + "\t\telse" + NL + "\t\t{" + NL + "\t\t\treturn super.getAdapter(key);" + NL
+ + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This accesses a cached version of the content outliner." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic IContentOutlinePage getContentOutlinePage()" + NL + "\t{" + NL
+ + "\t\tif (contentOutlinePage == null)" + NL + "\t\t{" + NL + "\t\t\t// The content outline is just a tree."
+ + NL + "\t\t\t//" + NL + "\t\t\tclass MyContentOutlinePage extends ContentOutlinePage" + NL + "\t\t\t{";
+ protected final String TEXT_292 = NL + "\t\t\t\tpublic void createControl(Composite parent)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tsuper.createControl(parent);" + NL + "\t\t\t\t\tcontentOutlineViewer = getTreeViewer();" + NL
+ + "\t\t\t\t\tcontentOutlineViewer.addSelectionChangedListener(this);" + NL + "" + NL
+ + "\t\t\t\t\t// Set up the tree viewer." + NL + "\t\t\t\t\t//" + NL
+ + "\t\t\t\t\tcontentOutlineViewer.setUseHashlookup(true);" + NL
+ + "\t\t\t\t\tcontentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));"
+ + NL + "\t\t\t\t\tcontentOutlineViewer.setLabelProvider(";
+ protected final String TEXT_293 = ", contentOutlineViewer";
+ protected final String TEXT_294 = ");" + NL
+ + "\t\t\t\t\tcontentOutlineViewer.setInput(editingDomain.getResourceSet());" + NL;
+ protected final String TEXT_295 = NL + "\t\t\t\t\tnew ";
+ protected final String TEXT_296 = "(contentOutlineViewer, new ";
+ protected final String TEXT_297 = ".EditingDomainLocationListener(editingDomain, contentOutlineViewer));" + NL;
+ protected final String TEXT_298 = NL + "\t\t\t\t\t// Make sure our popups work." + NL + "\t\t\t\t\t//" + NL
+ + "\t\t\t\t\tcreateContextMenuFor(contentOutlineViewer);" + NL + "" + NL
+ + "\t\t\t\t\tif (!editingDomain.getResourceSet().getResources().isEmpty())" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t // Select the root object in the view." + NL + "\t\t\t\t\t //" + NL
+ + "\t\t\t\t\t contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);"
+ + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL;
+ protected final String TEXT_299 = NL
+ + "\t\t\t\tpublic void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager)"
+ + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tsuper.makeContributions(menuManager, toolBarManager, statusLineManager);" + NL
+ + "\t\t\t\t\tcontentOutlineStatusLineManager = statusLineManager;" + NL + "\t\t\t\t}" + NL;
+ protected final String TEXT_300 = NL + "\t\t\t\tpublic void setActionBars(IActionBars actionBars)" + NL
+ + "\t\t\t\t{" + NL + "\t\t\t\t\tsuper.setActionBars(actionBars);" + NL
+ + "\t\t\t\t\tgetActionBarContributor().shareGlobalActions(this, actionBars);" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t}" + NL + "" + NL + "\t\t\tcontentOutlinePage = new MyContentOutlinePage();" + NL + "" + NL
+ + "\t\t\t// Listen to selection so that we can handle it is a special way." + NL + "\t\t\t//" + NL
+ + "\t\t\tcontentOutlinePage.addSelectionChangedListener" + NL + "\t\t\t\t(new ISelectionChangedListener()"
+ + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t // This ensures that we handle selections correctly." + NL
+ + "\t\t\t\t\t //";
+ protected final String TEXT_301 = NL + "\t\t\t\t\t public void selectionChanged(SelectionChangedEvent event)" + NL
+ + "\t\t\t\t\t {" + NL + "\t\t\t\t\t\t handleContentOutlineSelection(event.getSelection());" + NL
+ + "\t\t\t\t\t }" + NL + "\t\t\t\t });" + NL + "\t\t}" + NL + "" + NL + "\t\treturn contentOutlinePage;" + NL
+ + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This accesses a cached version of the property sheet." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic IPropertySheetPage getPropertySheetPage()" + NL + "\t{" + NL
+ + "\t\tPropertySheetPage propertySheetPage =" + NL + "\t\t\tnew ExtendedPropertySheetPage(editingDomain";
+ protected final String TEXT_302 = ", ExtendedPropertySheetPage.Decoration.MANUAL";
+ protected final String TEXT_303 = ", ExtendedPropertySheetPage.Decoration.LIVE, ";
+ protected final String TEXT_304 = "ExtendedPropertySheetPage.Decoration.NONE, ";
+ protected final String TEXT_305 = "null, ";
+ protected final String TEXT_306 = ")" + NL + "\t\t\t{";
+ protected final String TEXT_307 = NL + "\t\t\t\tpublic void setSelectionToViewer(";
+ protected final String TEXT_308 = " selection)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+ protected final String TEXT_309 = ".this.setSelectionToViewer(selection);" + NL + "\t\t\t\t\t";
+ protected final String TEXT_310 = ".this.setFocus();" + NL + "\t\t\t\t}" + NL;
+ protected final String TEXT_311 = NL + "\t\t\t\tpublic void setActionBars(IActionBars actionBars)" + NL
+ + "\t\t\t\t{" + NL + "\t\t\t\t\tsuper.setActionBars(actionBars);" + NL
+ + "\t\t\t\t\tgetActionBarContributor().shareGlobalActions(this, actionBars);" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t};" + NL
+ + "\t\tpropertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL
+ + "\t\tpropertySheetPages.add(propertySheetPage);" + NL + "" + NL + "\t\treturn propertySheetPage;" + NL
+ + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This deals with how we want selection in the outliner to affect the other views." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic void handleContentOutlineSelection(ISelection selection)" + NL + "\t{";
+ protected final String TEXT_312 = NL
+ + "\t\tif (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection)";
+ protected final String TEXT_313 = NL
+ + "\t\tif (selectionViewer != null && !selection.isEmpty() && selection instanceof IStructuredSelection)";
+ protected final String TEXT_314 = NL + "\t\t{" + NL + "\t\t\tIterator";
+ protected final String TEXT_315 = "<?>";
+ protected final String TEXT_316 = " selectedElements = ((IStructuredSelection)selection).iterator();" + NL
+ + "\t\t\tif (selectedElements.hasNext())" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Get the first selected element." + NL + "\t\t\t\t//" + NL
+ + "\t\t\t\tObject selectedElement = selectedElements.next();" + NL;
+ protected final String TEXT_317 = NL
+ + "\t\t\t\t// If it's the selection viewer, then we want it to select the same selection as this selection."
+ + NL + "\t\t\t\t//" + NL + "\t\t\t\tif (currentViewerPane.getViewer() == selectionViewer)" + NL
+ + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+ protected final String TEXT_318 = " selectionList = new ";
+ protected final String TEXT_319 = "();" + NL + "\t\t\t\t\tselectionList.add(selectedElement);" + NL
+ + "\t\t\t\t\twhile (selectedElements.hasNext())" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tselectionList.add(selectedElements.next());" + NL + "\t\t\t\t\t}" + NL + "" + NL
+ + "\t\t\t\t\t// Set the selection to the widget." + NL + "\t\t\t\t\t//" + NL
+ + "\t\t\t\t\tselectionViewer.setSelection(new StructuredSelection(selectionList));" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t// Set the input to the widget." + NL + "\t\t\t\t\t//"
+ + NL + "\t\t\t\t\tif (currentViewerPane.getViewer().getInput() != selectedElement)" + NL + "\t\t\t\t\t{"
+ + NL + "\t\t\t\t\t\tcurrentViewerPane.getViewer().setInput(selectedElement);" + NL
+ + "\t\t\t\t\t\tcurrentViewerPane.setTitle(selectedElement);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}";
+ protected final String TEXT_320 = NL + "\t\t\t\t";
+ protected final String TEXT_321 = "();" + NL + "\t\t\t\tselectionList.add(selectedElement);" + NL
+ + "\t\t\t\twhile (selectedElements.hasNext())" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tselectionList.add(selectedElements.next());" + NL + "\t\t\t\t}" + NL + "" + NL
+ + "\t\t\t\t// Set the selection to the widget." + NL + "\t\t\t\t//" + NL
+ + "\t\t\t\tselectionViewer.setSelection(new StructuredSelection(selectionList));";
+ protected final String TEXT_322 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This is for implementing {@link IEditorPart} and simply tests the command stack." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_323 = NL + "\tpublic boolean isDirty()" + NL + "\t{" + NL
+ + "\t\treturn ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();" + NL + "\t}" + NL;
+ protected final String TEXT_324 = NL + "\t/**" + NL + "\t * This is for implementing {@link IRevertablePart}." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_325 = NL + "\tpublic void doRevert()" + NL + "\t{";
+ protected final String TEXT_326 = NL + "\t\tDiagnosticDecorator.cancel(editingDomain);" + NL;
+ protected final String TEXT_327 = "\t\t" + NL + "\t\tResourceSet resourceSet = editingDomain.getResourceSet();" + NL
+ + "\t\t";
+ protected final String TEXT_328 = " resources = resourceSet.getResources();" + NL + "\t\t";
+ protected final String TEXT_329 = " unloadedResources = new ";
+ protected final String TEXT_330 = "();" + NL + "\t\tupdateProblemIndication = false;" + NL
+ + "\t\tfor (int i = 0; i < resources.size(); ++i)" + NL + "\t\t{" + NL
+ + "\t\t\tResource resource = resources.get(i);" + NL + "\t\t\tif (resource.isLoaded())" + NL + "\t\t\t{"
+ + NL + "\t\t\t\tresource.unload();" + NL + "\t\t\t\tunloadedResources.add(resource);" + NL + "\t\t\t}" + NL
+ + "\t\t}" + NL + "" + NL + "\t\tresourceToDiagnosticMap.clear();";
+ protected final String TEXT_331 = NL + "\t\tfor (Resource resource : unloadedResources)";
+ protected final String TEXT_332 = NL + "\t\tfor (Iterator i = unloadedResources.iterator(); i.hasNext(); )";
+ protected final String TEXT_333 = NL + "\t\t{";
+ protected final String TEXT_334 = NL + "\t\t\ttry" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tresource.load(resourceSet.getLoadOptions());" + NL + "\t\t\t}" + NL
+ + "\t\t\tcatch (IOException exception)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tif (!resourceToDiagnosticMap.containsKey(resource))" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tresourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));" + NL
+ + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "" + NL
+ + "\t\teditingDomain.getCommandStack().flush();" + NL + "" + NL
+ + "\t\tif (AdapterFactoryEditingDomain.isStale(editorSelection))" + NL + "\t\t{" + NL
+ + "\t\t\tsetSelection(StructuredSelection.EMPTY);" + NL + "\t\t}" + NL + "" + NL
+ + "\t\tupdateProblemIndication = true;" + NL + "\t\tupdateProblemIndication();" + NL + "\t}" + NL;
+ protected final String TEXT_335 = NL + "\t/**" + NL
+ + "\t * This is for implementing {@link IEditorPart} and simply saves the model file." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_336 = NL + "\tpublic void doSave(IProgressMonitor progressMonitor)" + NL + "\t{" + NL
+ + "\t\t// Save only resources that have actually changed." + NL + "\t\t//" + NL + "\t\tfinal ";
+ protected final String TEXT_337 = " saveOptions = new ";
+ protected final String TEXT_338 = NL
+ + "\t\tsaveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);";
+ protected final String TEXT_339 = NL
+ + "\t\tsaveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);";
+ protected final String TEXT_340 = NL + NL
+ + "\t\t// Do the work within an operation because this is a long running activity that modifies the workbench."
+ + NL + "\t\t//" + NL + "\t\t";
+ protected final String TEXT_341 = " operation =" + NL + "\t\t\tnew ";
+ protected final String TEXT_342 = "()" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// This is the method that gets invoked when the operation runs." + NL + "\t\t\t\t//";
+ protected final String TEXT_343 = NL + "\t\t\t\tpublic void ";
+ protected final String TEXT_344 = "(IProgressMonitor monitor)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\t// Save the resources to the file system." + NL + "\t\t\t\t\t//" + NL
+ + "\t\t\t\t\tboolean first = true;" + NL + "\t\t\t\t\t";
+ protected final String TEXT_345 = " resources = editingDomain.getResourceSet().getResources();" + NL
+ + "\t\t\t\t\tfor (int i = 0; i < resources.size(); ++i)" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tResource resource = ";
+ protected final String TEXT_346 = "(Resource)";
+ protected final String TEXT_347 = "resources.get(i);" + NL
+ + "\t\t\t\t\t\tif ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource))"
+ + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\ttry" + NL + "\t\t\t\t\t\t\t{";
+ protected final String TEXT_348 = NL + "\t\t\t\t\t\t\t\tlong timeStamp = resource.getTimeStamp();" + NL
+ + "\t\t\t\t\t\t\t\tresource.save(saveOptions);" + NL
+ + "\t\t\t\t\t\t\t\tif (resource.getTimeStamp() != timeStamp)" + NL + "\t\t\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\t\t\tsavedResources.add(resource);" + NL + "\t\t\t\t\t\t\t\t}";
+ protected final String TEXT_349 = NL + "\t\t\t\t\t\t\t\tresource.save(saveOptions);" + NL
+ + "\t\t\t\t\t\t\t\tsavedResources.add(resource);";
+ protected final String TEXT_350 = NL + "\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\tcatch (Exception exception)" + NL
+ + "\t\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\t\tresourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));"
+ + NL + "\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\tfirst = false;" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}"
+ + NL + "\t\t\t\t}" + NL + "\t\t\t};" + NL + "" + NL + "\t\tupdateProblemIndication = false;" + NL
+ + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t// This runs the options, and shows progress." + NL + "\t\t\t//"
+ + NL + "\t\t\tnew ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);" + NL + "" + NL
+ + "\t\t\t// Refresh the necessary state." + NL + "\t\t\t//" + NL
+ + "\t\t\t((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();" + NL
+ + "\t\t\tfirePropertyChange(IEditorPart.PROP_DIRTY);" + NL + "\t\t}" + NL
+ + "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL + "\t\t\t// Something went wrong that shouldn't."
+ + NL + "\t\t\t//" + NL + "\t\t\t";
+ protected final String TEXT_351 = ".INSTANCE.log(exception);" + NL + "\t\t}" + NL
+ + "\t\tupdateProblemIndication = true;" + NL + "\t\tupdateProblemIndication();" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL
+ + "\t * This returns whether something has been persisted to the URI of the specified resource." + NL
+ + "\t * The implementation uses the URI converter from the editor's resource set to try to open an input stream."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected boolean isPersisted(Resource resource)" + NL + "\t{" + NL
+ + "\t\tboolean result = false;" + NL + "\t\ttry" + NL + "\t\t{" + NL
+ + "\t\t\tInputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());"
+ + NL + "\t\t\tif (stream != null)" + NL + "\t\t\t{" + NL + "\t\t\t\tresult = true;" + NL
+ + "\t\t\t\tstream.close();" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (IOException e)" + NL
+ + "\t\t{" + NL + "\t\t\t// Ignore" + NL + "\t\t}" + NL + "\t\treturn result;" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * This always returns true because it is not currently supported." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_352 = NL + "\tpublic boolean isSaveAsAllowed()" + NL + "\t{" + NL + "\t\treturn true;"
+ + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This also changes the editor's input." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_353 = NL + "\tpublic void doSaveAs()" + NL + "\t{";
+ protected final String TEXT_354 = NL + "\t\tnew ";
+ protected final String TEXT_355 = "(getSite().getShell(), null, SWT.NONE)" + NL + "\t\t\t{";
+ protected final String TEXT_356 = NL + "\t\t\t\tprotected boolean isSave()" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\treturn true;" + NL + "\t\t\t\t}" + NL;
+ protected final String TEXT_357 = NL + "\t\t\t\tprotected boolean processResources()" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\t";
+ protected final String TEXT_358 = " uris = getURIs();" + NL + "\t\t\t\t\tif (uris.size() > 0)" + NL + "\t\t\t\t\t{"
+ + NL + "\t\t\t\t\t\tURI uri = ";
+ protected final String TEXT_359 = "uris.get(0);" + NL + "\t\t\t\t\t\tdoSaveAs(uri, new ";
+ protected final String TEXT_360 = "(uri));" + NL + "\t\t\t\t\t\treturn true;" + NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t\telse" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\treturn false;" + NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t}" + NL + "\t\t\t}.open();";
+ protected final String TEXT_361 = NL + "\t\tString[] filters = ";
+ protected final String TEXT_362 = "(String[])";
+ protected final String TEXT_363 = "FILE_EXTENSION_FILTERS.toArray(new String[FILE_EXTENSION_FILTERS.size()]);" + NL
+ + "\t\tString[] files = ";
+ protected final String TEXT_364 = ".openFilePathDialog(getSite().getShell(), ";
+ protected final String TEXT_365 = ".SAVE, filters);" + NL + "\t\tif (files.length > 0)" + NL + "\t\t{" + NL
+ + "\t\t\tURI uri = URI.createFileURI(files[0]);" + NL + "\t\t\tdoSaveAs(uri, new ";
+ protected final String TEXT_366 = "(uri));" + NL + "\t\t}";
+ protected final String TEXT_367 = NL + "\t\tSaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());"
+ + NL + "\t\tsaveAsDialog.open();" + NL + "\t\tIPath path = saveAsDialog.getResult();" + NL
+ + "\t\tif (path != null)" + NL + "\t\t{" + NL
+ + "\t\t\tIFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);" + NL
+ + "\t\t\tif (file != null)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tdoSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));"
+ + NL + "\t\t\t}" + NL + "\t\t}";
+ protected final String TEXT_368 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected void doSaveAs(URI uri, IEditorInput editorInput)" + NL + "\t{" + NL + "\t\t(";
+ protected final String TEXT_369 = "editingDomain.getResourceSet().getResources().get(0)).setURI(uri);" + NL
+ + "\t\tsetInputWithNotify(editorInput);" + NL + "\t\tsetPartName(editorInput.getName());" + NL
+ + "\t\tIProgressMonitor progressMonitor =" + NL + "\t\t\tgetActionBars().getStatusLineManager() != null ?"
+ + NL + "\t\t\t\tgetActionBars().getStatusLineManager().getProgressMonitor() :" + NL + "\t\t\t\tnew ";
+ protected final String TEXT_370 = "();" + NL + "\t\tdoSave(progressMonitor);" + NL + "\t}";
+ protected final String TEXT_371 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_372 = NL + "\tpublic void gotoMarker(IMarker marker)" + NL + "\t{";
+ protected final String TEXT_373 = NL + "\t\t";
+ protected final String TEXT_374 = " targetObjects = markerHelper.getTargetObjects(editingDomain, marker);" + NL
+ + "\t\tif (!targetObjects.isEmpty())" + NL + "\t\t{" + NL + "\t\t\tsetSelectionToViewer(targetObjects);"
+ + NL + "\t\t}";
+ protected final String TEXT_375 = NL + "\t\ttry" + NL + "\t\t{" + NL
+ + "\t\t\tif (marker.isSubtypeOf(EValidator.MARKER))" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tString uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);" + NL
+ + "\t\t\t\tif (uriAttribute != null)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tURI uri = URI.createURI(uriAttribute);" + NL
+ + "\t\t\t\t\tEObject eObject = editingDomain.getResourceSet().getEObject(uri, true);" + NL
+ + "\t\t\t\t\tif (eObject != null)" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));" + NL
+ + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL
+ + "\t\tcatch (CoreException exception)" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_376 = ".INSTANCE.log(exception);" + NL + "\t\t}";
+ protected final String TEXT_377 = NL + "\t}";
+ protected final String TEXT_378 = NL + NL + "\t/**" + NL + "\t * This is called during startup." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_379 = NL + "\tpublic void init(IEditorSite site, IEditorInput editorInput)" + NL + "\t{"
+ + NL + "\t\tsetSite(site);" + NL + "\t\tsetInputWithNotify(editorInput);" + NL
+ + "\t\tsetPartName(editorInput.getName());" + NL + "\t\tsite.setSelectionProvider(this);" + NL
+ + "\t\tsite.getPage().addPartListener(partListener);";
+ protected final String TEXT_380 = NL
+ + "\t\tResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);";
+ protected final String TEXT_381 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_382 = NL + "\tpublic void setFocus()" + NL + "\t{";
+ protected final String TEXT_383 = NL + "\t\tif (currentViewerPane != null)" + NL + "\t\t{" + NL
+ + "\t\t\tcurrentViewerPane.setFocus();" + NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL
+ + "\t\t\tgetControl(getActivePage()).setFocus();" + NL + "\t\t}";
+ protected final String TEXT_384 = NL + "\t\tgetControl(getActivePage()).setFocus();";
+ protected final String TEXT_385 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_386 = NL
+ + "\tpublic void addSelectionChangedListener(ISelectionChangedListener listener)" + NL + "\t{" + NL
+ + "\t\tselectionChangedListeners.add(listener);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_387 = NL
+ + "\tpublic void removeSelectionChangedListener(ISelectionChangedListener listener)" + NL + "\t{" + NL
+ + "\t\tselectionChangedListeners.remove(listener);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_388 = NL + "\tpublic ISelection getSelection()" + NL + "\t{" + NL
+ + "\t\treturn editorSelection;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection."
+ + NL + "\t * Calling this result will notify the listeners." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_389 = NL + "\tpublic void setSelection(ISelection selection)" + NL + "\t{" + NL
+ + "\t\teditorSelection = selection;" + NL;
+ protected final String TEXT_390 = NL + "\t\tfor (ISelectionChangedListener listener : selectionChangedListeners)";
+ protected final String TEXT_391 = NL
+ + "\t\tfor (Iterator listeners = selectionChangedListeners.iterator(); listeners.hasNext(); )";
+ protected final String TEXT_392 = NL
+ + "\t\t\tISelectionChangedListener listener = (ISelectionChangedListener)listeners.next();";
+ protected final String TEXT_393 = NL
+ + "\t\t\tlistener.selectionChanged(new SelectionChangedEvent(this, selection));" + NL + "\t\t}" + NL
+ + "\t\tsetStatusLineManager(selection);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic void setStatusLineManager(ISelection selection)" + NL + "\t{" + NL
+ + "\t\tIStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?"
+ + NL + "\t\t\tcontentOutlineStatusLineManager : getActionBars().getStatusLineManager();" + NL + "" + NL
+ + "\t\tif (statusLineManager != null)" + NL + "\t\t{" + NL
+ + "\t\t\tif (selection instanceof IStructuredSelection)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+ protected final String TEXT_394 = " collection = ((IStructuredSelection)selection).toList();" + NL
+ + "\t\t\t\tswitch (collection.size())" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tcase 0:" + NL + "\t\t\t\t\t{"
+ + NL + "\t\t\t\t\t\tstatusLineManager.setMessage(getString(\"_UI_NoObjectSelected\"));";
+ protected final String TEXT_395 = NL + "\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t\tcase 1:" + NL
+ + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tString text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());"
+ + NL + "\t\t\t\t\t\tstatusLineManager.setMessage(getString(\"_UI_SingleObjectSelected\", text));";
+ protected final String TEXT_396 = NL + "\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t\tdefault:" + NL
+ + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tstatusLineManager.setMessage(getString(\"_UI_MultiObjectSelected\", Integer.toString(collection.size())));";
+ protected final String TEXT_397 = NL + "\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}"
+ + NL + "\t\t\telse" + NL + "\t\t\t{" + NL + "\t\t\t\tstatusLineManager.setMessage(\"\");";
+ protected final String TEXT_398 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This looks up a string in the plugin's plugin.properties file." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprivate static String getString(String key)" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_399 = ".INSTANCE.getString(key);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * This looks up a string in plugin.properties, making a substitution." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprivate static String getString(String key, Object s1)" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_400 = ".INSTANCE.getString(key, new Object [] { s1 });" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL
+ + "\t * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_401 = NL + "\tpublic void menuAboutToShow(IMenuManager menuManager)" + NL + "\t{" + NL
+ + "\t\t((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);" + NL
+ + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic EditingDomainActionBarContributor getActionBarContributor()" + NL + "\t{" + NL
+ + "\t\treturn (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();" + NL + "\t}"
+ + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @generated" + NL + "\t */" + NL + "\tpublic IActionBars getActionBars()" + NL + "\t{" + NL
+ + "\t\treturn getActionBarContributor().getActionBars();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic AdapterFactory getAdapterFactory()" + NL + "\t{" + NL + "\t\treturn adapterFactory;" + NL
+ + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_402 = NL + "\tpublic void dispose()" + NL + "\t{" + NL
+ + "\t\tupdateProblemIndication = false;" + NL;
+ protected final String TEXT_403 = NL
+ + "\t\tResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);" + NL;
+ protected final String TEXT_404 = NL + "\t\tgetSite().getPage().removePartListener(partListener);" + NL + "" + NL
+ + "\t\tadapterFactory.dispose();" + NL + "" + NL
+ + "\t\tif (getActionBarContributor().getActiveEditor() == this)" + NL + "\t\t{" + NL
+ + "\t\t\tgetActionBarContributor().setActiveEditor(null);" + NL + "\t\t}" + NL;
+ protected final String TEXT_405 = NL + "\t\tfor (PropertySheetPage propertySheetPage : propertySheetPages)";
+ protected final String TEXT_406 = NL + "\t\tfor (Iterator i = propertySheetPages.iterator(); i.hasNext(); )";
+ protected final String TEXT_407 = NL + "\t\t\tPropertySheetPage propertySheetPage = (PropertySheetPage)i.next();";
+ protected final String TEXT_408 = NL + "\t\t\tpropertySheetPage.dispose();" + NL + "\t\t}" + NL + "" + NL
+ + "\t\tif (contentOutlinePage != null)" + NL + "\t\t{" + NL + "\t\t\tcontentOutlinePage.dispose();" + NL
+ + "\t\t}" + NL + "" + NL + "\t\tsuper.dispose();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Returns whether the outline view should be presented to the user." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected boolean showOutlineView()" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_409 = ";" + NL + "\t}" + NL + "}";
+ protected final String TEXT_410 = NL;
+
+ public Editor() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_410);
+ stringBuffer.append(TEXT_410);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getEditorDirectory();
+ packageName = genPackage.getPresentationPackageName();
+ className = genPackage.getEditorClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();
+ String importedOperationClassName = genModel
+ .getImportedName(genModel.isRichClientPlatform() ? "org.eclipse.jface.operation.IRunnableWithProgress"
+ : "org.eclipse.ui.actions.WorkspaceModifyOperation");
+ String operationMethodName = genModel.isRichClientPlatform() ? "run" : "execute";
+ String _ArrayListOfObject = "ArrayList" + (genModel.useGenerics() ? "<Object>" : "");
+ String _ArrayListOfSelectionChangedListener = "ArrayList"
+ + (genModel.useGenerics() ? "<ISelectionChangedListener>" : "");
+ String _CollectionOfSelectionChangedListener = "Collection"
+ + (genModel.useGenerics() ? "<ISelectionChangedListener>" : "");
+ String _ListOfResource = "List" + (genModel.useGenerics() ? "<Resource>" : "");
+ String _ArrayListOfResource = "ArrayList" + (genModel.useGenerics() ? "<Resource>" : "");
+ String _CollectionOfResource = "Collection" + (genModel.useGenerics() ? "<Resource>" : "");
+ String _MapOfResourceToDiagnostic = "Map" + (genModel.useGenerics() ? "<Resource, Diagnostic>" : "");
+ String _HashMapOfResourceToBoolean = "HashMap" + (genModel.useGenerics() ? "<Resource, Boolean>" : "");
+ String _MapOfObjectToObject = "Map" + (genModel.useGenerics() ? "<Object, Object>" : "");
+ String _HashMapOfObjectToObject = "HashMap" + (genModel.useGenerics() ? "<Object, Object>" : "");
+ String _LinkedHashMapOfResourceToDiagnostic = "LinkedHashMap"
+ + (genModel.useGenerics() ? "<Resource, Diagnostic>" : "");
+ String _CollectionOfAnything = "Collection" + (genModel.useGenerics() ? "<?>" : "");
+ String _ListOfAnything = "List" + (genModel.useGenerics() ? "<?>" : "");
+ boolean useExtendedLabelProvider = genModel.isStyleProviders() || genModel.isFontProviders()
+ || genModel.isColorProviders();
+ boolean useStyledLabelProvider = genModel.isStyleProviders();
+ String _AdapterFactoryLabelProvider = (useStyledLabelProvider
+ ? "AdapterFactoryLabelProvider.StyledLabelProvider"
+ : "AdapterFactoryLabelProvider"
+ + (genModel.isFontProviders() && genModel.isColorProviders() ? ".FontAndColorProvider"
+ : genModel.isFontProviders() ? ".FontProvider"
+ : genModel.isColorProviders() ? ".ColorProvider" : ""));
+ String _DelegatingAdapterFactoryLabelProvider = useStyledLabelProvider
+ ? genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DelegatingStyledCellLabelProvider")
+ + (genModel.isFontProviders() && genModel.isColorProviders() ? ".FontAndColorProvider"
+ : genModel.isFontProviders() ? ".FontProvider"
+ : genModel.isColorProviders() ? ".ColorProvider" : "")
+ : "";
+ String _DecoratingColumLabelProvider = genModel.getDecoration() != GenDecoration.NONE
+ ? genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DecoratingColumLabelProvider")
+ + (useStyledLabelProvider ? ".StyledLabelProvider" : "")
+ : "";
+ String _DiagnosticDecorator = genModel.getDecoration() != GenDecoration.NONE
+ ? genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DiagnosticDecorator")
+ + (useStyledLabelProvider ? ".Styled" : "")
+ : "";
+ String _ArrayListOfString = "ArrayList" + (genModel.useGenerics() ? "<String>" : "");
+ String _ListOfString = "List" + (genModel.useGenerics() ? "<String>" : "");
+ String _ListOfPropertySheetPage = "List" + (genModel.useGenerics() ? "<PropertySheetPage>" : "");
+ String _ArrayListOfPropertySheetPage = "ArrayList" + (genModel.useGenerics() ? "<PropertySheetPage>" : "");
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getPresentationPackageName());
+ stringBuffer.append(TEXT_3);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_4);
+ }
+ stringBuffer.append(TEXT_5);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_7);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {
+ stringBuffer.append(TEXT_8);
+ }
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_13);
+ }
+ stringBuffer.append(TEXT_14);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {
+ stringBuffer.append(TEXT_15);
+ }
+ stringBuffer.append(TEXT_16);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_17);
+ }
+ stringBuffer.append(TEXT_18);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_22);
+ if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_25);
+ }
+ stringBuffer.append(TEXT_5);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_26);
+ }
+ stringBuffer.append(TEXT_27);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_28);
+ }
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_29);
+ }
+ stringBuffer.append(TEXT_30);
+ if (!genModel.isRichClientPlatform()
+ && genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF23_VALUE) {
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_32);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {
+ stringBuffer.append(TEXT_33);
+ }
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_34);
+ }
+ if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_35);
+ }
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_37);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_39);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_41);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_42);
+ }
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_44);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_45);
+ }
+ if (genModel.isRevertAction()) {
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.util.IRevertablePart"));
+ }
+ stringBuffer.append(TEXT_47);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_5);
+ }
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_51);
+ if (genPackage.isGenerateModelWizard()) {
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(_ListOfString);
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genPackage.getImportedModelWizardClassName());
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_55);
+ } else {
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(_ListOfString);
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genModel.getImportedName("java.util.Arrays"));
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(genModel.getNonNLS(3));
+ stringBuffer.append(TEXT_55);
+ }
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(_ListOfString);
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(_ListOfString);
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(_ListOfString);
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(_ArrayListOfString);
+ stringBuffer.append(TEXT_63);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_64);
+ } else {
+ stringBuffer.append(TEXT_65);
+ }
+ stringBuffer.append(TEXT_66);
+ }
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(_ListOfPropertySheetPage);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(_ArrayListOfPropertySheetPage);
+ stringBuffer.append(TEXT_69);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_70);
+ }
+ stringBuffer.append(TEXT_71);
+ stringBuffer.append(_CollectionOfSelectionChangedListener);
+ stringBuffer.append(TEXT_72);
+ stringBuffer.append(_ArrayListOfSelectionChangedListener);
+ stringBuffer.append(TEXT_73);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_74);
+ }
+ stringBuffer.append(TEXT_75);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_80);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_81);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_82);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_83);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(_CollectionOfResource);
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(_ArrayListOfResource);
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(_CollectionOfResource);
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(_ArrayListOfResource);
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(_CollectionOfResource);
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(_ArrayListOfResource);
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(_MapOfResourceToDiagnostic);
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(_LinkedHashMapOfResourceToDiagnostic);
+ stringBuffer.append(TEXT_92);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_93);
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_94);
+ }
+ stringBuffer.append(TEXT_95);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_96);
+ }
+ stringBuffer.append(TEXT_97);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_98);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_99);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_100);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(_CollectionOfResource);
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(_ArrayListOfResource);
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(_CollectionOfResource);
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(_ArrayListOfResource);
+ stringBuffer.append(TEXT_103);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_105);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_106);
+ }
+ stringBuffer.append(TEXT_107);
+ if (genModel.getDecoration() == GenDecoration.NONE) {
+ stringBuffer.append(TEXT_108);
+ }
+ stringBuffer.append(TEXT_109);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_106);
+ }
+ stringBuffer.append(TEXT_110);
+ if (genModel.getDecoration() == GenDecoration.NONE) {
+ stringBuffer.append(TEXT_111);
+ } else {
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_113);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {
+ stringBuffer.append(TEXT_114);
+ }
+ stringBuffer.append(TEXT_115);
+ }
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(_CollectionOfResource);
+ stringBuffer.append(TEXT_117);
+ stringBuffer.append(_CollectionOfResource);
+ stringBuffer.append(TEXT_118);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_119);
+ }
+ stringBuffer.append(TEXT_120);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_121);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_119);
+ }
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_123);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_124);
+ }
+ stringBuffer.append(TEXT_125);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_126);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_127);
+ } else {
+ stringBuffer.append(TEXT_128);
+ }
+ stringBuffer.append(TEXT_129);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_130);
+ }
+ stringBuffer.append(TEXT_131);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+ stringBuffer.append(TEXT_132);
+ }
+ stringBuffer.append(TEXT_133);
+ stringBuffer.append(genPackage.getGenModel().getEditorPluginID());
+ stringBuffer.append(TEXT_134);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_135);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_136);
+ } else {
+ stringBuffer.append(TEXT_137);
+ }
+ stringBuffer.append(TEXT_129);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_138);
+ }
+ stringBuffer.append(TEXT_139);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_140);
+ }
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_142);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_143);
+ if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF213_VALUE) {
+ stringBuffer.append(TEXT_144);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_145);
+ } else {
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_147);
+ }
+ stringBuffer.append(TEXT_148);
+ }
+ stringBuffer.append(TEXT_149);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_150);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_151);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_152);
+ stringBuffer.append(TEXT_5);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.override" args="genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ListOfResource:_ListOfResource,_ArrayListOfResource:_ArrayListOfResource,_CollectionOfResource:_CollectionOfResource,_MapOfResourceToDiagnostic:_MapOfResourceToDiagnostic,_HashMapOfResourceToBoolean:_HashMapOfResourceToBoolean,_MapOfObjectToObject:_MapOfObjectToObject,_HashMapOfObjectToObject:_HashMapOfObjectToObject,_LinkedHashMapOfResourceToDiagnostic:_LinkedHashMapOfResourceToDiagnostic,_CollectionOfAnything:_CollectionOfAnything,_ListOfAnything:_ListOfAnything,useExtendedLabelProvider:useExtendedLabelProvider,useStyledLabelProvider:useStyledLabelProvider,_AdapterFactoryLabelProvider:_AdapterFactoryLabelProvider,_DelegatingAdapterFactoryLabelProvider:_DelegatingAdapterFactoryLabelProvider,_DecoratingColumLabelProvider:_DecoratingColumLabelProvider,_DiagnosticDecorator:_DiagnosticDecorator,_ArrayListOfString:_ArrayListOfString,_ListOfString:_ListOfString,_ListOfPropertySheetPage:_ListOfPropertySheetPage,_ArrayListOfPropertySheetPage:_ArrayListOfPropertySheetPage"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("importedOperationClassName", importedOperationClassName);
+ callParameters.put("operationMethodName", operationMethodName);
+ callParameters.put("_ArrayListOfObject", _ArrayListOfObject);
+ callParameters.put("_ArrayListOfSelectionChangedListener", _ArrayListOfSelectionChangedListener);
+ callParameters.put("_CollectionOfSelectionChangedListener", _CollectionOfSelectionChangedListener);
+ callParameters.put("_ListOfResource", _ListOfResource);
+ callParameters.put("_ArrayListOfResource", _ArrayListOfResource);
+ callParameters.put("_CollectionOfResource", _CollectionOfResource);
+ callParameters.put("_MapOfResourceToDiagnostic", _MapOfResourceToDiagnostic);
+ callParameters.put("_HashMapOfResourceToBoolean", _HashMapOfResourceToBoolean);
+ callParameters.put("_MapOfObjectToObject", _MapOfObjectToObject);
+ callParameters.put("_HashMapOfObjectToObject", _HashMapOfObjectToObject);
+ callParameters.put("_LinkedHashMapOfResourceToDiagnostic", _LinkedHashMapOfResourceToDiagnostic);
+ callParameters.put("_CollectionOfAnything", _CollectionOfAnything);
+ callParameters.put("_ListOfAnything", _ListOfAnything);
+ callParameters.put("useExtendedLabelProvider", useExtendedLabelProvider);
+ callParameters.put("useStyledLabelProvider", useStyledLabelProvider);
+ callParameters.put("_AdapterFactoryLabelProvider", _AdapterFactoryLabelProvider);
+ callParameters.put("_DelegatingAdapterFactoryLabelProvider", _DelegatingAdapterFactoryLabelProvider);
+ callParameters.put("_DecoratingColumLabelProvider", _DecoratingColumLabelProvider);
+ callParameters.put("_DiagnosticDecorator", _DiagnosticDecorator);
+ callParameters.put("_ArrayListOfString", _ArrayListOfString);
+ callParameters.put("_ListOfString", _ListOfString);
+ callParameters.put("_ListOfPropertySheetPage", _ListOfPropertySheetPage);
+ callParameters.put("_ArrayListOfPropertySheetPage", _ArrayListOfPropertySheetPage);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_08-MQWJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Editor/addItemproviderFactories.override.javajetinc"
+ stringBuffer.append(TEXT_153);
+ if (genModel.getDecoration() != GenDecoration.LIVE
+ || genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF212_VALUE) {
+ stringBuffer.append(TEXT_154);
+ } else {
+ stringBuffer.append(TEXT_155);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.command.AbstractCommand"));
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_159);
+ }
+ stringBuffer.append(TEXT_160);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_161);
+ }
+ stringBuffer.append(TEXT_162);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_163);
+ }
+ stringBuffer.append(TEXT_164);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_165);
+ }
+ stringBuffer.append(TEXT_166);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_167);
+ }
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(_HashMapOfResourceToBoolean);
+ stringBuffer.append(TEXT_169);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_170);
+ stringBuffer.append(_CollectionOfAnything);
+ stringBuffer.append(TEXT_171);
+ stringBuffer.append(_CollectionOfAnything);
+ stringBuffer.append(TEXT_172);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_173);
+ }
+ stringBuffer.append(TEXT_174);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_176);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_177);
+ }
+ stringBuffer.append(TEXT_178);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_177);
+ }
+ stringBuffer.append(TEXT_179);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_177);
+ }
+ stringBuffer.append(TEXT_180);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_177);
+ }
+ stringBuffer.append(TEXT_181);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_182);
+ }
+ stringBuffer.append(TEXT_183);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_184);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_185);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_187);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {
+ stringBuffer.append(TEXT_188);
+ } else {
+ stringBuffer.append(TEXT_189);
+ }
+ stringBuffer.append(TEXT_190);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {
+ stringBuffer.append(TEXT_191);
+ }
+ stringBuffer.append(TEXT_192);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {
+ stringBuffer.append(TEXT_193);
+ } else if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {
+ stringBuffer.append(TEXT_194);
+ } else if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_195);
+ } else {
+ stringBuffer.append(TEXT_196);
+ }
+ stringBuffer.append(TEXT_197);
+ stringBuffer.append(genPackage.getGenModel().getEditorPluginID());
+ stringBuffer.append(TEXT_134);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_199);
+ stringBuffer.append(genPackage.getGenModel().getEditorPluginID());
+ stringBuffer.append(TEXT_134);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_200);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_201);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_203);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_204);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_205);
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DecoratingColumLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_AdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_208);
+ if (useExtendedLabelProvider) {
+ stringBuffer.append(TEXT_209);
+ }
+ stringBuffer.append(TEXT_210);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_212);
+ if (genModel.getDecoration() == GenDecoration.MANUAL) {
+ stringBuffer.append(TEXT_213);
+ }
+ stringBuffer.append(TEXT_209);
+ if (genModel.getDecoration() == GenDecoration.LIVE) {
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_214);
+ }
+ stringBuffer.append(TEXT_215);
+ }
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_210);
+ }
+ stringBuffer.append(TEXT_216);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_217);
+ stringBuffer.append(genModel.getImportedName(
+ "org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_219);
+ }
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_203);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_204);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_222);
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_AdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_208);
+ if (useExtendedLabelProvider) {
+ stringBuffer.append(TEXT_223);
+ }
+ stringBuffer.append(TEXT_210);
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_210);
+ }
+ stringBuffer.append(TEXT_224);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_203);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_226);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_227);
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_AdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_208);
+ if (useExtendedLabelProvider) {
+ stringBuffer.append(TEXT_228);
+ }
+ stringBuffer.append(TEXT_210);
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_210);
+ }
+ stringBuffer.append(TEXT_229);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_230);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_203);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_231);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_232);
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DecoratingColumLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_AdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_208);
+ if (useExtendedLabelProvider) {
+ stringBuffer.append(TEXT_233);
+ }
+ stringBuffer.append(TEXT_210);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_212);
+ if (genModel.getDecoration() == GenDecoration.MANUAL) {
+ stringBuffer.append(TEXT_213);
+ }
+ stringBuffer.append(TEXT_234);
+ }
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_210);
+ }
+ stringBuffer.append(TEXT_235);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_217);
+ stringBuffer.append(genModel.getImportedName(
+ "org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+ stringBuffer.append(TEXT_236);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_237);
+ }
+ stringBuffer.append(TEXT_238);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_239);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_203);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_240);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_241);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_242);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_244);
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DecoratingColumLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_AdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_208);
+ if (useExtendedLabelProvider) {
+ stringBuffer.append(TEXT_245);
+ }
+ stringBuffer.append(TEXT_210);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_212);
+ if (genModel.getDecoration() == GenDecoration.MANUAL) {
+ stringBuffer.append(TEXT_213);
+ }
+ stringBuffer.append(TEXT_245);
+ if (genModel.getDecoration() == GenDecoration.LIVE) {
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_214);
+ }
+ stringBuffer.append(TEXT_215);
+ }
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_210);
+ }
+ stringBuffer.append(TEXT_246);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_217);
+ stringBuffer.append(genModel.getImportedName(
+ "org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+ stringBuffer.append(TEXT_247);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_248);
+ }
+ stringBuffer.append(TEXT_249);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_250);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_203);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_231);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_104);
+ }
+ stringBuffer.append(TEXT_251);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_252);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_253);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_254);
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DecoratingColumLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_AdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_208);
+ if (useExtendedLabelProvider) {
+ stringBuffer.append(TEXT_255);
+ }
+ stringBuffer.append(TEXT_210);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_212);
+ if (genModel.getDecoration() == GenDecoration.MANUAL) {
+ stringBuffer.append(TEXT_213);
+ }
+ stringBuffer.append(TEXT_255);
+ if (genModel.getDecoration() == GenDecoration.LIVE) {
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_214);
+ }
+ stringBuffer.append(TEXT_215);
+ }
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_210);
+ }
+ stringBuffer.append(TEXT_246);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_217);
+ stringBuffer.append(genModel.getImportedName(
+ "org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+ stringBuffer.append(TEXT_256);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_257);
+ }
+ stringBuffer.append(TEXT_258);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_148);
+ } else {
+ stringBuffer.append(TEXT_259);
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DecoratingColumLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_AdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_208);
+ if (useExtendedLabelProvider) {
+ stringBuffer.append(TEXT_209);
+ }
+ stringBuffer.append(TEXT_210);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_212);
+ if (genModel.getDecoration() == GenDecoration.MANUAL) {
+ stringBuffer.append(TEXT_213);
+ }
+ stringBuffer.append(TEXT_209);
+ if (genModel.getDecoration() == GenDecoration.LIVE) {
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_214);
+ }
+ stringBuffer.append(TEXT_215);
+ }
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_210);
+ }
+ stringBuffer.append(TEXT_260);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_261);
+ stringBuffer.append(genModel.getImportedName(
+ "org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_219);
+ }
+ stringBuffer.append(TEXT_262);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_263);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_264);
+ }
+ stringBuffer.append(TEXT_265);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_266);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_161);
+ }
+ stringBuffer.append(TEXT_267);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_268);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_269);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_270);
+ if (genModel.useGenerics()
+ && genModel.getEclipsePlatformVersion().getValue() < GenEclipsePlatformVersion.MARS_VALUE) {
+ stringBuffer.append(TEXT_271);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE) {
+ stringBuffer.append(TEXT_272);
+ } else {
+ stringBuffer.append(TEXT_273);
+ }
+ stringBuffer.append(TEXT_274);
+ }
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {
+ stringBuffer.append(TEXT_275);
+ } else {
+ stringBuffer.append(TEXT_276);
+ }
+ stringBuffer.append(TEXT_277);
+ if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {
+ stringBuffer.append(TEXT_278);
+ } else {
+ stringBuffer.append(TEXT_279);
+ }
+ stringBuffer.append(TEXT_280);
+ if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {
+ stringBuffer.append(TEXT_281);
+ } else {
+ stringBuffer.append(TEXT_282);
+ }
+ stringBuffer.append(TEXT_283);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_284);
+ if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {
+ stringBuffer.append(TEXT_285);
+ } else {
+ stringBuffer.append(TEXT_286);
+ }
+ stringBuffer.append(TEXT_283);
+ }
+ if (genModel.isFindAction()) {
+ stringBuffer.append(TEXT_287);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.text.IFindReplaceTarget"));
+ stringBuffer.append(TEXT_288);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.util.FindAndReplaceTarget"));
+ stringBuffer.append(TEXT_289);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_290);
+ }
+ stringBuffer.append(TEXT_291);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_292);
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_DecoratingColumLabelProvider);
+ stringBuffer.append(TEXT_207);
+ }
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(_AdapterFactoryLabelProvider);
+ stringBuffer.append(TEXT_208);
+ if (useExtendedLabelProvider) {
+ stringBuffer.append(TEXT_293);
+ }
+ stringBuffer.append(TEXT_210);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_212);
+ if (genModel.getDecoration() == GenDecoration.MANUAL) {
+ stringBuffer.append(TEXT_213);
+ }
+ stringBuffer.append(TEXT_293);
+ if (genModel.getDecoration() == GenDecoration.LIVE) {
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_214);
+ }
+ stringBuffer.append(TEXT_215);
+ }
+ if (useStyledLabelProvider) {
+ stringBuffer.append(TEXT_210);
+ }
+ stringBuffer.append(TEXT_294);
+ if (genModel.getDecoration() != GenDecoration.NONE) {
+ stringBuffer.append(TEXT_295);
+ stringBuffer.append(genModel
+ .getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+ stringBuffer.append(TEXT_296);
+ stringBuffer.append(_DiagnosticDecorator);
+ stringBuffer.append(TEXT_297);
+ }
+ stringBuffer.append(TEXT_298);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_299);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_300);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_264);
+ }
+ stringBuffer.append(TEXT_301);
+ if (genModel.getDecoration() == GenDecoration.MANUAL) {
+ stringBuffer.append(TEXT_302);
+ } else if (genModel.getDecoration() == GenDecoration.LIVE) {
+ stringBuffer.append(TEXT_303);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_214);
+ }
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE) {
+ stringBuffer.append(TEXT_46);
+ if (genModel.getDecoration() == GenDecoration.NONE) {
+ stringBuffer.append(TEXT_304);
+ }
+ if (genModel.getDecoration() != GenDecoration.LIVE) {
+ stringBuffer.append(TEXT_305);
+ }
+ stringBuffer.append(genModel.getAutoExpandProperties());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genModel.isAutoResizeProperties());
+ }
+ stringBuffer.append(TEXT_306);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_307);
+ stringBuffer.append(_ListOfAnything);
+ stringBuffer.append(TEXT_308);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_309);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_310);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_311);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_312);
+ } else {
+ stringBuffer.append(TEXT_313);
+ }
+ stringBuffer.append(TEXT_314);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_315);
+ }
+ stringBuffer.append(TEXT_316);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_317);
+ stringBuffer.append(_ArrayListOfObject);
+ stringBuffer.append(TEXT_318);
+ stringBuffer.append(_ArrayListOfObject);
+ stringBuffer.append(TEXT_319);
+ } else {
+ stringBuffer.append(TEXT_320);
+ stringBuffer.append(_ArrayListOfObject);
+ stringBuffer.append(TEXT_318);
+ stringBuffer.append(_ArrayListOfObject);
+ stringBuffer.append(TEXT_321);
+ }
+ stringBuffer.append(TEXT_322);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_323);
+ if (genModel.isRevertAction()) {
+ stringBuffer.append(TEXT_324);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_325);
+ if (genModel.getDecoration() == GenDecoration.LIVE) {
+ stringBuffer.append(TEXT_326);
+ }
+ stringBuffer.append(TEXT_327);
+ stringBuffer.append(_ListOfResource);
+ stringBuffer.append(TEXT_328);
+ stringBuffer.append(_ListOfResource);
+ stringBuffer.append(TEXT_329);
+ stringBuffer.append(_ArrayListOfResource);
+ stringBuffer.append(TEXT_330);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_331);
+ } else {
+ stringBuffer.append(TEXT_332);
+ }
+ stringBuffer.append(TEXT_333);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_130);
+ }
+ stringBuffer.append(TEXT_334);
+ }
+ stringBuffer.append(TEXT_335);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_336);
+ stringBuffer.append(_MapOfObjectToObject);
+ stringBuffer.append(TEXT_337);
+ stringBuffer.append(_HashMapOfObjectToObject);
+ stringBuffer.append(TEXT_63);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {
+ stringBuffer.append(TEXT_338);
+ }
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {
+ stringBuffer.append(TEXT_339);
+ }
+ stringBuffer.append(TEXT_340);
+ stringBuffer.append(importedOperationClassName);
+ stringBuffer.append(TEXT_341);
+ stringBuffer.append(importedOperationClassName);
+ stringBuffer.append(TEXT_342);
+ if (genModel.useInterfaceOverrideAnnotation()
+ || !genModel.isRichClientPlatform() && genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_343);
+ stringBuffer.append(operationMethodName);
+ stringBuffer.append(TEXT_344);
+ stringBuffer.append(_ListOfResource);
+ stringBuffer.append(TEXT_345);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_346);
+ }
+ stringBuffer.append(TEXT_347);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+ stringBuffer.append(TEXT_348);
+ } else {
+ stringBuffer.append(TEXT_349);
+ }
+ stringBuffer.append(TEXT_350);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_351);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_352);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_353);
+ if (genModel.isRichClientPlatform()) {
+ if (genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_354);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.dialogs.ResourceDialog"));
+ stringBuffer.append(TEXT_355);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_356);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_357);
+ stringBuffer.append("List" + (genModel.useGenerics() ? "<URI>" : ""));
+ stringBuffer.append(TEXT_358);
+ stringBuffer.append(genModel.useGenerics() ? "" : "(URI)");
+ stringBuffer.append(TEXT_359);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput"));
+ stringBuffer.append(TEXT_360);
+ } else {
+ stringBuffer.append(TEXT_361);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_362);
+ }
+ stringBuffer.append(TEXT_363);
+ stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));
+ stringBuffer.append(TEXT_364);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.swt.SWT"));
+ stringBuffer.append(TEXT_365);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput"));
+ stringBuffer.append(TEXT_366);
+ }
+ } else {
+ stringBuffer.append(TEXT_367);
+ }
+ stringBuffer.append(TEXT_368);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_346);
+ }
+ stringBuffer.append(TEXT_369);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.NullProgressMonitor"));
+ stringBuffer.append(TEXT_370);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_371);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_372);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {
+ stringBuffer.append(TEXT_373);
+ stringBuffer.append(_ListOfAnything);
+ stringBuffer.append(TEXT_374);
+ } else {
+ stringBuffer.append(TEXT_375);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_376);
+ }
+ stringBuffer.append(TEXT_377);
+ }
+ stringBuffer.append(TEXT_378);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_379);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_380);
+ }
+ stringBuffer.append(TEXT_381);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_382);
+ if (genPackage.isMultipleEditorPages()) {
+ stringBuffer.append(TEXT_383);
+ } else {
+ stringBuffer.append(TEXT_384);
+ }
+ stringBuffer.append(TEXT_385);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_386);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_387);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_388);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_389);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_390);
+ } else {
+ stringBuffer.append(TEXT_391);
+ }
+ stringBuffer.append(TEXT_333);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_392);
+ }
+ stringBuffer.append(TEXT_393);
+ stringBuffer.append(_CollectionOfAnything);
+ stringBuffer.append(TEXT_394);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_395);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_396);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_397);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_398);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_399);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_400);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_401);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_402);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_403);
+ }
+ stringBuffer.append(TEXT_404);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_405);
+ } else {
+ stringBuffer.append(TEXT_406);
+ }
+ stringBuffer.append(TEXT_333);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_407);
+ }
+ stringBuffer.append(TEXT_408);
+ stringBuffer.append(genPackage.isMultipleEditorPages());
+ stringBuffer.append(TEXT_409);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_5);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genPackage.hasConcreteClasses()
+ && genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java
new file mode 100644
index 000000000..21874e52b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java
@@ -0,0 +1,267 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class EntryPoint extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+ protected static String nl;
+
+ public static synchronized EntryPoint create(String lineSeparator) {
+ nl = lineSeparator;
+ EntryPoint result = new EntryPoint();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL + "" + NL + "import org.eclipse.emf.edit.ui.EditorEntryPoint;";
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the entry point." + NL
+ + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_5 = NL + " * ";
+ protected final String TEXT_6 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_7 = NL + "@Deprecated";
+ protected final String TEXT_8 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_9 = NL + "public class ";
+ protected final String TEXT_10 = " extends EditorEntryPoint" + NL + "{";
+ protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_12 = " copyright = ";
+ protected final String TEXT_13 = ";";
+ protected final String TEXT_14 = NL + "\t";
+ protected final String TEXT_15 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL
+ + "\tpublic void onModuleLoad()" + NL + "\t{" + NL + "\t\tsuper.onModuleLoad();" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated"
+ + NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void registerPackages(";
+ protected final String TEXT_16 = ".Registry packageRegistry)" + NL + "\t{";
+ protected final String TEXT_17 = NL + "\t\tpackageRegistry.put(";
+ protected final String TEXT_18 = ".eNS_URI, ";
+ protected final String TEXT_19 = ".eINSTANCE);";
+ protected final String TEXT_20 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL
+ + "\tprotected void configureItemProviderAdapterFactories(";
+ protected final String TEXT_21 = " adapterFactory)" + NL + "\t{";
+ protected final String TEXT_22 = NL + "\t\tadapterFactory.addAdapterFactory(new ";
+ protected final String TEXT_23 = "());";
+ protected final String TEXT_24 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL
+ + "\tprotected String getApplicationTitle()" + NL + "\t{" + NL + "\t\treturn \"";
+ protected final String TEXT_25 = " Application\";";
+ protected final String TEXT_26 = NL + "\t}" + NL + "}";
+ protected final String TEXT_27 = NL;
+ protected final String TEXT_28 = NL;
+
+ public EntryPoint() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(TEXT_28);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPath = genModel.getEditorPluginDirectory();
+ packageName = genModel.getEditorPluginPackageName();
+ className = genModel.getEditorEntryPointClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 20010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getEditorPluginPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ if (genModel.hasAPITags()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_6);
+ if (isJDK50 && genModel.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ } else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genModel.getAllGenAndUsedGenPackagesWithClassifiers())) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getEditorEntryPointClassName());
+ stringBuffer.append(TEXT_10);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_16);
+ for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ComposedAdapterFactory"));
+ stringBuffer.append(TEXT_21);
+ for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genPackage.getImportedItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_26);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_27);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java
new file mode 100644
index 000000000..326f707b3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java
@@ -0,0 +1,197 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class HomeHTML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized HomeHTML create(String lineSeparator) {
+ nl = lineSeparator;
+ HomeHTML result = new HomeHTML();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<!doctype html>" + NL
+ + "<html style=\"height : 100%\"> " + NL + " <head>" + NL
+ + " <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">" + NL + "" + NL
+ + " <!-- -->" + NL
+ + " <!-- Any title is fine -->" + NL
+ + " <!-- -->" + NL + " <title>";
+ protected final String TEXT_2 = " Application</title>" + NL + " " + NL + " <style TYPE=\"text/css\">" + NL
+ + " <!--" + NL + " .ToolBar" + NL + " {" + NL + " background-color: #d0e4f6;"
+ + NL + " }" + NL + " .ToolBarButton" + NL + " {" + NL + " float: left;" + NL
+ + " margin-top: 5px;" + NL + " }" + NL + " .ToolBarButtonLeftMargin" + NL
+ + " {" + NL + " float: left;" + NL + " margin-left: 10px;" + NL
+ + " margin-top: 5px;" + NL + " }" + NL + " .Header" + NL + " {" + NL
+ + " background-color: #628cd5;" + NL + " color: #FFFFFF;" + NL + " float: left;"
+ + NL + " font-weight: bold;" + NL + " font-size: xx-large;" + NL + " }" + NL
+ + " .HeaderLabel" + NL + " {" + NL + " float: left;" + NL
+ + " margin-left: 10px;" + NL + " }" + NL + " .PropertiesTitle" + NL + " {"
+ + NL + " background-color: #628cd5;" + NL + " color: #FFFFFF;" + NL
+ + " font-weight: bold;" + NL + " font-size: large;" + NL + " }" + NL
+ + " .PropertiesTitleLabel" + NL + " {" + NL + " float: left;" + NL
+ + " margin-left: 5px;" + NL + " }" + NL + " -->" + NL + " </style>" + NL + "" + NL
+ + " <!-- -->" + NL
+ + " <!-- This script loads your compiled module. -->" + NL
+ + " <!-- If you add any GWT meta tags, they must -->" + NL
+ + " <!-- be added before this line. -->" + NL
+ + " <script type=\"text/javascript\" language=\"javascript\" src=\"";
+ protected final String TEXT_3 = "/";
+ protected final String TEXT_4 = ".nocache.js\"></script>" + NL + " </head>" + NL + "" + NL
+ + " <body style=\"height : 100%\">" + NL + " <div id=\"main\" style=\"height : 100%\">" + NL
+ + " </div>" + NL + " </body>" + NL + "</html>" + NL;
+ protected final String TEXT_5 = NL;
+
+ public HomeHTML() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(TEXT_5);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditorProjectDirectory() + "/war/" + genModel.getEditorHomePageName() + ".html";
+ overwrite = false;
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getQualifiedEditorModuleName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getQualifiedEditorModuleName());
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java
new file mode 100644
index 000000000..e61b199aa
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java
@@ -0,0 +1,274 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized ManifestMF create(String lineSeparator) {
+ nl = lineSeparator;
+ ManifestMF result = new ManifestMF();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL + "Bundle-Name: ";
+ protected final String TEXT_2 = NL + "Bundle-SymbolicName: ";
+ protected final String TEXT_3 = ";singleton:=true" + NL + "Automatic-Module-Name: ";
+ protected final String TEXT_4 = NL + "Bundle-Version: 1.0.0.qualifier" + NL + "Bundle-ClassPath: ";
+ protected final String TEXT_5 = ".jar";
+ protected final String TEXT_6 = ".";
+ protected final String TEXT_7 = NL + "Bundle-Activator: ";
+ protected final String TEXT_8 = "$Implementation";
+ protected final String TEXT_9 = NL + "Bundle-Vendor: ";
+ protected final String TEXT_10 = NL + "Bundle-Localization: ";
+ protected final String TEXT_11 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";
+ protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";
+ protected final String TEXT_13 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";
+ protected final String TEXT_14 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";
+ protected final String TEXT_15 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-9";
+ protected final String TEXT_16 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-10";
+ protected final String TEXT_17 = NL + "Export-Package: ";
+ protected final String TEXT_18 = ",";
+ protected final String TEXT_19 = NL + " ";
+ protected final String TEXT_20 = NL + "Require-Bundle: ";
+ protected final String TEXT_21 = ";visibility:=reexport";
+ protected final String TEXT_22 = NL + "Import-Package: org.eclipse.emf.common.ui," + NL
+ + " org.eclipse.emf.common.ui.action," + NL + " org.eclipse.emf.common.ui.dialogs," + NL
+ + " org.eclipse.emf.common.ui.editor," + NL + " org.eclipse.emf.common.ui.viewer," + NL
+ + " org.eclipse.emf.edit.ui," + NL + " org.eclipse.emf.edit.ui.action," + NL
+ + " org.eclipse.emf.edit.ui.celleditor," + NL + " org.eclipse.emf.edit.ui.dnd," + NL
+ + " org.eclipse.emf.edit.ui.provider," + NL + " org.eclipse.emf.edit.ui.util," + NL
+ + " org.eclipse.emf.edit.ui.view," + NL + " org.eclipse.jface.action," + NL + " org.eclipse.jface.dialogs,"
+ + NL + " org.eclipse.jface.operation," + NL + " org.eclipse.jface.text," + NL + " org.eclipse.jface.util,"
+ + NL + " org.eclipse.jface.viewers," + NL + " org.eclipse.jface.window," + NL + " org.eclipse.jface.wizard,"
+ + NL + " org.eclipse.swt," + NL + " org.eclipse.swt.custom," + NL + " org.eclipse.swt.dnd," + NL
+ + " org.eclipse.swt.events," + NL + " org.eclipse.swt.graphics," + NL + " org.eclipse.swt.layout," + NL
+ + " org.eclipse.swt.widgets," + NL + " org.eclipse.ui;ui.workbench=\"split\"," + NL
+ + " org.eclipse.ui.actions;ui.workbench=\"split\"," + NL + " org.eclipse.ui.application," + NL
+ + " org.eclipse.ui.part;ui.workbench=\"split\"," + NL + " org.eclipse.ui.plugin," + NL
+ + " org.eclipse.ui.views," + NL + " org.eclipse.ui.views.contentoutline," + NL
+ + " org.eclipse.ui.views.properties;ui.views=\"split\"";
+ protected final String TEXT_23 = NL + "Eclipse-LazyStart: true";
+ protected final String TEXT_24 = NL + "Bundle-ActivationPolicy: lazy" + NL;
+ protected final String TEXT_25 = NL;
+
+ public ManifestMF() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(TEXT_25);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditorProjectDirectory() + "/META-INF/MANIFEST.MF";
+ overwrite = genModel.isUpdateClasspath();
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genModel.getEditorBundleNameKey());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getEditorPluginID());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getEditorPluginID());
+ stringBuffer.append(TEXT_4);
+ if (genModel.isRuntimeJar()) {
+ stringBuffer.append(genModel.getEditorPluginID());
+ stringBuffer.append(TEXT_5);
+ } else {
+ stringBuffer.append(TEXT_6);
+ }
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genModel.getQualifiedEditorPluginClassName());
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getEditorBundleVendorKey());
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getEditorBundleLocalization());
+ if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {
+ stringBuffer.append(TEXT_11);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {
+ stringBuffer.append(TEXT_12);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {
+ stringBuffer.append(TEXT_13);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {
+ stringBuffer.append(TEXT_14);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {
+ stringBuffer.append(TEXT_15);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {
+ stringBuffer.append(TEXT_16);
+ }
+ Iterator<String> packagesIterator = genModel.getEditorQualifiedPackageNames().iterator();
+ if (packagesIterator.hasNext()) {
+ String pack = packagesIterator.next();
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(pack);
+ while (packagesIterator.hasNext()) {
+ pack = packagesIterator.next();
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(pack);
+ }
+ }
+ Iterator<String> requiredPluginIterator = genModel.getEditorRequiredPlugins().iterator();
+ if (requiredPluginIterator.hasNext()) {
+ String pluginID = requiredPluginIterator.next();
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(pluginID);
+ if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+ stringBuffer.append(TEXT_21);
+ }
+ while (requiredPluginIterator.hasNext()) {
+ pluginID = requiredPluginIterator.next();
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(pluginID);
+ if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.jface.text")
+ && !pluginID.equals("org.eclipse.xtext.xbase.lib")
+ && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {
+ stringBuffer.append(TEXT_21);
+ }
+ }
+ }
+ if (genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_22);
+ }
+ if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22
+ || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genModel.isBundleManifest());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java
new file mode 100644
index 000000000..0c64ef6de
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java
@@ -0,0 +1,134 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModelIcon extends org.eclipse.egf.emf.pattern.base.GenPackageGIF {
+ protected static String nl;
+
+ public static synchronized ModelIcon create(String lineSeparator) {
+ nl = lineSeparator;
+ ModelIcon result = new ModelIcon();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ModelIcon() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ if (genPackage.hasConcreteClasses()) {
+ new CodegenGeneratorAdapter(parameter).generateGIF("editor/ModelFile.gif",
+ genPackage.getModelIconFileName(), genPackage.getPrefix(), null, false);
+ } else {
+ }
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java
new file mode 100644
index 000000000..1d579c8ab
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java
@@ -0,0 +1,1198 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModelWizard extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized ModelWizard create(String lineSeparator) {
+ nl = lineSeparator;
+ ModelWizard result = new ModelWizard();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL + "" + NL + "" + NL + "import java.util.ArrayList;" + NL
+ + "import java.util.Arrays;" + NL + "import java.util.Collection;" + NL + "import java.util.Collections;"
+ + NL + "import java.util.HashMap;";
+ protected final String TEXT_4 = NL + "import java.util.Iterator;";
+ protected final String TEXT_5 = NL + "import java.util.List;" + NL + "import java.util.Map;" + NL
+ + "import java.util.MissingResourceException;" + NL + "import java.util.StringTokenizer;" + NL;
+ protected final String TEXT_6 = NL + "import org.eclipse.emf.common.CommonPlugin;" + NL;
+ protected final String TEXT_7 = NL + "import org.eclipse.emf.common.util.URI;" + NL + "" + NL
+ + "import org.eclipse.emf.ecore.EClass;" + NL + "import org.eclipse.emf.ecore.EClassifier;" + NL + "" + NL
+ + "import org.eclipse.emf.ecore.resource.Resource;" + NL
+ + "import org.eclipse.emf.ecore.resource.ResourceSet;" + NL + "" + NL
+ + "import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;" + NL + "" + NL
+ + "import org.eclipse.emf.ecore.EObject;" + NL + "" + NL + "import org.eclipse.emf.ecore.xmi.XMLResource;"
+ + NL + "" + NL + "import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;" + NL;
+ protected final String TEXT_8 = NL + "import org.eclipse.core.resources.IContainer;" + NL
+ + "import org.eclipse.core.resources.IFile;" + NL + "import org.eclipse.core.resources.IFolder;" + NL
+ + "import org.eclipse.core.resources.IProject;" + NL + "import org.eclipse.core.resources.IResource;" + NL
+ + "import org.eclipse.core.resources.ResourcesPlugin;" + NL;
+ protected final String TEXT_9 = NL + "import org.eclipse.core.runtime.IProgressMonitor;" + NL + "" + NL
+ + "import org.eclipse.jface.dialogs.MessageDialog;" + NL + "" + NL
+ + "import org.eclipse.jface.viewers.IStructuredSelection;" + NL + "" + NL
+ + "import org.eclipse.jface.wizard.Wizard;" + NL + "import org.eclipse.jface.wizard.WizardPage;" + NL + ""
+ + NL + "import org.eclipse.swt.SWT;" + NL + "" + NL + "import org.eclipse.swt.events.ModifyListener;" + NL
+ + "import org.eclipse.swt.events.ModifyEvent;" + NL + "" + NL + "import org.eclipse.swt.layout.GridData;"
+ + NL + "import org.eclipse.swt.layout.GridLayout;" + NL + "" + NL + "import org.eclipse.swt.widgets.Combo;"
+ + NL + "import org.eclipse.swt.widgets.Composite;" + NL + "import org.eclipse.swt.widgets.Label;" + NL + ""
+ + NL + "import org.eclipse.ui.INewWizard;" + NL + "import org.eclipse.ui.IWorkbench;" + NL;
+ protected final String TEXT_10 = NL + "import org.eclipse.ui.actions.WorkspaceModifyOperation;" + NL + "" + NL
+ + "import org.eclipse.ui.dialogs.WizardNewFileCreationPage;" + NL + "" + NL
+ + "import org.eclipse.ui.part.FileEditorInput;" + NL + "import org.eclipse.ui.part.ISetSelectionTarget;"
+ + NL;
+ protected final String TEXT_11 = NL + "import ";
+ protected final String TEXT_12 = ";";
+ protected final String TEXT_13 = ";" + NL + "import ";
+ protected final String TEXT_14 = ";" + NL + NL;
+ protected final String TEXT_15 = NL + NL + NL + "/**" + NL
+ + " * This is a simple wizard for creating a new model file." + NL + " * <!-- begin-user-doc -->" + NL
+ + " * <!-- end-user-doc -->";
+ protected final String TEXT_16 = NL + " * ";
+ protected final String TEXT_17 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_18 = NL + "@Deprecated";
+ protected final String TEXT_19 = NL + "public class ";
+ protected final String TEXT_20 = " extends Wizard implements INewWizard" + NL + "{";
+ protected final String TEXT_21 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_22 = " copyright = ";
+ protected final String TEXT_23 = NL;
+ protected final String TEXT_24 = NL + "\t/**" + NL + "\t * The supported extensions for created files." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static final ";
+ protected final String TEXT_25 = " FILE_EXTENSIONS =" + NL + "\t\tCollections.unmodifiableList(Arrays.asList(";
+ protected final String TEXT_26 = ".INSTANCE.getString(\"_UI_";
+ protected final String TEXT_27 = "FilenameExtensions\").split(\"\\\\s*,\\\\s*\")));";
+ protected final String TEXT_28 = NL + NL + "\t/**" + NL
+ + "\t * A formatted list of supported file extensions, suitable for display." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static final String FORMATTED_FILE_EXTENSIONS =" + NL + "\t\t";
+ protected final String TEXT_29 = "FilenameExtensions\").replaceAll(\"\\\\s*,\\\\s*\", \", \");";
+ protected final String TEXT_30 = NL + NL + "\t/**" + NL + "\t * This caches an instance of the model package." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_31 = " ";
+ protected final String TEXT_32 = " = ";
+ protected final String TEXT_33 = ".eINSTANCE;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This caches an instance of the model factory." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_34 = ".get";
+ protected final String TEXT_35 = "();" + NL;
+ protected final String TEXT_36 = NL + "\t/**" + NL + "\t * This is the file creation page." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_37 = "NewFileCreationPage newFileCreationPage;" + NL;
+ protected final String TEXT_38 = NL + "\t/**" + NL + "\t * This is the initial object creation page." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_39 = "InitialObjectCreationPage initialObjectCreationPage;" + NL + "" + NL + "\t/**"
+ + NL + "\t * Remember the selection during initialization for populating the default container." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected IStructuredSelection selection;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Remember the workbench during initialization." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected IWorkbench workbench;" + NL + "" + NL + "\t/**";
+ protected final String TEXT_40 = NL + "\t * Caches the names of the types that can be created as the root object.";
+ protected final String TEXT_41 = NL + "\t * Caches the names of the features representing global elements.";
+ protected final String TEXT_42 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_43 = " initialObjectNames;" + NL + "" + NL + "\t/**" + NL
+ + "\t * This just records the information." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_44 = NL + "\t@Override";
+ protected final String TEXT_45 = NL + "\tpublic void init(IWorkbench workbench, IStructuredSelection selection)"
+ + NL + "\t{" + NL + "\t\tthis.workbench = workbench;" + NL + "\t\tthis.selection = selection;" + NL
+ + "\t\tsetWindowTitle(";
+ protected final String TEXT_46 = ".INSTANCE.getString(\"_UI_Wizard_label\"));";
+ protected final String TEXT_47 = NL
+ + "\t\tsetDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(";
+ protected final String TEXT_48 = ".INSTANCE.getImage(\"full/wizban/New";
+ protected final String TEXT_49 = "\")));";
+ protected final String TEXT_50 = NL + "\t}" + NL + "" + NL + "\t/**";
+ protected final String TEXT_51 = NL + "\t * Returns the names of the types that can be created as the root object.";
+ protected final String TEXT_52 = NL + "\t * Returns the names of the features representing global elements.";
+ protected final String TEXT_53 = " getInitialObjectNames()" + NL + "\t{" + NL
+ + "\t\tif (initialObjectNames == null)" + NL + "\t\t{" + NL + "\t\t\tinitialObjectNames = new ";
+ protected final String TEXT_54 = "();";
+ protected final String TEXT_55 = NL + "\t\t\tfor (EClassifier eClassifier : ";
+ protected final String TEXT_56 = ".getEClassifiers())";
+ protected final String TEXT_57 = NL + "\t\t\tfor (Iterator classifiers = ";
+ protected final String TEXT_58 = ".getEClassifiers().iterator(); classifiers.hasNext(); )";
+ protected final String TEXT_59 = NL + "\t\t\t{";
+ protected final String TEXT_60 = NL + "\t\t\t\tEClassifier eClassifier = (EClassifier)classifiers.next();";
+ protected final String TEXT_61 = NL + "\t\t\t\tif (eClassifier instanceof EClass)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tEClass eClass = (EClass)eClassifier;" + NL + "\t\t\t\t\tif (!eClass.isAbstract())" + NL
+ + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tinitialObjectNames.add(eClass.getName());" + NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t}" + NL + "\t\t\t}";
+ protected final String TEXT_62 = NL + "\t\t\tfor (";
+ protected final String TEXT_63 = " eStructuralFeature : ";
+ protected final String TEXT_64 = ".INSTANCE.getAllElements(";
+ protected final String TEXT_65 = ".INSTANCE.getDocumentRoot(";
+ protected final String TEXT_66 = ")))";
+ protected final String TEXT_67 = NL + "\t\t\tfor (Iterator elements = ";
+ protected final String TEXT_68 = ")).iterator(); elements.hasNext(); )";
+ protected final String TEXT_69 = NL + "\t\t\t\t";
+ protected final String TEXT_70 = " eStructuralFeature = (";
+ protected final String TEXT_71 = ")elements.next();";
+ protected final String TEXT_72 = NL + "\t\t\t\tif (eStructuralFeature.isChangeable())" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tEClassifier eClassifier = eStructuralFeature.getEType();" + NL
+ + "\t\t\t\t\tif (eClassifier instanceof EClass)" + NL + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tEClass eClass = (EClass)eClassifier;" + NL + "\t\t\t\t\t\tif (!eClass.isAbstract())" + NL
+ + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tinitialObjectNames.add(eStructuralFeature.getName());" + NL
+ + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}";
+ protected final String TEXT_73 = NL + "\t\t\tCollections.sort(initialObjectNames, ";
+ protected final String TEXT_74 = "CommonPlugin.INSTANCE.getComparator()";
+ protected final String TEXT_75 = "java.text.Collator.getInstance()";
+ protected final String TEXT_76 = ");" + NL + "\t\t}" + NL + "\t\treturn initialObjectNames;" + NL + "\t}" + NL + ""
+ + NL + "\t/**" + NL + "\t * Create a new model." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected EObject createInitialModel()" + NL + "\t{";
+ protected final String TEXT_77 = NL + "\t\tEClass eClass = (EClass)";
+ protected final String TEXT_78 = ".getEClassifier(initialObjectCreationPage.getInitialObjectName());" + NL
+ + "\t\tEObject rootObject = ";
+ protected final String TEXT_79 = ".create(eClass);";
+ protected final String TEXT_80 = NL + "\t\tEClass eClass = ";
+ protected final String TEXT_81 = ");" + NL
+ + "\t\tEStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(initialObjectCreationPage.getInitialObjectName());"
+ + NL + "\t\tEObject rootObject = ";
+ protected final String TEXT_82 = ".create(eClass);" + NL + "\t\trootObject.eSet(eStructuralFeature, ";
+ protected final String TEXT_83 = ".create((EClass)eStructuralFeature.getEType()));";
+ protected final String TEXT_84 = NL + "\t\treturn rootObject;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Do the work after everything is specified." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_85 = NL + "\tpublic boolean performFinish()" + NL + "\t{" + NL + "\t\ttry" + NL
+ + "\t\t{";
+ protected final String TEXT_86 = NL + "\t\t\t// Get the URI of the model file." + NL + "\t\t\t//" + NL
+ + "\t\t\tfinal URI fileURI = getModelURI();" + NL + "\t\t\tif (new ";
+ protected final String TEXT_87 = "(fileURI.toFileString()).exists())" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tif (!MessageDialog.openQuestion" + NL + "\t\t\t\t\t\t(getShell()," + NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_88 = ".INSTANCE.getString(\"_UI_Question_title\"),";
+ protected final String TEXT_89 = NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_90 = ".INSTANCE.getString(\"_WARN_FileConflict\", new String []{ fileURI.toFileString() })))";
+ protected final String TEXT_91 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tinitialObjectCreationPage.selectFileField();"
+ + NL + "\t\t\t\t\treturn false;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\t" + NL
+ + "\t\t\t// Do the work within an operation." + NL + "\t\t\t//" + NL + "\t\t\t";
+ protected final String TEXT_92 = " operation = new ";
+ protected final String TEXT_93 = "()" + NL + "\t\t\t{";
+ protected final String TEXT_94 = NL + "\t\t\t\t@Override";
+ protected final String TEXT_95 = NL + "\t\t\t\tpublic void run(IProgressMonitor progressMonitor)";
+ protected final String TEXT_96 = NL + "\t\t\t// Remember the file." + NL + "\t\t\t//" + NL
+ + "\t\t\tfinal IFile modelFile = getModelFile();" + NL + "" + NL
+ + "\t\t\t// Do the work within an operation." + NL + "\t\t\t//" + NL
+ + "\t\t\tWorkspaceModifyOperation operation =" + NL + "\t\t\t\tnew WorkspaceModifyOperation()" + NL
+ + "\t\t\t\t{";
+ protected final String TEXT_97 = NL + "\t\t\t\t\t@Override";
+ protected final String TEXT_98 = NL + "\t\t\t\t\tprotected void execute(IProgressMonitor progressMonitor)";
+ protected final String TEXT_99 = NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\ttry" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\t// Create a resource set" + NL + "\t\t\t\t\t\t\t//" + NL
+ + "\t\t\t\t\t\t\tResourceSet resourceSet = new ResourceSetImpl();" + NL;
+ protected final String TEXT_100 = NL + "\t\t\t\t\t\t\t// Get the URI of the model file." + NL + "\t\t\t\t\t\t\t//"
+ + NL
+ + "\t\t\t\t\t\t\tURI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);"
+ + NL;
+ protected final String TEXT_101 = NL + "\t\t\t\t\t\t\t// Create a resource for this file." + NL + "\t\t\t\t\t\t\t//"
+ + NL + "\t\t\t\t\t\t\tResource resource = resourceSet.createResource(fileURI";
+ protected final String TEXT_102 = ", ";
+ protected final String TEXT_103 = ".eCONTENT_TYPE";
+ protected final String TEXT_104 = ");" + NL + "" + NL
+ + "\t\t\t\t\t\t\t// Add the initial model object to the contents." + NL + "\t\t\t\t\t\t\t//" + NL
+ + "\t\t\t\t\t\t\tEObject rootObject = createInitialModel();" + NL + "\t\t\t\t\t\t\tif (rootObject != null)"
+ + NL + "\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\tresource.getContents().add(rootObject);" + NL
+ + "\t\t\t\t\t\t\t}" + NL + "" + NL
+ + "\t\t\t\t\t\t\t// Save the contents of the resource to the file system." + NL + "\t\t\t\t\t\t\t//" + NL
+ + "\t\t\t\t\t\t\t";
+ protected final String TEXT_105 = " options = new ";
+ protected final String TEXT_106 = "();" + NL
+ + "\t\t\t\t\t\t\toptions.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());" + NL
+ + "\t\t\t\t\t\t\tresource.save(options);" + NL + "\t\t\t\t\t\t}" + NL
+ + "\t\t\t\t\t\tcatch (Exception exception)" + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t";
+ protected final String TEXT_107 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\tfinally"
+ + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tprogressMonitor.done();" + NL + "\t\t\t\t\t\t}" + NL
+ + "\t\t\t\t\t}" + NL + "\t\t\t\t};" + NL + "" + NL + "\t\t\tgetContainer().run(false, false, operation);"
+ + NL;
+ protected final String TEXT_108 = NL + "\t\t\treturn ";
+ protected final String TEXT_109 = ".openEditor(workbench, fileURI);\t\t\t";
+ protected final String TEXT_110 = NL + "\t\t\t// Select the new file resource in the current view." + NL
+ + "\t\t\t//" + NL + "\t\t\t";
+ protected final String TEXT_111 = " workbenchWindow = workbench.getActiveWorkbenchWindow();" + NL + "\t\t\t";
+ protected final String TEXT_112 = " page = workbenchWindow.getActivePage();" + NL + "\t\t\tfinal ";
+ protected final String TEXT_113 = " activePart = page.getActivePart();" + NL
+ + "\t\t\tif (activePart instanceof ISetSelectionTarget)" + NL + "\t\t\t{" + NL + "\t\t\t\tfinal ";
+ protected final String TEXT_114 = " targetSelection = new ";
+ protected final String TEXT_115 = "(modelFile);" + NL + "\t\t\t\tgetShell().getDisplay().asyncExec" + NL
+ + "\t\t\t\t\t(new Runnable()" + NL + "\t\t\t\t\t {";
+ protected final String TEXT_116 = NL + "\t\t\t\t\t\t @Override";
+ protected final String TEXT_117 = NL + "\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t {" + NL
+ + "\t\t\t\t\t\t\t ((ISetSelectionTarget)activePart).selectReveal(targetSelection);" + NL + "\t\t\t\t\t\t }"
+ + NL + "\t\t\t\t\t });" + NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// Open an editor on the new file." + NL
+ + "\t\t\t//" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL + "\t\t\t\tpage.openEditor" + NL
+ + "\t\t\t\t\t(new FileEditorInput(modelFile)," + NL
+ + "\t\t\t\t\t workbench.getEditorRegistry().getDefaultEditor";
+ protected final String TEXT_118 = "(modelFile.getFullPath().toString()).getId());";
+ protected final String TEXT_119 = NL + "\t\t\t\t\t \t(modelFile.getFullPath().toString()," + NL + "\t\t\t\t\t \t ";
+ protected final String TEXT_120 = ".getContentTypeManager().getContentType(";
+ protected final String TEXT_121 = ".eCONTENT_TYPE)).getId());";
+ protected final String TEXT_122 = "\t\t\t\t\t \t " + NL + "\t\t\t}" + NL + "\t\t\tcatch (";
+ protected final String TEXT_123 = " exception)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tMessageDialog.openError(workbenchWindow.getShell(), ";
+ protected final String TEXT_124 = ".INSTANCE.getString(\"_UI_OpenEditorError_label\"), exception.getMessage());";
+ protected final String TEXT_125 = NL + "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL
+ + "\t\t\treturn true;";
+ protected final String TEXT_126 = NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL
+ + "\t\t\t";
+ protected final String TEXT_127 = ".INSTANCE.log(exception);" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL
+ + "\t}" + NL;
+ protected final String TEXT_128 = NL + "\t/**" + NL + "\t * This is the one page of the wizard." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic class ";
+ protected final String TEXT_129 = "NewFileCreationPage extends WizardNewFileCreationPage" + NL + "\t{" + NL
+ + "\t\t/**" + NL + "\t\t * Pass in the selection." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";
+ protected final String TEXT_130 = "NewFileCreationPage(String pageId, IStructuredSelection selection)" + NL
+ + "\t\t{" + NL + "\t\t\tsuper(pageId, selection);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+ + "\t\t * The framework calls this to see if the file is correct." + NL + "\t\t * <!-- begin-user-doc -->"
+ + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
+ protected final String TEXT_131 = NL + "\t\t@Override";
+ protected final String TEXT_132 = NL + "\t\tprotected boolean validatePage()" + NL + "\t\t{" + NL
+ + "\t\t\tif (super.validatePage())" + NL + "\t\t\t{" + NL + "\t\t\t\tString extension = new ";
+ protected final String TEXT_133 = "(getFileName()).getFileExtension();" + NL
+ + "\t\t\t\tif (extension == null || !FILE_EXTENSIONS.contains(extension))" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tString key = FILE_EXTENSIONS.size() > 1 ? \"_WARN_FilenameExtensions\" : \"_WARN_FilenameExtension\";";
+ protected final String TEXT_134 = NL + "\t\t\t\t\tsetErrorMessage(";
+ protected final String TEXT_135 = ".INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));" + NL
+ + "\t\t\t\t\treturn false;" + NL + "\t\t\t\t}" + NL + "\t\t\t\treturn true;" + NL + "\t\t\t}" + NL
+ + "\t\t\treturn false;" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
+ + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+ + "\t\tpublic IFile getModelFile()" + NL + "\t\t{" + NL
+ + "\t\t\treturn ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));"
+ + NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_136 = NL + "\t/**" + NL
+ + "\t * This is the page where the type of object to create is selected." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic class ";
+ protected final String TEXT_137 = "InitialObjectCreationPage extends WizardPage" + NL + "\t{";
+ protected final String TEXT_138 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+ protected final String TEXT_139 = " fileField;" + NL;
+ protected final String TEXT_140 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+ + "\t\tprotected Combo initialObjectField;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * @generated" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t */" + NL
+ + "\t\tprotected ";
+ protected final String TEXT_141 = " encodings;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
+ + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+ + "\t\tprotected Combo encodingField;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * Pass in the selection."
+ + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"
+ + NL + "\t\t */" + NL + "\t\tpublic ";
+ protected final String TEXT_142 = "InitialObjectCreationPage(String pageId)" + NL + "\t\t{" + NL
+ + "\t\t\tsuper(pageId);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
+ + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
+ protected final String TEXT_143 = NL + "\t\tpublic void createControl(Composite parent)" + NL + "\t\t{" + NL
+ + "\t\t\tComposite composite = new Composite(parent, SWT.NONE);" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tGridLayout layout = new GridLayout();" + NL + "\t\t\t\tlayout.numColumns = 1;" + NL
+ + "\t\t\t\tlayout.verticalSpacing = 12;" + NL + "\t\t\t\tcomposite.setLayout(layout);" + NL + "" + NL
+ + "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.verticalAlignment = GridData.FILL;" + NL
+ + "\t\t\t\tdata.grabExcessVerticalSpace = true;" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;"
+ + NL + "\t\t\t\tcomposite.setLayoutData(data);" + NL + "\t\t\t}" + NL;
+ protected final String TEXT_144 = "\t\t\t" + NL + "\t\t\tLabel resourceURILabel = new Label(composite, SWT.LEFT);"
+ + NL + "\t\t\t{" + NL + "\t\t\t\tresourceURILabel.setText(";
+ protected final String TEXT_145 = ".INSTANCE.getString(\"_UI_File_label\"));";
+ protected final String TEXT_146 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL
+ + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tresourceURILabel.setLayoutData(data);"
+ + NL + "\t\t\t}" + NL + "" + NL + "\t\t\tComposite fileComposite = new Composite(composite, SWT.NONE);" + NL
+ + "\t\t\t{" + NL + "\t\t\t\tGridData data = new GridData();" + NL
+ + "\t\t\t\tdata.horizontalAlignment = GridData.END;" + NL + "\t\t\t\tfileComposite.setLayoutData(data);"
+ + NL + "" + NL + "\t\t\t\tGridLayout layout = new GridLayout();" + NL
+ + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tlayout.marginHeight = 0;" + NL
+ + "\t\t\t\tlayout.marginWidth = 0;" + NL + "\t\t\t\tlayout.numColumns = 2;" + NL
+ + "\t\t\t\tfileComposite.setLayout(layout);" + NL + "\t\t\t}" + NL + "" + NL + "\t\t\tfileField = new ";
+ protected final String TEXT_147 = "(fileComposite, SWT.BORDER);" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL
+ + "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tdata.horizontalSpan = 1;" + NL
+ + "\t\t\t\tfileField.setLayoutData(data);" + NL + "\t\t\t}" + NL + "" + NL
+ + "\t\t\tfileField.addModifyListener(validator);" + NL;
+ protected final String TEXT_148 = NL + "\t\t\t";
+ protected final String TEXT_149 = " resourceURIBrowseFileSystemButton = new ";
+ protected final String TEXT_150 = "(fileComposite, SWT.PUSH);" + NL
+ + "\t\t\tresourceURIBrowseFileSystemButton.setText(";
+ protected final String TEXT_151 = ".INSTANCE.getString(\"_UI_Browse_label\"));";
+ protected final String TEXT_152 = NL + NL + "\t\t\tresourceURIBrowseFileSystemButton.addSelectionListener" + NL
+ + "\t\t\t\t(new ";
+ protected final String TEXT_153 = "()" + NL + "\t\t\t\t {";
+ protected final String TEXT_154 = NL + "\t\t\t\t\t @Override";
+ protected final String TEXT_155 = NL + "\t\t\t\t\t public void widgetSelected(";
+ protected final String TEXT_156 = " event)" + NL + "\t\t\t\t\t {" + NL + "\t\t\t\t\t\t String[] filters = ";
+ protected final String TEXT_157 = "(String[])";
+ protected final String TEXT_158 = ".FILE_EXTENSION_FILTERS.toArray(new String[";
+ protected final String TEXT_159 = ".FILE_EXTENSION_FILTERS.size()]);" + NL + "\t\t\t\t\t\t String[] files = ";
+ protected final String TEXT_160 = ".openFilePathDialog(getShell(), ";
+ protected final String TEXT_161 = ".SAVE, filters);" + NL + "\t\t\t\t\t\t if (files.length > 0)" + NL
+ + "\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t fileField.setText(files[0]);" + NL + "\t\t\t\t\t\t }" + NL
+ + "\t\t\t\t\t }" + NL + "\t\t\t\t });";
+ protected final String TEXT_162 = NL + "\t\t\tLabel containerLabel = new Label(composite, SWT.LEFT);" + NL
+ + "\t\t\t{" + NL + "\t\t\t\tcontainerLabel.setText(";
+ protected final String TEXT_163 = ".INSTANCE.getString(\"_UI_ModelObject\"));";
+ protected final String TEXT_164 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL
+ + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tcontainerLabel.setLayoutData(data);"
+ + NL + "\t\t\t}" + NL + "" + NL + "\t\t\tinitialObjectField = new Combo(composite, SWT.BORDER);" + NL
+ + "\t\t\t{" + NL + "\t\t\t\tGridData data = new GridData();" + NL
+ + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL
+ + "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tinitialObjectField.setLayoutData(data);"
+ + NL + "\t\t\t}" + NL;
+ protected final String TEXT_165 = NL + "\t\t\tfor (String objectName : getInitialObjectNames())" + NL + "\t\t\t{"
+ + NL + "\t\t\t\tinitialObjectField.add(getLabel(objectName));" + NL + "\t\t\t}";
+ protected final String TEXT_166 = NL + "\t\t\tfor (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )"
+ + NL + "\t\t\t{" + NL + "\t\t\t\tinitialObjectField.add(getLabel((String)i.next()));" + NL + "\t\t\t}";
+ protected final String TEXT_167 = NL + NL + "\t\t\tif (initialObjectField.getItemCount() == 1)" + NL + "\t\t\t{"
+ + NL + "\t\t\t\tinitialObjectField.select(0);" + NL + "\t\t\t}" + NL
+ + "\t\t\tinitialObjectField.addModifyListener(validator);" + NL + "" + NL
+ + "\t\t\tLabel encodingLabel = new Label(composite, SWT.LEFT);" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tencodingLabel.setText(";
+ protected final String TEXT_168 = ".INSTANCE.getString(\"_UI_XMLEncoding\"));";
+ protected final String TEXT_169 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL
+ + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tencodingLabel.setLayoutData(data);"
+ + NL + "\t\t\t}" + NL + "\t\t\tencodingField = new Combo(composite, SWT.BORDER);" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL
+ + "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tencodingField.setLayoutData(data);" + NL
+ + "\t\t\t}" + NL;
+ protected final String TEXT_170 = NL + "\t\t\tfor (String encoding : getEncodings())" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tencodingField.add(encoding);" + NL + "\t\t\t}";
+ protected final String TEXT_171 = NL + "\t\t\tfor (Iterator i = getEncodings().iterator(); i.hasNext(); )" + NL
+ + "\t\t\t{" + NL + "\t\t\t\tencodingField.add((String)i.next());" + NL + "\t\t\t}";
+ protected final String TEXT_172 = NL + NL + "\t\t\tencodingField.select(0);" + NL
+ + "\t\t\tencodingField.addModifyListener(validator);" + NL + "" + NL
+ + "\t\t\tsetPageComplete(validatePage());" + NL + "\t\t\tsetControl(composite);" + NL + "\t\t}" + NL + ""
+ + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+ + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ModifyListener validator =" + NL
+ + "\t\t\tnew ModifyListener()" + NL + "\t\t\t{";
+ protected final String TEXT_173 = NL + "\t\t\t\tpublic void modifyText(ModifyEvent e)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tsetPageComplete(validatePage());" + NL + "\t\t\t\t}" + NL + "\t\t\t};" + NL + "" + NL
+ + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+ + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected boolean validatePage()" + NL + "\t\t{";
+ protected final String TEXT_174 = NL + "\t\t\tURI fileURI = getFileURI();" + NL
+ + "\t\t\tif (fileURI == null || fileURI.isEmpty())" + NL + "\t\t\t{" + NL + "\t\t\t\tsetErrorMessage(null);"
+ + NL + "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL
+ + "\t\t\tString extension = fileURI.fileExtension();" + NL
+ + "\t\t\tif (extension == null || !FILE_EXTENSIONS.contains(extension))" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tString key = FILE_EXTENSIONS.size() > 1 ? \"_WARN_FilenameExtensions\" : \"_WARN_FilenameExtension\";";
+ protected final String TEXT_175 = NL + "\t\t\t\tsetErrorMessage(";
+ protected final String TEXT_176 = ".INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));" + NL
+ + "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL + "\t\t\tsetErrorMessage(null);";
+ protected final String TEXT_177 = NL
+ + "\t\t\treturn getInitialObjectName() != null && getEncodings().contains(encodingField.getText());" + NL
+ + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
+ protected final String TEXT_178 = NL + "\t\tpublic void setVisible(boolean visible)" + NL + "\t\t{" + NL
+ + "\t\t\tsuper.setVisible(visible);" + NL + "\t\t\tif (visible)" + NL + "\t\t\t{";
+ protected final String TEXT_179 = NL + "\t\t\t\tif (initialObjectField.getItemCount() == 1)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tinitialObjectField.clearSelection();" + NL + "\t\t\t\t\tencodingField.setFocus();" + NL
+ + "\t\t\t\t}" + NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tencodingField.clearSelection();"
+ + NL + "\t\t\t\t\tinitialObjectField.setFocus();" + NL + "\t\t\t\t}";
+ protected final String TEXT_180 = NL + "\t\t\t\tinitialObjectField.clearSelection();" + NL
+ + "\t\t\t\tencodingField.clearSelection();" + NL + "\t\t\t\tfileField.setFocus();";
+ protected final String TEXT_181 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tpublic String getInitialObjectName()" + NL + "\t\t{" + NL
+ + "\t\t\tString label = initialObjectField.getText();" + NL;
+ protected final String TEXT_182 = NL + "\t\t\tfor (String name : getInitialObjectNames())";
+ protected final String TEXT_183 = NL + "\t\t\tfor (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )";
+ protected final String TEXT_184 = NL + "\t\t\t\tString name = (String)i.next();";
+ protected final String TEXT_185 = NL + "\t\t\t\tif (getLabel(name).equals(label))" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\treturn name;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\treturn null;" + NL + "\t\t}"
+ + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->"
+ + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic String getEncoding()" + NL + "\t\t{" + NL
+ + "\t\t\treturn encodingField.getText();" + NL + "\t\t}";
+ protected final String TEXT_186 = NL + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+ + "\t\tpublic URI getFileURI()" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL
+ + "\t\t\t\treturn URI.createFileURI(fileField.getText());" + NL + "\t\t\t}" + NL
+ + "\t\t\tcatch (Exception exception)" + NL + "\t\t\t{" + NL + "\t\t\t\t// Ignore" + NL + "\t\t\t}" + NL
+ + "\t\t\treturn null;" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
+ + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+ + "\t\tpublic void selectFileField()" + NL + "\t\t{" + NL + "\t\t\t\tinitialObjectField.clearSelection();"
+ + NL + "\t\t\t\tencodingField.clearSelection();" + NL + "\t\t\t\tfileField.selectAll();" + NL
+ + "\t\t\t\tfileField.setFocus();" + NL + "\t\t}\t\t";
+ protected final String TEXT_187 = NL + NL + "\t\t/**" + NL + "\t\t * Returns the label for the specified ";
+ protected final String TEXT_188 = " name." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+ + "\t\tprotected String getLabel(String ";
+ protected final String TEXT_189 = "Name)" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL
+ + "\t\t\t\treturn ";
+ protected final String TEXT_190 = ".INSTANCE.getString(\"";
+ protected final String TEXT_191 = "\" + ";
+ protected final String TEXT_192 = "Name + \"_";
+ protected final String TEXT_193 = "\");";
+ protected final String TEXT_194 = NL + "\t\t\t}" + NL + "\t\t\tcatch(MissingResourceException mre)" + NL + "\t\t\t{"
+ + NL + "\t\t\t\t";
+ protected final String TEXT_195 = ".INSTANCE.log(mre);" + NL + "\t\t\t}" + NL + "\t\t\treturn ";
+ protected final String TEXT_196 = "Name;" + NL + "\t\t}";
+ protected final String TEXT_197 = NL + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+ protected final String TEXT_198 = " getEncodings()" + NL + "\t\t{" + NL + "\t\t\tif (encodings == null)" + NL
+ + "\t\t\t{" + NL + "\t\t\t\tencodings = new ";
+ protected final String TEXT_199 = "();" + NL
+ + "\t\t\t\tfor (StringTokenizer stringTokenizer = new StringTokenizer(";
+ protected final String TEXT_200 = ".INSTANCE.getString(\"_UI_XMLEncodingChoices\")); stringTokenizer.hasMoreTokens(); )";
+ protected final String TEXT_201 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tencodings.add(stringTokenizer.nextToken());"
+ + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\treturn encodings;" + NL + "\t\t}" + NL + "\t}" + NL + ""
+ + NL + "\t/**" + NL + "\t * The framework calls this to create the contents of the wizard." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_202 = NL + "\tpublic void addPages()" + NL + "\t{";
+ protected final String TEXT_203 = NL + "\t\t// Create a page, set the title, and the initial model file name." + NL
+ + "\t\t//" + NL + "\t\tnewFileCreationPage = new ";
+ protected final String TEXT_204 = "NewFileCreationPage(\"Whatever\", selection);";
+ protected final String TEXT_205 = NL + "\t\tnewFileCreationPage.setTitle(";
+ protected final String TEXT_206 = "_label\"));";
+ protected final String TEXT_207 = NL + "\t\tnewFileCreationPage.setDescription(";
+ protected final String TEXT_208 = "_description\"));";
+ protected final String TEXT_209 = NL + "\t\tnewFileCreationPage.setFileName(";
+ protected final String TEXT_210 = "FilenameDefaultBase\") + \".\" + ";
+ protected final String TEXT_211 = "(String)";
+ protected final String TEXT_212 = "FILE_EXTENSIONS.get(0));";
+ protected final String TEXT_213 = NL + "\t\taddPage(newFileCreationPage);" + NL + "" + NL
+ + "\t\t// Try and get the resource selection to determine a current directory for the file dialog." + NL
+ + "\t\t//" + NL + "\t\tif (selection != null && !selection.isEmpty())" + NL + "\t\t{" + NL
+ + "\t\t\t// Get the resource..." + NL + "\t\t\t//" + NL
+ + "\t\t\tObject selectedElement = selection.iterator().next();" + NL
+ + "\t\t\tif (selectedElement instanceof IResource)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Get the resource parent, if its a file." + NL + "\t\t\t\t//" + NL
+ + "\t\t\t\tIResource selectedResource = (IResource)selectedElement;" + NL
+ + "\t\t\t\tif (selectedResource.getType() == IResource.FILE)" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tselectedResource = selectedResource.getParent();" + NL + "\t\t\t\t}" + NL + "" + NL
+ + "\t\t\t\t// This gives us a directory..." + NL + "\t\t\t\t//" + NL
+ + "\t\t\t\tif (selectedResource instanceof IFolder || selectedResource instanceof IProject)" + NL
+ + "\t\t\t\t{" + NL + "\t\t\t\t\t// Set this for the container." + NL + "\t\t\t\t\t//" + NL
+ + "\t\t\t\t\tnewFileCreationPage.setContainerFullPath(selectedResource.getFullPath());" + NL + "" + NL
+ + "\t\t\t\t\t// Make up a unique new name here." + NL + "\t\t\t\t\t//" + NL
+ + "\t\t\t\t\tString defaultModelBaseFilename = ";
+ protected final String TEXT_214 = "FilenameDefaultBase\");";
+ protected final String TEXT_215 = NL + "\t\t\t\t\tString defaultModelFilenameExtension = ";
+ protected final String TEXT_216 = "FILE_EXTENSIONS.get(0);" + NL
+ + "\t\t\t\t\tString modelFilename = defaultModelBaseFilename + \".\" + defaultModelFilenameExtension;";
+ protected final String TEXT_217 = NL
+ + "\t\t\t\t\tfor (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i)" + NL
+ + "\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\tmodelFilename = defaultModelBaseFilename + i + \".\" + defaultModelFilenameExtension;";
+ protected final String TEXT_218 = NL + "\t\t\t\t\t}" + NL
+ + "\t\t\t\t\tnewFileCreationPage.setFileName(modelFilename);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL
+ + "\t\t}";
+ protected final String TEXT_219 = NL + "\t\tinitialObjectCreationPage = new ";
+ protected final String TEXT_220 = "InitialObjectCreationPage(\"Whatever2\");";
+ protected final String TEXT_221 = NL + "\t\tinitialObjectCreationPage.setTitle(";
+ protected final String TEXT_222 = NL + "\t\tinitialObjectCreationPage.setDescription(";
+ protected final String TEXT_223 = ".INSTANCE.getString(\"_UI_Wizard_initial_object_description\"));";
+ protected final String TEXT_224 = NL + "\t\taddPage(initialObjectCreationPage);" + NL + "\t}" + NL;
+ protected final String TEXT_225 = NL + "\t/**" + NL + "\t * Get the URI from the page." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic URI getModelURI()" + NL + "\t{" + NL + "\t\treturn initialObjectCreationPage.getFileURI();"
+ + NL + "\t}" + NL;
+ protected final String TEXT_226 = NL + "\t/**" + NL + "\t * Get the file from the page." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic IFile getModelFile()" + NL + "\t{" + NL + "\t\treturn newFileCreationPage.getModelFile();"
+ + NL + "\t}" + NL;
+ protected final String TEXT_227 = NL + "}";
+ protected final String TEXT_228 = NL;
+
+ public ModelWizard() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_228);
+ stringBuffer.append(TEXT_228);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getEditorDirectory();
+ packageName = genPackage.getPresentationPackageName();
+ className = genPackage.getModelWizardClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ String _ListOfString = "List"
+ + (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");
+ String _ArrayListOfString = "ArrayList"
+ + (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");
+ String _CollectionOfString = "Collection"
+ + (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");
+ String _MapOfObjectToObject = "Map"
+ + (genModel.useGenerics()
+ ? "<" + genModel.getImportedName("java.lang.Object") + ", "
+ + genModel.getImportedName("java.lang.Object") + ">"
+ : "");
+ String _HashMapOfObjectToObject = "HashMap"
+ + (genModel.useGenerics()
+ ? "<" + genModel.getImportedName("java.lang.Object") + ", "
+ + genModel.getImportedName("java.lang.Object") + ">"
+ : "");
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getPresentationPackageName());
+ stringBuffer.append(TEXT_3);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_4);
+ }
+ stringBuffer.append(TEXT_5);
+ if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_7);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_10);
+ }
+ if (!genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName());
+ stringBuffer.append(TEXT_12);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genPackage.getQualifiedEditPluginClassName());
+ stringBuffer.append(TEXT_14);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_15);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_17);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_20);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(_ListOfString);
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(genModel.getNonNLS(3));
+ stringBuffer.append(TEXT_30);
+ stringBuffer
+ .append(genModel.isSuppressEMFMetaData() ? genModel.getImportedName("org.eclipse.emf.ecore.EPackage")
+ : genPackage.getPackageInterfaceName());
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getUncapPackageName());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genPackage.getPackageInterfaceName());
+ stringBuffer.append(TEXT_33);
+ stringBuffer
+ .append(genModel.isSuppressEMFMetaData() ? genModel.getImportedName("org.eclipse.emf.ecore.EFactory")
+ : genPackage.getFactoryInterfaceName());
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getUncapFactoryName());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genPackage.getUncapPackageName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genModel.isSuppressEMFMetaData() ? "EFactoryInstance" : genPackage.getFactoryName());
+ stringBuffer.append(TEXT_35);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_37);
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_39);
+ if (!genPackage.hasDocumentRoot()) {
+ stringBuffer.append(TEXT_40);
+ } else {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(_ListOfString);
+ stringBuffer.append(TEXT_43);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_44);
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_50);
+ if (!genPackage.hasDocumentRoot()) {
+ stringBuffer.append(TEXT_51);
+ } else {
+ stringBuffer.append(TEXT_52);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(_CollectionOfString);
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(_ArrayListOfString);
+ stringBuffer.append(TEXT_54);
+ if (!genPackage.hasDocumentRoot()) {
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genPackage.getUncapPackageName());
+ stringBuffer.append(TEXT_56);
+ } else {
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genPackage.getUncapPackageName());
+ stringBuffer.append(TEXT_58);
+ }
+ stringBuffer.append(TEXT_59);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_60);
+ }
+ stringBuffer.append(TEXT_61);
+ } else {
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genPackage.getUncapPackageName());
+ stringBuffer.append(TEXT_66);
+ } else {
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genPackage.getUncapPackageName());
+ stringBuffer.append(TEXT_68);
+ }
+ stringBuffer.append(TEXT_59);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_73);
+ if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_74);
+ } else {
+ stringBuffer.append(TEXT_75);
+ }
+ stringBuffer.append(TEXT_76);
+ if (!genPackage.hasDocumentRoot()) {
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genPackage.getUncapPackageName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genPackage.getUncapFactoryName());
+ stringBuffer.append(TEXT_79);
+ } else {
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genPackage.getUncapPackageName());
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genPackage.getUncapFactoryName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_84);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_44);
+ }
+ stringBuffer.append(TEXT_85);
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genModel.getImportedName("java.io.File"));
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress"));
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress"));
+ stringBuffer.append(TEXT_93);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_94);
+ }
+ stringBuffer.append(TEXT_95);
+ } else {
+ stringBuffer.append(TEXT_96);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_97);
+ }
+ stringBuffer.append(TEXT_98);
+ }
+ stringBuffer.append(TEXT_99);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_100);
+ }
+ stringBuffer.append(TEXT_101);
+ if (genPackage.isContentType()) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_103);
+ }
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(_MapOfObjectToObject);
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(_HashMapOfObjectToObject);
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_107);
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));
+ stringBuffer.append(TEXT_109);
+ } else {
+ stringBuffer.append(TEXT_110);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchWindow"));
+ stringBuffer.append(TEXT_111);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchPage"));
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchPart"));
+ stringBuffer.append(TEXT_113);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));
+ stringBuffer.append(TEXT_114);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection"));
+ stringBuffer.append(TEXT_115);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_116);
+ }
+ stringBuffer.append(TEXT_117);
+ if (!genPackage.isContentType()) {
+ stringBuffer.append(TEXT_118);
+ } else {
+ stringBuffer.append(TEXT_119);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.Platform"));
+ stringBuffer.append(TEXT_120);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_121);
+ }
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.ui.PartInitException"));
+ stringBuffer.append(TEXT_123);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_124);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_125);
+ }
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_127);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_128);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_129);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_130);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_131);
+ }
+ stringBuffer.append(TEXT_132);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.Path"));
+ stringBuffer.append(TEXT_133);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_134);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_135);
+ }
+ stringBuffer.append(TEXT_136);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_137);
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Text"));
+ stringBuffer.append(TEXT_139);
+ }
+ stringBuffer.append(TEXT_140);
+ stringBuffer.append(_ListOfString);
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_142);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_131);
+ }
+ stringBuffer.append(TEXT_143);
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_144);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_145);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Text"));
+ stringBuffer.append(TEXT_147);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Button"));
+ stringBuffer.append(TEXT_149);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Button"));
+ stringBuffer.append(TEXT_150);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_151);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_152);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.swt.events.SelectionAdapter"));
+ stringBuffer.append(TEXT_153);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_154);
+ }
+ stringBuffer.append(TEXT_155);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.swt.events.SelectionEvent"));
+ stringBuffer.append(TEXT_156);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_157);
+ }
+ stringBuffer.append(genPackage.getImportedEditorClassName());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genPackage.getImportedEditorClassName());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));
+ stringBuffer.append(TEXT_160);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.swt.SWT"));
+ stringBuffer.append(TEXT_161);
+ }
+ }
+ stringBuffer.append(TEXT_162);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_163);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_164);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_165);
+ } else {
+ stringBuffer.append(TEXT_166);
+ }
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_169);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_170);
+ } else {
+ stringBuffer.append(TEXT_171);
+ }
+ stringBuffer.append(TEXT_172);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_94);
+ }
+ stringBuffer.append(TEXT_173);
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_174);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_176);
+ }
+ stringBuffer.append(TEXT_177);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_131);
+ }
+ stringBuffer.append(TEXT_178);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_179);
+ } else {
+ stringBuffer.append(TEXT_180);
+ }
+ stringBuffer.append(TEXT_181);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_182);
+ } else {
+ stringBuffer.append(TEXT_183);
+ }
+ stringBuffer.append(TEXT_59);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_184);
+ }
+ stringBuffer.append(TEXT_185);
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_186);
+ }
+ {
+ String type = genPackage.hasDocumentRoot() ? "feature" : "type";
+ String prefix = genPackage.hasDocumentRoot() ? "_UI_DocumentRoot_" : "_UI_";
+ stringBuffer.append(TEXT_187);
+ stringBuffer.append(type);
+ stringBuffer.append(TEXT_188);
+ stringBuffer.append(type);
+ stringBuffer.append(TEXT_189);
+ stringBuffer.append(genPackage.getEditPluginClassName());
+ stringBuffer.append(TEXT_190);
+ stringBuffer.append(prefix);
+ stringBuffer.append(TEXT_191);
+ stringBuffer.append(type);
+ stringBuffer.append(TEXT_192);
+ stringBuffer.append(type);
+ stringBuffer.append(TEXT_193);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_194);
+ stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorPluginClassName()));
+ stringBuffer.append(TEXT_195);
+ stringBuffer.append(type);
+ stringBuffer.append(TEXT_196);
+ }
+ stringBuffer.append(TEXT_197);
+ stringBuffer.append(_CollectionOfString);
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(_ArrayListOfString);
+ stringBuffer.append(TEXT_199);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_200);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_201);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_131);
+ }
+ stringBuffer.append(TEXT_202);
+ if (!genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_203);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_204);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_207);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_208);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_209);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_210);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_211);
+ }
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_213);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_215);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_211);
+ }
+ stringBuffer.append(TEXT_216);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_217);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_218);
+ }
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+ stringBuffer.append(TEXT_223);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_224);
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_225);
+ } else {
+ stringBuffer.append(TEXT_226);
+ }
+ stringBuffer.append(TEXT_227);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_23);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genPackage.hasConcreteClasses() && genPackage.isGenerateModelWizard()
+ && genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java
new file mode 100644
index 000000000..e9962c3d4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java
@@ -0,0 +1,134 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModelWizardIcon extends org.eclipse.egf.emf.pattern.base.GenPackageGIF {
+ protected static String nl;
+
+ public static synchronized ModelWizardIcon create(String lineSeparator) {
+ nl = lineSeparator;
+ ModelWizardIcon result = new ModelWizardIcon();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ModelWizardIcon() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ if (genPackage.hasConcreteClasses() && genPackage.isGenerateModelWizard()) {
+ new CodegenGeneratorAdapter(parameter).generateGIF("editor/NewModel.gif",
+ genPackage.getModelWizardIconFileName(), genPackage.getPrefix(), null, false);
+ } else {
+ }
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java
new file mode 100644
index 000000000..ce3239ca9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java
@@ -0,0 +1,207 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModuleGWTXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized ModuleGWTXML create(String lineSeparator) {
+ nl = lineSeparator;
+ ModuleGWTXML result = new ModuleGWTXML();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL
+ + "<!DOCTYPE module PUBLIC \"-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN\" \"http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd\">"
+ + NL;
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + NL + "<module>" + NL
+ + " <inherits name='com.google.gwt.user.theme.standard.Standard'/>";
+ protected final String TEXT_4 = NL + " <inherits name=\"";
+ protected final String TEXT_5 = "\" />";
+ protected final String TEXT_6 = NL + NL + " <entry-point class='";
+ protected final String TEXT_7 = "'/>" + NL;
+ protected final String TEXT_8 = NL + " <source path=\"";
+ protected final String TEXT_9 = "\"/>";
+ protected final String TEXT_10 = NL + "</module>" + NL;
+ protected final String TEXT_11 = NL;
+
+ public ModuleGWTXML() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(TEXT_11);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditorDirectory() + "/" + genModel.getQualifiedEditorModuleName().replace(".", "/")
+ + ".gwt.xml";
+ overwrite = false;
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_3);
+ for (String inherits : genModel.getEditorModuleInherits()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(inherits);
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getQualifiedEditorEntryPointClassName());
+ stringBuffer.append(TEXT_7);
+ for (String source : genModel.getEditorModuleSources()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(source);
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java
new file mode 100644
index 000000000..1ee26e25d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java
@@ -0,0 +1,313 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Plugin extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+ protected static String nl;
+
+ public static synchronized Plugin create(String lineSeparator) {
+ nl = lineSeparator;
+ Plugin result = new Plugin();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the central singleton for the ";
+ protected final String TEXT_5 = " editor plugin." + NL + " * <!-- begin-user-doc -->" + NL
+ + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * ";
+ protected final String TEXT_7 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_8 = NL + "@Deprecated";
+ protected final String TEXT_9 = NL + "public final class ";
+ protected final String TEXT_10 = " extends EMFPlugin" + NL + "{";
+ protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_12 = " copyright = ";
+ protected final String TEXT_13 = ";";
+ protected final String TEXT_14 = NL + "\t";
+ protected final String TEXT_15 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static final ";
+ protected final String TEXT_16 = " INSTANCE = new ";
+ protected final String TEXT_17 = "();" + NL + "\t";
+ protected final String TEXT_18 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprivate static Implementation plugin;" + NL;
+ protected final String TEXT_19 = NL + "\t/**" + NL + "\t * Create the instance." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic ";
+ protected final String TEXT_20 = "()" + NL + "\t{" + NL + "\t\tsuper" + NL + "\t\t\t(new ResourceLocator [] " + NL
+ + "\t\t\t{";
+ protected final String TEXT_21 = NL + "\t\t\t\t";
+ protected final String TEXT_22 = ".INSTANCE,";
+ protected final String TEXT_23 = NL + "\t\t\t});" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Returns the singleton instance of the Eclipse plugin." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the singleton instance." + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_24 = NL + "\t@Override";
+ protected final String TEXT_25 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";
+ protected final String TEXT_26 = NL + "\t\treturn null;";
+ protected final String TEXT_27 = NL + "\t\treturn plugin;";
+ protected final String TEXT_28 = NL + "\t}" + NL + "\t";
+ protected final String TEXT_29 = NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static Implementation getPlugin()" + NL + "\t{" + NL + "\t\treturn plugin;" + NL + "\t}" + NL
+ + "\t" + NL + "\t/**" + NL + "\t * The actual implementation of the Eclipse <b>Plugin</b>." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static class Implementation extends ";
+ protected final String TEXT_30 = NL + "\t{" + NL + "\t\t/**" + NL + "\t\t * Creates an instance." + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->";
+ protected final String TEXT_31 = NL + "\t\t * @param descriptor the description of the plugin.";
+ protected final String TEXT_32 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";
+ protected final String TEXT_33 = " descriptor";
+ protected final String TEXT_34 = ")" + NL + "\t\t{" + NL + "\t\t\tsuper(";
+ protected final String TEXT_35 = "descriptor";
+ protected final String TEXT_36 = ");" + NL + "\t" + NL + "\t\t\t// Remember the static instance." + NL + "\t\t\t//"
+ + NL + "\t\t\tplugin = this;" + NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_37 = NL + "}";
+ protected final String TEXT_38 = NL;
+ protected final String TEXT_39 = NL;
+
+ public Plugin() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(TEXT_39);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPath = genModel.getEditorPluginDirectory();
+ packageName = genModel.getEditorPluginPackageName();
+ className = genModel.getEditorPluginClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getEditorPluginPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.addImport("org.eclipse.emf.common.EMFPlugin");
+ genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_5);
+ if (genModel.hasAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (isJDK50 && genModel.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getEditorPluginClassName());
+ stringBuffer.append(TEXT_10);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getEditorPluginClassName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genModel.getEditorPluginClassName());
+ stringBuffer.append(TEXT_17);
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getEditorPluginClassName());
+ stringBuffer.append(TEXT_20);
+ for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(pluginClassName);
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_24);
+ }
+ stringBuffer.append(TEXT_25);
+ if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_26);
+ } else {
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_28);
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.EclipseUIPlugin"));
+ stringBuffer.append(TEXT_30);
+ if (genModel.needsRuntimeCompatibility()) {
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_32);
+ if (genModel.needsRuntimeCompatibility()) {
+ stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));
+ stringBuffer.append(TEXT_33);
+ }
+ stringBuffer.append(TEXT_34);
+ if (genModel.needsRuntimeCompatibility()) {
+ stringBuffer.append(TEXT_35);
+ }
+ stringBuffer.append(TEXT_36);
+ }
+ stringBuffer.append(TEXT_37);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_38);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && true;
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java
new file mode 100644
index 000000000..e03317b92
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java
@@ -0,0 +1,318 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {
+ protected static String nl;
+
+ public static synchronized PluginProperties create(String lineSeparator) {
+ nl = lineSeparator;
+ PluginProperties result = new PluginProperties();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + NL + "pluginName = ";
+ protected final String TEXT_3 = NL + "providerName = ";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "_UI_";
+ protected final String TEXT_6 = "_menu = &";
+ protected final String TEXT_7 = " Editor";
+ protected final String TEXT_8 = NL + "_UI_CreateChild_menu_item = &New Child" + NL
+ + "_UI_CreateSibling_menu_item = N&ew Sibling" + NL;
+ protected final String TEXT_9 = NL + "_UI_ShowPropertiesView_menu_item = Show &Properties View" + NL
+ + "_UI_RefreshViewer_menu_item = &Refresh" + NL + "" + NL + "_UI_SelectionPage_label = Selection";
+ protected final String TEXT_10 = NL + "_UI_ParentPage_label = Parent" + NL + "_UI_ListPage_label = List" + NL
+ + "_UI_TreePage_label = Tree" + NL + "_UI_TablePage_label = Table" + NL
+ + "_UI_TreeWithColumnsPage_label = Tree with Columns" + NL + "_UI_ObjectColumn_label = Object" + NL
+ + "_UI_SelfColumn_label = Self";
+ protected final String TEXT_11 = NL + NL + "_UI_NoObjectSelected = Selected Nothing" + NL
+ + "_UI_SingleObjectSelected = Selected Object: {0}" + NL + "_UI_MultiObjectSelected = Selected {0} Objects"
+ + NL + "" + NL + "_UI_OpenEditorError_label = Open Editor" + NL + "" + NL
+ + "_UI_Wizard_category = Example EMF Model Creation Wizards" + NL + "" + NL
+ + "_UI_CreateModelError_message = Problems encountered in file \"{0}\"" + NL;
+ protected final String TEXT_12 = "_label = ";
+ protected final String TEXT_13 = " Model" + NL + "_UI_";
+ protected final String TEXT_14 = "_description = Create a new ";
+ protected final String TEXT_15 = " model" + NL;
+ protected final String TEXT_16 = " Model Editor" + NL + "" + NL + "_UI_";
+ protected final String TEXT_17 = "FilenameDefaultBase = My" + NL + "_UI_";
+ protected final String TEXT_18 = "FilenameExtensions = ";
+ protected final String TEXT_19 = NL + "_UI_Wizard_label = New" + NL + "" + NL
+ + "_WARN_FilenameExtension = The file name must end in ''.{0}''" + NL
+ + "_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}" + NL + "" + NL
+ + "_UI_ModelObject = &Model Object" + NL + "_UI_XMLEncoding = &XML Encoding" + NL
+ + "_UI_XMLEncodingChoices = ";
+ protected final String TEXT_20 = NL
+ + "_UI_Wizard_initial_object_description = Specify a file name and select a model object to create";
+ protected final String TEXT_21 = NL + "_UI_Wizard_initial_object_description = Select a model object to create";
+ protected final String TEXT_22 = NL + NL + "_UI_FileConflict_label = File Conflict" + NL
+ + "_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes?"
+ + NL;
+ protected final String TEXT_23 = "_ActionSet_label = ";
+ protected final String TEXT_24 = " Action Set" + NL + "_UI_Perspective_label = ";
+ protected final String TEXT_25 = NL + NL + "_UI_Browse_label = &Browse..." + NL + "_UI_File_label = &File" + NL
+ + "_UI_Question_title = Question" + NL
+ + "_WARN_FileConflict = The file \"{0}\" already exists. Do you want to replace the existing file?" + NL
+ + "_UI_Error_title = Error" + NL + "_WARN_No_Editor = There is no editor registered for the file \"{0}\"."
+ + NL + "" + NL + "_UI_Application_title = ";
+ protected final String TEXT_26 = " Application" + NL + "_UI_Menu_File_label = &File" + NL
+ + "_UI_Menu_New_label = &New" + NL + "_UI_Menu_Open_label = &Open..." + NL
+ + "_UI_Menu_Open_description = Opens a model object file" + NL + "_UI_Menu_OpenURI_label = &Open URI..."
+ + NL + "_UI_Menu_OpenURI_description = Opens a model object loading it from a URI" + NL
+ + "_UI_Menu_Edit_label = &Edit" + NL + "_UI_Menu_Window_label = &Window" + NL
+ + "_UI_Menu_Help_label = &Help" + NL + "_UI_Menu_About_label = ";
+ protected final String TEXT_27 = " &About..." + NL + "_UI_About_title = ";
+ protected final String TEXT_28 = " Application" + NL + "_UI_About_text = ";
+ protected final String TEXT_29 = " Application about box goes here." + NL;
+ protected final String TEXT_30 = " Model Action Set";
+ protected final String TEXT_31 = NL;
+
+ public PluginProperties() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(TEXT_31);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditorProjectDirectory() + "/" + genModel.getEditorBundleLocalization()
+ + ".properties";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getEditorBundleName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getEditorBundleVendorName());
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_4);
+ boolean hasMultiPageEditor = false;
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ if (genPackage.isMultipleEditorPages()) {
+ hasMultiPageEditor = true;
+ }
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_4);
+ if (genModel.isCreationCommands()) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ if (hasMultiPageEditor) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ if (genPackage.isGenerateModelWizard()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_15);
+ }
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genPackage.getFileExtensions());
+ stringBuffer.append(TEXT_4);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getXMLEncodingChoices());
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_20);
+ } else {
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_22);
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genModel.getEditorAdvisorClassName());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_29);
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ if (genPackage.isGenerateModelWizard()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_30);
+ }
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ }
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && true;
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java
new file mode 100644
index 000000000..bc070342f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java
@@ -0,0 +1,613 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized PluginXML create(String lineSeparator) {
+ nl = lineSeparator;
+ PluginXML result = new PluginXML();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"
+ + NL;
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "<plugin>";
+ protected final String TEXT_4 = NL + "<plugin" + NL + " name=\"%pluginName\"" + NL + " id=\"";
+ protected final String TEXT_5 = "\"" + NL + " version=\"1.0.0\"" + NL + " provider-name=\"%providerName\""
+ + NL + " class=\"";
+ protected final String TEXT_6 = "$Implementation\">" + NL + "" + NL + " <requires>";
+ protected final String TEXT_7 = NL + " <import plugin=\"";
+ protected final String TEXT_8 = "\"";
+ protected final String TEXT_9 = " export=\"true\"";
+ protected final String TEXT_10 = "/>";
+ protected final String TEXT_11 = NL + " </requires>" + NL + "" + NL + " <runtime>";
+ protected final String TEXT_12 = NL + " <library name=\"";
+ protected final String TEXT_13 = ".jar\">";
+ protected final String TEXT_14 = NL + " <library name=\".\">";
+ protected final String TEXT_15 = NL + " <export name=\"*\"/>" + NL + " </library>" + NL
+ + " </runtime>";
+ protected final String TEXT_16 = NL + NL + " <extension point=\"org.eclipse.emf.ecore.generated_package\">";
+ protected final String TEXT_17 = NL + " <!-- @generated ";
+ protected final String TEXT_18 = " -->";
+ protected final String TEXT_19 = NL + " <package" + NL + " uri=\"";
+ protected final String TEXT_20 = NL + " class=\"";
+ protected final String TEXT_21 = "\"" + NL + " genModel=\"";
+ protected final String TEXT_22 = "\"/>";
+ protected final String TEXT_23 = NL + " </extension>";
+ protected final String TEXT_24 = NL + NL + " <extension point=\"org.eclipse.emf.ecore.content_parser\">";
+ protected final String TEXT_25 = NL + " <parser" + NL + " contentTypeIdentifier=\"";
+ protected final String TEXT_26 = "\"" + NL + " class=\"";
+ protected final String TEXT_27 = "\"/>" + NL + " </extension>" + NL + "" + NL
+ + " <extension point=\"org.eclipse.core.contenttype.contentTypes\">";
+ protected final String TEXT_28 = NL + " <content-type" + NL + " base-type=\"";
+ protected final String TEXT_29 = "\"" + NL + " file-extensions=\"";
+ protected final String TEXT_30 = "\"" + NL + " id=\"";
+ protected final String TEXT_31 = "\"" + NL + " name=\"%_UI_";
+ protected final String TEXT_32 = "_content_type\"" + NL + " priority=\"normal\">" + NL
+ + " <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";
+ protected final String TEXT_33 = NL + " <parameter name=\"namespace\" value=\"";
+ protected final String TEXT_34 = NL + " <parameter name=\"kind\" value=\"xmi\"/>";
+ protected final String TEXT_35 = NL + " </describer>" + NL + " </content-type>" + NL
+ + " </extension>";
+ protected final String TEXT_36 = NL + NL + " <extension point=\"org.eclipse.emf.ecore.extension_parser\">";
+ protected final String TEXT_37 = NL + " <parser" + NL + " type=\"";
+ protected final String TEXT_38 = NL + NL
+ + " <extension point=\"org.eclipse.emf.edit.itemProviderAdapterFactories\">";
+ protected final String TEXT_39 = NL + " <factory" + NL + " uri=\"";
+ protected final String TEXT_40 = "\"" + NL + " supportedTypes=";
+ protected final String TEXT_41 = NL + " ";
+ protected final String TEXT_42 = NL + NL + " <extension point=\"org.eclipse.emf.edit.childCreationExtenders\">";
+ protected final String TEXT_43 = NL + " <extender" + NL + " uri=\"";
+ protected final String TEXT_44 = "$";
+ protected final String TEXT_45 = NL + NL + " <extension" + NL
+ + " point=\"org.eclipse.core.runtime.applications\"" + NL + " id=\"";
+ protected final String TEXT_46 = "Application\">";
+ protected final String TEXT_47 = NL + " <application>" + NL + " <run class=\"";
+ protected final String TEXT_48 = "$Application\"/>" + NL + " </application>" + NL + " </extension>" + NL + ""
+ + NL + " <extension point=\"org.eclipse.ui.perspectives\">";
+ protected final String TEXT_49 = NL + " <perspective" + NL + " name=\"%_UI_Perspective_label\"" + NL
+ + " class=\"";
+ protected final String TEXT_50 = "$Perspective\"" + NL + " id=\"";
+ protected final String TEXT_51 = "Perspective\">" + NL + " </perspective>" + NL + " </extension>" + NL + ""
+ + NL + " <extension point=\"org.eclipse.ui.commands\">";
+ protected final String TEXT_52 = NL + " <command" + NL + " name=\"%_UI_Menu_OpenURI_label\"" + NL
+ + " description=\"%_UI_Menu_OpenURI_description\"" + NL
+ + " categoryId=\"org.eclipse.ui.category.file\"" + NL + " id=\"";
+ protected final String TEXT_53 = "OpenURICommand\"/>";
+ protected final String TEXT_54 = NL + " <command" + NL + " name=\"%_UI_Menu_Open_label\"" + NL
+ + " description=\"%_UI_Menu_Open_description\"" + NL
+ + " categoryId=\"org.eclipse.ui.category.file\"" + NL + " id=\"";
+ protected final String TEXT_55 = "OpenCommand\"/>";
+ protected final String TEXT_56 = NL + " </extension>" + NL;
+ protected final String TEXT_57 = NL + " <extension point=\"org.eclipse.ui.bindings\">";
+ protected final String TEXT_58 = NL + " <key" + NL + " commandId=\"";
+ protected final String TEXT_59 = "OpenURICommand\"" + NL + " sequence=\"M1+U\"" + NL
+ + " schemeId=\"org.eclipse.ui.defaultAcceleratorConfiguration\"/>" + NL + " <key" + NL
+ + " commandId=\"";
+ protected final String TEXT_60 = "OpenCommand\"" + NL + " sequence=\"M1+O\"" + NL
+ + " schemeId=\"org.eclipse.ui.defaultAcceleratorConfiguration\"/>" + NL + " </extension>";
+ protected final String TEXT_61 = NL + NL + " <extension point=\"org.eclipse.ui.actionSets\">";
+ protected final String TEXT_62 = NL + " <actionSet" + NL + " label=\"%_UI_";
+ protected final String TEXT_63 = "_ActionSet_label\"" + NL + " visible=\"true\"" + NL
+ + " id=\"";
+ protected final String TEXT_64 = "ActionSet\">" + NL + " <action" + NL
+ + " label=\"%_UI_Menu_About_label\"" + NL + " class=\"";
+ protected final String TEXT_65 = "$AboutAction\"" + NL + " menubarPath=\"help/additions\"" + NL
+ + " id=\"";
+ protected final String TEXT_66 = "AboutAction\"/>" + NL + " <action" + NL
+ + " label=\"%_UI_Menu_OpenURI_label\"" + NL + " definitionId=\"";
+ protected final String TEXT_67 = "OpenURICommand\"" + NL + " class=\"";
+ protected final String TEXT_68 = "$OpenURIAction\"" + NL + " menubarPath=\"file/additions\"" + NL
+ + " id=\"";
+ protected final String TEXT_69 = "OpenURIAction\"/>";
+ protected final String TEXT_70 = NL + " <action" + NL + " label=\"%_UI_Menu_Open_label\"" + NL
+ + " definitionId=\"";
+ protected final String TEXT_71 = "OpenCommand\"" + NL + " class=\"";
+ protected final String TEXT_72 = "$OpenAction\"" + NL + " menubarPath=\"file/additions\"" + NL
+ + " id=\"";
+ protected final String TEXT_73 = "OpenAction\"/>";
+ protected final String TEXT_74 = NL + " </actionSet>" + NL + " </extension>";
+ protected final String TEXT_75 = "ActionSet\">" + NL + " <action" + NL + " label=\"%_UI_";
+ protected final String TEXT_76 = "_label\"" + NL + " class=\"";
+ protected final String TEXT_77 = "$NewAction\"" + NL + " menubarPath=\"file/new/additions\"" + NL
+ + " id=\"";
+ protected final String TEXT_78 = "NewAction\"/>" + NL + " </actionSet>" + NL + " </extension>";
+ protected final String TEXT_79 = NL + NL + " <extension point=\"org.eclipse.ui.newWizards\">";
+ protected final String TEXT_80 = NL + " <category" + NL
+ + " id=\"org.eclipse.emf.ecore.Wizard.category.ID\"" + NL
+ + " name=\"%_UI_Wizard_category\"/>" + NL + " <wizard" + NL + " id=\"";
+ protected final String TEXT_81 = "ID\"" + NL + " name=\"%_UI_";
+ protected final String TEXT_82 = "_label\"" + NL + " class=\"";
+ protected final String TEXT_83 = "\"" + NL + " category=\"org.eclipse.emf.ecore.Wizard.category.ID\""
+ + NL + " icon=\"icons/full/obj16/";
+ protected final String TEXT_84 = "ModelFile.gif\">" + NL + " <description>%_UI_";
+ protected final String TEXT_85 = "_description</description>" + NL
+ + " <selection class=\"org.eclipse.core.resources.IResource\"/>" + NL + " </wizard>" + NL
+ + " </extension>";
+ protected final String TEXT_86 = NL + NL + " <extension point=\"org.eclipse.ui.editors\">";
+ protected final String TEXT_87 = NL + " <editor" + NL + " id=\"";
+ protected final String TEXT_88 = "_label\"" + NL + " icon=\"icons/full/obj16/";
+ protected final String TEXT_89 = "ModelFile.gif\"";
+ protected final String TEXT_90 = NL + " extensions=\"";
+ protected final String TEXT_91 = "\"" + NL + " contributorClass=\"";
+ protected final String TEXT_92 = "\">";
+ protected final String TEXT_93 = NL + " <contentTypeBinding contentTypeId=\"";
+ protected final String TEXT_94 = NL + " </editor>" + NL + " </extension>";
+ protected final String TEXT_95 = NL + NL + "</plugin>" + NL;
+ protected final String TEXT_96 = NL;
+
+ public PluginXML() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(TEXT_96);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditorProjectDirectory() + "/plugin.xml";
+ overwrite = true;
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ String key = genModel.getPluginKey();
+ boolean hasKey = key != null && !key.equals("");
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ if (genModel.isBundleManifest()) {
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getEditorPluginID());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genModel.getQualifiedEditorPluginClassName());
+ stringBuffer.append(TEXT_6);
+ for (String pluginID : genModel.getEditorRequiredPlugins()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(pluginID);
+ stringBuffer.append(TEXT_8);
+ if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ if (genModel.isRuntimeJar()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getEditorPluginID());
+ stringBuffer.append(TEXT_13);
+ } else {
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ }
+ if (genModel.sameModelEditorProject()) {
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ stringBuffer.append(TEXT_16);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genPackage.getNSURI());
+ stringBuffer.append(TEXT_8);
+ if (genModel.hasLocalGenModel()) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getRelativeGenModelLocation());
+ stringBuffer.append(TEXT_22);
+ } else {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ if (genPackage.isContentType()) {
+ stringBuffer.append(TEXT_24);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genPackage.getContentTypeIdentifier());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());
+ stringBuffer.append(TEXT_27);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(
+ genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml");
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genPackage.getFileExtensions());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genPackage.getContentTypeIdentifier());
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_32);
+ if (genPackage.hasTargetNamespace()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genPackage.getNSURI());
+ stringBuffer.append(TEXT_22);
+ }
+ if (genPackage.isXMIResource()) {
+ stringBuffer.append(TEXT_34);
+ }
+ stringBuffer.append(TEXT_35);
+ } else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {
+ stringBuffer.append(TEXT_36);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ for (String fileExtension : genPackage.getFileExtensionList()) {
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(fileExtension);
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ }
+ }
+ }
+ if (genModel.sameEditEditorProject()) {
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ if (!genPackage.getGenClasses().isEmpty()) {
+ stringBuffer.append(TEXT_38);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genPackage.getNSURI());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_40);
+ for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext();) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(j.hasPrevious() ? " " : "\"");
+ stringBuffer.append(j.next());
+ if (!j.hasNext()) {
+ stringBuffer.append(TEXT_22);
+ }
+ }
+ stringBuffer.append(TEXT_23);
+ if (genPackage.isChildCreationExtenders()) {
+ Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage
+ .getExtendedChildCreationData();
+ if (!extendedChildCreationData.isEmpty()) {
+ stringBuffer.append(TEXT_42);
+ for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData
+ .entrySet()) {
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(entry.getKey().getNSURI());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genPackage.getChildCreationExtenderName(entry.getKey()));
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ }
+ }
+ }
+ }
+ }
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genModel.getEditorAdvisorClassName());
+ stringBuffer.append(TEXT_46);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_48);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_51);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_53);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_55);
+ }
+ stringBuffer.append(TEXT_56);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_57);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_60);
+ }
+ stringBuffer.append(TEXT_61);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genModel.getEditorAdvisorClassName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genModel.getEditorAdvisorClassName());
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_69);
+ if (!genModel.isRichAjaxPlatform()) {
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_71);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_72);
+ stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+ stringBuffer.append(TEXT_73);
+ }
+ stringBuffer.append(TEXT_74);
+ }
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ if (genPackage.hasConcreteClasses()) {
+ if (genPackage.isGenerateModelWizard()) {
+ if (genModel.isRichClientPlatform()) {
+ stringBuffer.append(TEXT_61);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());
+ stringBuffer.append(TEXT_78);
+ } else {
+ stringBuffer.append(TEXT_79);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genPackage.getQualifiedModelWizardClassName());
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genPackage.getQualifiedModelWizardClassName());
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genPackage.getModelWizardClassName());
+ stringBuffer.append(TEXT_85);
+ }
+ }
+ stringBuffer.append(TEXT_86);
+ if (hasKey) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genPackage.getQualifiedEditorClassName());
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genPackage.getEditorClassName());
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_89);
+ if (!genPackage.isContentType()) {
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(genPackage.getFileExtensions());
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genPackage.getQualifiedEditorClassName());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());
+ stringBuffer.append(TEXT_92);
+ if (genPackage.isContentType()) {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genPackage.getQualifiedContentTypeIdentifier());
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_94);
+ }
+ }
+ stringBuffer.append(TEXT_95);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java
new file mode 100644
index 000000000..be9249769
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java
@@ -0,0 +1,194 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class WebXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized WebXML create(String lineSeparator) {
+ nl = lineSeparator;
+ WebXML result = new WebXML();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL
+ + "<!DOCTYPE web-app PUBLIC \"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN\" \"http://java.sun.com/dtd/web-app_2_3.dtd\">";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "<web-app>" + NL + " <servlet>" + NL
+ + " <servlet-name>uriServlet</servlet-name>" + NL
+ + " <servlet-class>org.eclipse.emf.server.ecore.resource.URIServiceImpl</servlet-class>" + NL
+ + " </servlet>" + NL + " " + NL + " <servlet-mapping>" + NL
+ + " <servlet-name>uriServlet</servlet-name>" + NL + " <url-pattern>/";
+ protected final String TEXT_4 = "/uriService</url-pattern>" + NL + " </servlet-mapping>" + NL + "" + NL
+ + " <welcome-file-list>" + NL + " <welcome-file>";
+ protected final String TEXT_5 = ".html</welcome-file>" + NL + " </welcome-file-list>" + NL + "</web-app>" + NL;
+ protected final String TEXT_6 = NL;
+
+ public WebXML() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(TEXT_6);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getEditorProjectDirectory() + "/war/WEB-INF/web.xml";
+ overwrite = false;
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+ GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getQualifiedEditorModuleName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getEditorHomePageName());
+ stringBuffer.append(TEXT_5);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java
new file mode 100644
index 000000000..72a6d7b7e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java
@@ -0,0 +1,477 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor.call.Editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class EditoraddItemProviderFactoriesinsert {
+ protected static String nl;
+
+ public static synchronized EditoraddItemProviderFactoriesinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ EditoraddItemProviderFactoriesinsert result = new EditoraddItemProviderFactoriesinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public EditoraddItemProviderFactoriesinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> importedOperationClassNameList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> operationMethodNameList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ArrayListOfObjectList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ArrayListOfSelectionChangedListenerList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _CollectionOfSelectionChangedListenerList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListOfResourceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ArrayListOfResourceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _CollectionOfResourceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _MapOfResourceToDiagnosticList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _HashMapOfResourceToBooleanList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _MapOfObjectToObjectList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _HashMapOfObjectToObjectList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _LinkedHashMapOfResourceToDiagnosticList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _CollectionOfAnythingList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListOfAnythingList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useExtendedLabelProviderList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useStyledLabelProviderList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _AdapterFactoryLabelProviderList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _DelegatingAdapterFactoryLabelProviderList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _DecoratingColumLabelProviderList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _DiagnosticDecoratorList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ArrayListOfStringList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListOfStringList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListOfPropertySheetPageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ArrayListOfPropertySheetPageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object importedOperationClassNameParameter : importedOperationClassNameList) {
+ for (Object operationMethodNameParameter : operationMethodNameList) {
+ for (Object _ArrayListOfObjectParameter : _ArrayListOfObjectList) {
+ for (Object _ArrayListOfSelectionChangedListenerParameter : _ArrayListOfSelectionChangedListenerList) {
+ for (Object _CollectionOfSelectionChangedListenerParameter : _CollectionOfSelectionChangedListenerList) {
+ for (Object _ListOfResourceParameter : _ListOfResourceList) {
+ for (Object _ArrayListOfResourceParameter : _ArrayListOfResourceList) {
+ for (Object _CollectionOfResourceParameter : _CollectionOfResourceList) {
+ for (Object _MapOfResourceToDiagnosticParameter : _MapOfResourceToDiagnosticList) {
+ for (Object _HashMapOfResourceToBooleanParameter : _HashMapOfResourceToBooleanList) {
+ for (Object _MapOfObjectToObjectParameter : _MapOfObjectToObjectList) {
+ for (Object _HashMapOfObjectToObjectParameter : _HashMapOfObjectToObjectList) {
+ for (Object _LinkedHashMapOfResourceToDiagnosticParameter : _LinkedHashMapOfResourceToDiagnosticList) {
+ for (Object _CollectionOfAnythingParameter : _CollectionOfAnythingList) {
+ for (Object _ListOfAnythingParameter : _ListOfAnythingList) {
+ for (Object useExtendedLabelProviderParameter : useExtendedLabelProviderList) {
+ for (Object useStyledLabelProviderParameter : useStyledLabelProviderList) {
+ for (Object _AdapterFactoryLabelProviderParameter : _AdapterFactoryLabelProviderList) {
+ for (Object _DelegatingAdapterFactoryLabelProviderParameter : _DelegatingAdapterFactoryLabelProviderList) {
+ for (Object _DecoratingColumLabelProviderParameter : _DecoratingColumLabelProviderList) {
+ for (Object _DiagnosticDecoratorParameter : _DiagnosticDecoratorList) {
+ for (Object _ArrayListOfStringParameter : _ArrayListOfStringList) {
+ for (Object _ListOfStringParameter : _ListOfStringList) {
+ for (Object _ListOfPropertySheetPageParameter : _ListOfPropertySheetPageList) {
+ for (Object _ArrayListOfPropertySheetPageParameter : _ArrayListOfPropertySheetPageList) {
+
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.importedOperationClassName = (java.lang.String) importedOperationClassNameParameter;
+ this.operationMethodName = (java.lang.String) operationMethodNameParameter;
+ this._ArrayListOfObject = (java.lang.String) _ArrayListOfObjectParameter;
+ this._ArrayListOfSelectionChangedListener = (java.lang.String) _ArrayListOfSelectionChangedListenerParameter;
+ this._CollectionOfSelectionChangedListener = (java.lang.String) _CollectionOfSelectionChangedListenerParameter;
+ this._ListOfResource = (java.lang.String) _ListOfResourceParameter;
+ this._ArrayListOfResource = (java.lang.String) _ArrayListOfResourceParameter;
+ this._CollectionOfResource = (java.lang.String) _CollectionOfResourceParameter;
+ this._MapOfResourceToDiagnostic = (java.lang.String) _MapOfResourceToDiagnosticParameter;
+ this._HashMapOfResourceToBoolean = (java.lang.String) _HashMapOfResourceToBooleanParameter;
+ this._MapOfObjectToObject = (java.lang.String) _MapOfObjectToObjectParameter;
+ this._HashMapOfObjectToObject = (java.lang.String) _HashMapOfObjectToObjectParameter;
+ this._LinkedHashMapOfResourceToDiagnostic = (java.lang.String) _LinkedHashMapOfResourceToDiagnosticParameter;
+ this._CollectionOfAnything = (java.lang.String) _CollectionOfAnythingParameter;
+ this._ListOfAnything = (java.lang.String) _ListOfAnythingParameter;
+ this.useExtendedLabelProvider = (java.lang.Boolean) useExtendedLabelProviderParameter;
+ this.useStyledLabelProvider = (java.lang.Boolean) useStyledLabelProviderParameter;
+ this._AdapterFactoryLabelProvider = (java.lang.String) _AdapterFactoryLabelProviderParameter;
+ this._DelegatingAdapterFactoryLabelProvider = (java.lang.String) _DelegatingAdapterFactoryLabelProviderParameter;
+ this._DecoratingColumLabelProvider = (java.lang.String) _DecoratingColumLabelProviderParameter;
+ this._DiagnosticDecorator = (java.lang.String) _DiagnosticDecoratorParameter;
+ this._ArrayListOfString = (java.lang.String) _ArrayListOfStringParameter;
+ this._ListOfString = (java.lang.String) _ListOfStringParameter;
+ this._ListOfPropertySheetPage = (java.lang.String) _ListOfPropertySheetPageParameter;
+ this._ArrayListOfPropertySheetPage = (java.lang.String) _ArrayListOfPropertySheetPageParameter;
+
+ if (preCondition(
+ ctx)) {
+ ctx.setNode(
+ new Node.Container(
+ currentNode,
+ getClass()));
+ orchestration(
+ ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("importedOperationClassName", this.importedOperationClassName);
+ parameterValues.put("operationMethodName", this.operationMethodName);
+ parameterValues.put("_ArrayListOfObject", this._ArrayListOfObject);
+ parameterValues.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);
+ parameterValues.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);
+ parameterValues.put("_ListOfResource", this._ListOfResource);
+ parameterValues.put("_ArrayListOfResource", this._ArrayListOfResource);
+ parameterValues.put("_CollectionOfResource", this._CollectionOfResource);
+ parameterValues.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);
+ parameterValues.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);
+ parameterValues.put("_MapOfObjectToObject", this._MapOfObjectToObject);
+ parameterValues.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);
+ parameterValues.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);
+ parameterValues.put("_CollectionOfAnything", this._CollectionOfAnything);
+ parameterValues.put("_ListOfAnything", this._ListOfAnything);
+ parameterValues.put("useExtendedLabelProvider", this.useExtendedLabelProvider);
+ parameterValues.put("useStyledLabelProvider", this.useStyledLabelProvider);
+ parameterValues.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);
+ parameterValues.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);
+ parameterValues.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);
+ parameterValues.put("_DiagnosticDecorator", this._DiagnosticDecorator);
+ parameterValues.put("_ArrayListOfString", this._ArrayListOfString);
+ parameterValues.put("_ListOfString", this._ListOfString);
+ parameterValues.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);
+ parameterValues.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String importedOperationClassName = null;
+
+ public void set_importedOperationClassName(java.lang.String object) {
+ this.importedOperationClassName = object;
+ }
+
+ protected java.lang.String operationMethodName = null;
+
+ public void set_operationMethodName(java.lang.String object) {
+ this.operationMethodName = object;
+ }
+
+ protected java.lang.String _ArrayListOfObject = null;
+
+ public void set__ArrayListOfObject(java.lang.String object) {
+ this._ArrayListOfObject = object;
+ }
+
+ protected java.lang.String _ArrayListOfSelectionChangedListener = null;
+
+ public void set__ArrayListOfSelectionChangedListener(java.lang.String object) {
+ this._ArrayListOfSelectionChangedListener = object;
+ }
+
+ protected java.lang.String _CollectionOfSelectionChangedListener = null;
+
+ public void set__CollectionOfSelectionChangedListener(java.lang.String object) {
+ this._CollectionOfSelectionChangedListener = object;
+ }
+
+ protected java.lang.String _ListOfResource = null;
+
+ public void set__ListOfResource(java.lang.String object) {
+ this._ListOfResource = object;
+ }
+
+ protected java.lang.String _ArrayListOfResource = null;
+
+ public void set__ArrayListOfResource(java.lang.String object) {
+ this._ArrayListOfResource = object;
+ }
+
+ protected java.lang.String _CollectionOfResource = null;
+
+ public void set__CollectionOfResource(java.lang.String object) {
+ this._CollectionOfResource = object;
+ }
+
+ protected java.lang.String _MapOfResourceToDiagnostic = null;
+
+ public void set__MapOfResourceToDiagnostic(java.lang.String object) {
+ this._MapOfResourceToDiagnostic = object;
+ }
+
+ protected java.lang.String _HashMapOfResourceToBoolean = null;
+
+ public void set__HashMapOfResourceToBoolean(java.lang.String object) {
+ this._HashMapOfResourceToBoolean = object;
+ }
+
+ protected java.lang.String _MapOfObjectToObject = null;
+
+ public void set__MapOfObjectToObject(java.lang.String object) {
+ this._MapOfObjectToObject = object;
+ }
+
+ protected java.lang.String _HashMapOfObjectToObject = null;
+
+ public void set__HashMapOfObjectToObject(java.lang.String object) {
+ this._HashMapOfObjectToObject = object;
+ }
+
+ protected java.lang.String _LinkedHashMapOfResourceToDiagnostic = null;
+
+ public void set__LinkedHashMapOfResourceToDiagnostic(java.lang.String object) {
+ this._LinkedHashMapOfResourceToDiagnostic = object;
+ }
+
+ protected java.lang.String _CollectionOfAnything = null;
+
+ public void set__CollectionOfAnything(java.lang.String object) {
+ this._CollectionOfAnything = object;
+ }
+
+ protected java.lang.String _ListOfAnything = null;
+
+ public void set__ListOfAnything(java.lang.String object) {
+ this._ListOfAnything = object;
+ }
+
+ protected java.lang.Boolean useExtendedLabelProvider = null;
+
+ public void set_useExtendedLabelProvider(java.lang.Boolean object) {
+ this.useExtendedLabelProvider = object;
+ }
+
+ protected java.lang.Boolean useStyledLabelProvider = null;
+
+ public void set_useStyledLabelProvider(java.lang.Boolean object) {
+ this.useStyledLabelProvider = object;
+ }
+
+ protected java.lang.String _AdapterFactoryLabelProvider = null;
+
+ public void set__AdapterFactoryLabelProvider(java.lang.String object) {
+ this._AdapterFactoryLabelProvider = object;
+ }
+
+ protected java.lang.String _DelegatingAdapterFactoryLabelProvider = null;
+
+ public void set__DelegatingAdapterFactoryLabelProvider(java.lang.String object) {
+ this._DelegatingAdapterFactoryLabelProvider = object;
+ }
+
+ protected java.lang.String _DecoratingColumLabelProvider = null;
+
+ public void set__DecoratingColumLabelProvider(java.lang.String object) {
+ this._DecoratingColumLabelProvider = object;
+ }
+
+ protected java.lang.String _DiagnosticDecorator = null;
+
+ public void set__DiagnosticDecorator(java.lang.String object) {
+ this._DiagnosticDecorator = object;
+ }
+
+ protected java.lang.String _ArrayListOfString = null;
+
+ public void set__ArrayListOfString(java.lang.String object) {
+ this._ArrayListOfString = object;
+ }
+
+ protected java.lang.String _ListOfString = null;
+
+ public void set__ListOfString(java.lang.String object) {
+ this._ListOfString = object;
+ }
+
+ protected java.lang.String _ListOfPropertySheetPage = null;
+
+ public void set__ListOfPropertySheetPage(java.lang.String object) {
+ this._ListOfPropertySheetPage = object;
+ }
+
+ protected java.lang.String _ArrayListOfPropertySheetPage = null;
+
+ public void set__ArrayListOfPropertySheetPage(java.lang.String object) {
+ this._ArrayListOfPropertySheetPage = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("importedOperationClassName", this.importedOperationClassName);
+ parameters.put("operationMethodName", this.operationMethodName);
+ parameters.put("_ArrayListOfObject", this._ArrayListOfObject);
+ parameters.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);
+ parameters.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);
+ parameters.put("_ListOfResource", this._ListOfResource);
+ parameters.put("_ArrayListOfResource", this._ArrayListOfResource);
+ parameters.put("_CollectionOfResource", this._CollectionOfResource);
+ parameters.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);
+ parameters.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);
+ parameters.put("_MapOfObjectToObject", this._MapOfObjectToObject);
+ parameters.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);
+ parameters.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);
+ parameters.put("_CollectionOfAnything", this._CollectionOfAnything);
+ parameters.put("_ListOfAnything", this._ListOfAnything);
+ parameters.put("useExtendedLabelProvider", this.useExtendedLabelProvider);
+ parameters.put("useStyledLabelProvider", this.useStyledLabelProvider);
+ parameters.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);
+ parameters.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);
+ parameters.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);
+ parameters.put("_DiagnosticDecorator", this._DiagnosticDecorator);
+ parameters.put("_ArrayListOfString", this._ArrayListOfString);
+ parameters.put("_ListOfString", this._ListOfString);
+ parameters.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);
+ parameters.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java
new file mode 100644
index 000000000..b22cd339d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java
@@ -0,0 +1,540 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.editor.call.Editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class EditoraddItemProviderFactoriesoverride {
+ protected static String nl;
+
+ public static synchronized EditoraddItemProviderFactoriesoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ EditoraddItemProviderFactoriesoverride result = new EditoraddItemProviderFactoriesoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t\tadapterFactory.addAdapterFactory(new ";
+ protected final String TEXT_3 = "());";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL;
+
+ public EditoraddItemProviderFactoriesoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> importedOperationClassNameList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> operationMethodNameList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ArrayListOfObjectList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ArrayListOfSelectionChangedListenerList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _CollectionOfSelectionChangedListenerList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListOfResourceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ArrayListOfResourceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _CollectionOfResourceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _MapOfResourceToDiagnosticList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _HashMapOfResourceToBooleanList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _MapOfObjectToObjectList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _HashMapOfObjectToObjectList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _LinkedHashMapOfResourceToDiagnosticList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _CollectionOfAnythingList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListOfAnythingList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useExtendedLabelProviderList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useStyledLabelProviderList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _AdapterFactoryLabelProviderList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _DelegatingAdapterFactoryLabelProviderList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _DecoratingColumLabelProviderList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _DiagnosticDecoratorList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ArrayListOfStringList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListOfStringList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ListOfPropertySheetPageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _ArrayListOfPropertySheetPageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object importedOperationClassNameParameter : importedOperationClassNameList) {
+ for (Object operationMethodNameParameter : operationMethodNameList) {
+ for (Object _ArrayListOfObjectParameter : _ArrayListOfObjectList) {
+ for (Object _ArrayListOfSelectionChangedListenerParameter : _ArrayListOfSelectionChangedListenerList) {
+ for (Object _CollectionOfSelectionChangedListenerParameter : _CollectionOfSelectionChangedListenerList) {
+ for (Object _ListOfResourceParameter : _ListOfResourceList) {
+ for (Object _ArrayListOfResourceParameter : _ArrayListOfResourceList) {
+ for (Object _CollectionOfResourceParameter : _CollectionOfResourceList) {
+ for (Object _MapOfResourceToDiagnosticParameter : _MapOfResourceToDiagnosticList) {
+ for (Object _HashMapOfResourceToBooleanParameter : _HashMapOfResourceToBooleanList) {
+ for (Object _MapOfObjectToObjectParameter : _MapOfObjectToObjectList) {
+ for (Object _HashMapOfObjectToObjectParameter : _HashMapOfObjectToObjectList) {
+ for (Object _LinkedHashMapOfResourceToDiagnosticParameter : _LinkedHashMapOfResourceToDiagnosticList) {
+ for (Object _CollectionOfAnythingParameter : _CollectionOfAnythingList) {
+ for (Object _ListOfAnythingParameter : _ListOfAnythingList) {
+ for (Object useExtendedLabelProviderParameter : useExtendedLabelProviderList) {
+ for (Object useStyledLabelProviderParameter : useStyledLabelProviderList) {
+ for (Object _AdapterFactoryLabelProviderParameter : _AdapterFactoryLabelProviderList) {
+ for (Object _DelegatingAdapterFactoryLabelProviderParameter : _DelegatingAdapterFactoryLabelProviderList) {
+ for (Object _DecoratingColumLabelProviderParameter : _DecoratingColumLabelProviderList) {
+ for (Object _DiagnosticDecoratorParameter : _DiagnosticDecoratorList) {
+ for (Object _ArrayListOfStringParameter : _ArrayListOfStringList) {
+ for (Object _ListOfStringParameter : _ListOfStringList) {
+ for (Object _ListOfPropertySheetPageParameter : _ListOfPropertySheetPageList) {
+ for (Object _ArrayListOfPropertySheetPageParameter : _ArrayListOfPropertySheetPageList) {
+
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.importedOperationClassName = (java.lang.String) importedOperationClassNameParameter;
+ this.operationMethodName = (java.lang.String) operationMethodNameParameter;
+ this._ArrayListOfObject = (java.lang.String) _ArrayListOfObjectParameter;
+ this._ArrayListOfSelectionChangedListener = (java.lang.String) _ArrayListOfSelectionChangedListenerParameter;
+ this._CollectionOfSelectionChangedListener = (java.lang.String) _CollectionOfSelectionChangedListenerParameter;
+ this._ListOfResource = (java.lang.String) _ListOfResourceParameter;
+ this._ArrayListOfResource = (java.lang.String) _ArrayListOfResourceParameter;
+ this._CollectionOfResource = (java.lang.String) _CollectionOfResourceParameter;
+ this._MapOfResourceToDiagnostic = (java.lang.String) _MapOfResourceToDiagnosticParameter;
+ this._HashMapOfResourceToBoolean = (java.lang.String) _HashMapOfResourceToBooleanParameter;
+ this._MapOfObjectToObject = (java.lang.String) _MapOfObjectToObjectParameter;
+ this._HashMapOfObjectToObject = (java.lang.String) _HashMapOfObjectToObjectParameter;
+ this._LinkedHashMapOfResourceToDiagnostic = (java.lang.String) _LinkedHashMapOfResourceToDiagnosticParameter;
+ this._CollectionOfAnything = (java.lang.String) _CollectionOfAnythingParameter;
+ this._ListOfAnything = (java.lang.String) _ListOfAnythingParameter;
+ this.useExtendedLabelProvider = (java.lang.Boolean) useExtendedLabelProviderParameter;
+ this.useStyledLabelProvider = (java.lang.Boolean) useStyledLabelProviderParameter;
+ this._AdapterFactoryLabelProvider = (java.lang.String) _AdapterFactoryLabelProviderParameter;
+ this._DelegatingAdapterFactoryLabelProvider = (java.lang.String) _DelegatingAdapterFactoryLabelProviderParameter;
+ this._DecoratingColumLabelProvider = (java.lang.String) _DecoratingColumLabelProviderParameter;
+ this._DiagnosticDecorator = (java.lang.String) _DiagnosticDecoratorParameter;
+ this._ArrayListOfString = (java.lang.String) _ArrayListOfStringParameter;
+ this._ListOfString = (java.lang.String) _ListOfStringParameter;
+ this._ListOfPropertySheetPage = (java.lang.String) _ListOfPropertySheetPageParameter;
+ this._ArrayListOfPropertySheetPage = (java.lang.String) _ArrayListOfPropertySheetPageParameter;
+
+ if (preCondition(
+ ctx)) {
+ ctx.setNode(
+ new Node.Container(
+ currentNode,
+ getClass()));
+ orchestration(
+ ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(TEXT_5);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("importedOperationClassName", this.importedOperationClassName);
+ parameterValues.put("operationMethodName", this.operationMethodName);
+ parameterValues.put("_ArrayListOfObject", this._ArrayListOfObject);
+ parameterValues.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);
+ parameterValues.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);
+ parameterValues.put("_ListOfResource", this._ListOfResource);
+ parameterValues.put("_ArrayListOfResource", this._ArrayListOfResource);
+ parameterValues.put("_CollectionOfResource", this._CollectionOfResource);
+ parameterValues.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);
+ parameterValues.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);
+ parameterValues.put("_MapOfObjectToObject", this._MapOfObjectToObject);
+ parameterValues.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);
+ parameterValues.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);
+ parameterValues.put("_CollectionOfAnything", this._CollectionOfAnything);
+ parameterValues.put("_ListOfAnything", this._ListOfAnything);
+ parameterValues.put("useExtendedLabelProvider", this.useExtendedLabelProvider);
+ parameterValues.put("useStyledLabelProvider", this.useStyledLabelProvider);
+ parameterValues.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);
+ parameterValues.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);
+ parameterValues.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);
+ parameterValues.put("_DiagnosticDecorator", this._DiagnosticDecorator);
+ parameterValues.put("_ArrayListOfString", this._ArrayListOfString);
+ parameterValues.put("_ListOfString", this._ListOfString);
+ parameterValues.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);
+ parameterValues.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String importedOperationClassName = null;
+
+ public void set_importedOperationClassName(java.lang.String object) {
+ this.importedOperationClassName = object;
+ }
+
+ protected java.lang.String operationMethodName = null;
+
+ public void set_operationMethodName(java.lang.String object) {
+ this.operationMethodName = object;
+ }
+
+ protected java.lang.String _ArrayListOfObject = null;
+
+ public void set__ArrayListOfObject(java.lang.String object) {
+ this._ArrayListOfObject = object;
+ }
+
+ protected java.lang.String _ArrayListOfSelectionChangedListener = null;
+
+ public void set__ArrayListOfSelectionChangedListener(java.lang.String object) {
+ this._ArrayListOfSelectionChangedListener = object;
+ }
+
+ protected java.lang.String _CollectionOfSelectionChangedListener = null;
+
+ public void set__CollectionOfSelectionChangedListener(java.lang.String object) {
+ this._CollectionOfSelectionChangedListener = object;
+ }
+
+ protected java.lang.String _ListOfResource = null;
+
+ public void set__ListOfResource(java.lang.String object) {
+ this._ListOfResource = object;
+ }
+
+ protected java.lang.String _ArrayListOfResource = null;
+
+ public void set__ArrayListOfResource(java.lang.String object) {
+ this._ArrayListOfResource = object;
+ }
+
+ protected java.lang.String _CollectionOfResource = null;
+
+ public void set__CollectionOfResource(java.lang.String object) {
+ this._CollectionOfResource = object;
+ }
+
+ protected java.lang.String _MapOfResourceToDiagnostic = null;
+
+ public void set__MapOfResourceToDiagnostic(java.lang.String object) {
+ this._MapOfResourceToDiagnostic = object;
+ }
+
+ protected java.lang.String _HashMapOfResourceToBoolean = null;
+
+ public void set__HashMapOfResourceToBoolean(java.lang.String object) {
+ this._HashMapOfResourceToBoolean = object;
+ }
+
+ protected java.lang.String _MapOfObjectToObject = null;
+
+ public void set__MapOfObjectToObject(java.lang.String object) {
+ this._MapOfObjectToObject = object;
+ }
+
+ protected java.lang.String _HashMapOfObjectToObject = null;
+
+ public void set__HashMapOfObjectToObject(java.lang.String object) {
+ this._HashMapOfObjectToObject = object;
+ }
+
+ protected java.lang.String _LinkedHashMapOfResourceToDiagnostic = null;
+
+ public void set__LinkedHashMapOfResourceToDiagnostic(java.lang.String object) {
+ this._LinkedHashMapOfResourceToDiagnostic = object;
+ }
+
+ protected java.lang.String _CollectionOfAnything = null;
+
+ public void set__CollectionOfAnything(java.lang.String object) {
+ this._CollectionOfAnything = object;
+ }
+
+ protected java.lang.String _ListOfAnything = null;
+
+ public void set__ListOfAnything(java.lang.String object) {
+ this._ListOfAnything = object;
+ }
+
+ protected java.lang.Boolean useExtendedLabelProvider = null;
+
+ public void set_useExtendedLabelProvider(java.lang.Boolean object) {
+ this.useExtendedLabelProvider = object;
+ }
+
+ protected java.lang.Boolean useStyledLabelProvider = null;
+
+ public void set_useStyledLabelProvider(java.lang.Boolean object) {
+ this.useStyledLabelProvider = object;
+ }
+
+ protected java.lang.String _AdapterFactoryLabelProvider = null;
+
+ public void set__AdapterFactoryLabelProvider(java.lang.String object) {
+ this._AdapterFactoryLabelProvider = object;
+ }
+
+ protected java.lang.String _DelegatingAdapterFactoryLabelProvider = null;
+
+ public void set__DelegatingAdapterFactoryLabelProvider(java.lang.String object) {
+ this._DelegatingAdapterFactoryLabelProvider = object;
+ }
+
+ protected java.lang.String _DecoratingColumLabelProvider = null;
+
+ public void set__DecoratingColumLabelProvider(java.lang.String object) {
+ this._DecoratingColumLabelProvider = object;
+ }
+
+ protected java.lang.String _DiagnosticDecorator = null;
+
+ public void set__DiagnosticDecorator(java.lang.String object) {
+ this._DiagnosticDecorator = object;
+ }
+
+ protected java.lang.String _ArrayListOfString = null;
+
+ public void set__ArrayListOfString(java.lang.String object) {
+ this._ArrayListOfString = object;
+ }
+
+ protected java.lang.String _ListOfString = null;
+
+ public void set__ListOfString(java.lang.String object) {
+ this._ListOfString = object;
+ }
+
+ protected java.lang.String _ListOfPropertySheetPage = null;
+
+ public void set__ListOfPropertySheetPage(java.lang.String object) {
+ this._ListOfPropertySheetPage = object;
+ }
+
+ protected java.lang.String _ArrayListOfPropertySheetPage = null;
+
+ public void set__ArrayListOfPropertySheetPage(java.lang.String object) {
+ this._ArrayListOfPropertySheetPage = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("importedOperationClassName", this.importedOperationClassName);
+ parameters.put("operationMethodName", this.operationMethodName);
+ parameters.put("_ArrayListOfObject", this._ArrayListOfObject);
+ parameters.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);
+ parameters.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);
+ parameters.put("_ListOfResource", this._ListOfResource);
+ parameters.put("_ArrayListOfResource", this._ArrayListOfResource);
+ parameters.put("_CollectionOfResource", this._CollectionOfResource);
+ parameters.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);
+ parameters.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);
+ parameters.put("_MapOfObjectToObject", this._MapOfObjectToObject);
+ parameters.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);
+ parameters.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);
+ parameters.put("_CollectionOfAnything", this._CollectionOfAnything);
+ parameters.put("_ListOfAnything", this._ListOfAnything);
+ parameters.put("useExtendedLabelProvider", this.useExtendedLabelProvider);
+ parameters.put("useStyledLabelProvider", this.useStyledLabelProvider);
+ parameters.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);
+ parameters.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);
+ parameters.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);
+ parameters.put("_DiagnosticDecorator", this._DiagnosticDecorator);
+ parameters.put("_ArrayListOfString", this._ArrayListOfString);
+ parameters.put("_ListOfString", this._ListOfString);
+ parameters.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);
+ parameters.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ for (GenPackage aGenPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ if (!aGenPackage.getGenClasses().isEmpty() && aGenPackage.getGenModel().hasEditSupport()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(aGenPackage.getImportedItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_3);
+ }
+ }
+ for (GenPackage aGenPackage : genModel.getAllUsedGenPackagesWithClassifiers()) {
+ if (!aGenPackage.getGenClasses().isEmpty() && aGenPackage.getGenModel().hasEditSupport()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(aGenPackage.getImportedItemProviderAdapterFactoryClassName());
+ stringBuffer.append(TEXT_3);
+ }
+ }
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.insert" args="genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ListOfResource:_ListOfResource,_ArrayListOfResource:_ArrayListOfResource,_CollectionOfResource:_CollectionOfResource,_MapOfResourceToDiagnostic:_MapOfResourceToDiagnostic,_HashMapOfResourceToBoolean:_HashMapOfResourceToBoolean,_MapOfObjectToObject:_MapOfObjectToObject,_HashMapOfObjectToObject:_HashMapOfObjectToObject,_LinkedHashMapOfResourceToDiagnostic:_LinkedHashMapOfResourceToDiagnostic,_CollectionOfAnything:_CollectionOfAnything,_ListOfAnything:_ListOfAnything,useExtendedLabelProvider:useExtendedLabelProvider,useStyledLabelProvider:useStyledLabelProvider,_AdapterFactoryLabelProvider:_AdapterFactoryLabelProvider,_DelegatingAdapterFactoryLabelProvider:_DelegatingAdapterFactoryLabelProvider,_DecoratingColumLabelProvider:_DecoratingColumLabelProvider,_DiagnosticDecorator:_DiagnosticDecorator,_ArrayListOfString:_ArrayListOfString,_ListOfString:_ListOfString,_ListOfPropertySheetPage:_ListOfPropertySheetPage,_ArrayListOfPropertySheetPage:_ArrayListOfPropertySheetPage"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("importedOperationClassName", importedOperationClassName);
+ callParameters.put("operationMethodName", operationMethodName);
+ callParameters.put("_ArrayListOfObject", _ArrayListOfObject);
+ callParameters.put("_ArrayListOfSelectionChangedListener", _ArrayListOfSelectionChangedListener);
+ callParameters.put("_CollectionOfSelectionChangedListener", _CollectionOfSelectionChangedListener);
+ callParameters.put("_ListOfResource", _ListOfResource);
+ callParameters.put("_ArrayListOfResource", _ArrayListOfResource);
+ callParameters.put("_CollectionOfResource", _CollectionOfResource);
+ callParameters.put("_MapOfResourceToDiagnostic", _MapOfResourceToDiagnostic);
+ callParameters.put("_HashMapOfResourceToBoolean", _HashMapOfResourceToBoolean);
+ callParameters.put("_MapOfObjectToObject", _MapOfObjectToObject);
+ callParameters.put("_HashMapOfObjectToObject", _HashMapOfObjectToObject);
+ callParameters.put("_LinkedHashMapOfResourceToDiagnostic", _LinkedHashMapOfResourceToDiagnostic);
+ callParameters.put("_CollectionOfAnything", _CollectionOfAnything);
+ callParameters.put("_ListOfAnything", _ListOfAnything);
+ callParameters.put("useExtendedLabelProvider", useExtendedLabelProvider);
+ callParameters.put("useStyledLabelProvider", useStyledLabelProvider);
+ callParameters.put("_AdapterFactoryLabelProvider", _AdapterFactoryLabelProvider);
+ callParameters.put("_DelegatingAdapterFactoryLabelProvider", _DelegatingAdapterFactoryLabelProvider);
+ callParameters.put("_DecoratingColumLabelProvider", _DecoratingColumLabelProvider);
+ callParameters.put("_DiagnosticDecorator", _DiagnosticDecorator);
+ callParameters.put("_ArrayListOfString", _ArrayListOfString);
+ callParameters.put("_ListOfString", _ListOfString);
+ callParameters.put("_ListOfPropertySheetPage", _ListOfPropertySheetPage);
+ callParameters.put("_ArrayListOfPropertySheetPage", _ArrayListOfPropertySheetPage);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_09RHMGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java
new file mode 100644
index 000000000..447842aad
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java
@@ -0,0 +1,366 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class AdapterFactoryClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized AdapterFactoryClass create(String lineSeparator) {
+ nl = lineSeparator;
+ AdapterFactoryClass result = new AdapterFactoryClass();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * The <b>Adapter Factory</b> for the model." + NL
+ + " * It provides an adapter <code>createXXX</code> method for each class of the model." + NL
+ + " * <!-- end-user-doc -->" + NL + " * @see ";
+ protected final String TEXT_5 = NL + " * ";
+ protected final String TEXT_6 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_7 = NL + "@Deprecated";
+ protected final String TEXT_8 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_9 = NL + "public class ";
+ protected final String TEXT_10 = " extends AdapterFactoryImpl" + NL + "{";
+ protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_12 = " copyright = ";
+ protected final String TEXT_13 = ";";
+ protected final String TEXT_14 = NL;
+ protected final String TEXT_15 = NL + "\t/**" + NL + "\t * The cached model package." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected static ";
+ protected final String TEXT_16 = " modelPackage;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Creates an instance of the adapter factory." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_17 = "()" + NL + "\t{" + NL + "\t\tif (modelPackage == null)" + NL + "\t\t{" + NL
+ + "\t\t\tmodelPackage = ";
+ protected final String TEXT_18 = ".eINSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Returns whether this factory is applicable for the type of the object." + NL
+ + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model."
+ + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return whether this factory is applicable for the type of the object." + NL + "\t * @generated"
+ + NL + "\t */";
+ protected final String TEXT_19 = NL + "\t@Override";
+ protected final String TEXT_20 = NL + "\tpublic boolean isFactoryForType(Object object)" + NL + "\t{" + NL
+ + "\t\tif (object == modelPackage)" + NL + "\t\t{" + NL + "\t\t\treturn true;" + NL + "\t\t}" + NL
+ + "\t\tif (object instanceof EObject)" + NL + "\t\t{" + NL
+ + "\t\t\treturn ((EObject)object).eClass().getEPackage() == modelPackage;" + NL + "\t\t}" + NL
+ + "\t\treturn false;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * The switch that delegates to the <code>createXXX</code> methods." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_21 = " modelSwitch =" + NL + "\t\tnew ";
+ protected final String TEXT_22 = "()" + NL + "\t\t{";
+ protected final String TEXT_23 = NL + "\t\t\t@Override";
+ protected final String TEXT_24 = NL + "\t\t\tpublic ";
+ protected final String TEXT_25 = " case";
+ protected final String TEXT_26 = "(";
+ protected final String TEXT_27 = " object)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn create";
+ protected final String TEXT_28 = "Adapter();" + NL + "\t\t\t}";
+ protected final String TEXT_29 = " defaultCase(EObject object)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn create";
+ protected final String TEXT_30 = "Adapter();" + NL + "\t\t\t}" + NL + "\t\t};" + NL + "" + NL + "\t/**" + NL
+ + "\t * Creates an adapter for the <code>target</code>." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @param target the object to adapt." + NL
+ + "\t * @return the adapter for the <code>target</code>." + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_31 = NL + "\tpublic Adapter createAdapter(Notifier target)" + NL + "\t{" + NL
+ + "\t\treturn ";
+ protected final String TEXT_32 = "modelSwitch.doSwitch((EObject)target);" + NL + "\t}" + NL;
+ protected final String TEXT_33 = NL + NL + "\t/**" + NL
+ + "\t * Creates a new adapter for an object of class '{@link ";
+ protected final String TEXT_34 = " <em>";
+ protected final String TEXT_35 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * This default implementation returns null so that we can easily ignore cases;" + NL
+ + "\t * it's useful to ignore a case when inheritance will catch all the cases anyway." + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the new adapter." + NL + "\t * @see ";
+ protected final String TEXT_36 = NL + "\t * ";
+ protected final String TEXT_37 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_38 = NL + "\t\t@Deprecated";
+ protected final String TEXT_39 = NL + "\tpublic Adapter create";
+ protected final String TEXT_40 = "Adapter()" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}";
+ protected final String TEXT_41 = NL + NL + "\t/**" + NL + "\t * Creates a new adapter for the default case." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * This default implementation returns null." + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the new adapter." + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tpublic Adapter create";
+ protected final String TEXT_42 = "Adapter()" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}" + NL + "" + NL
+ + "} //";
+ protected final String TEXT_43 = NL;
+
+ public AdapterFactoryClass() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(TEXT_43);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getModelDirectory();
+ packageName = genPackage.getUtilitiesPackageName();
+ className = genPackage.getAdapterFactoryClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getUtilitiesPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.addImport("org.eclipse.emf.common.notify.Adapter");
+ genModel.addImport("org.eclipse.emf.common.notify.Notifier");
+ genModel.addImport("org.eclipse.emf.common.notify.impl.AdapterFactoryImpl");
+ genModel.addImport("org.eclipse.emf.ecore.EObject");
+ if (!genPackage.hasJavaLangConflict()
+ && !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName()))
+ genModel.addImport(genPackage.getInterfacePackageName() + ".*");
+ String typeArgument = genModel.useGenerics() ? "<Adapter>" : "";
+ String returnType = genModel.useGenerics() ? "Adapter" : genModel.getImportedName("java.lang.Object");
+ String adapterCast = genModel.useGenerics() ? "" : "(Adapter)";
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_6);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ } else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getAllSwitchGenClasses())) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genPackage.getAdapterFactoryClassName());
+ stringBuffer.append(TEXT_10);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genPackage.getAdapterFactoryClassName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_18);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genPackage.getSwitchClassName());
+ stringBuffer.append(typeArgument);
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genPackage.getSwitchClassName());
+ stringBuffer.append(typeArgument);
+ stringBuffer.append(TEXT_22);
+ for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genClass.getTypeParameters());
+ stringBuffer.append(returnType);
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genPackage.getClassUniqueName(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceTypeArguments());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genPackage.getClassUniqueName(genClass));
+ stringBuffer.append(TEXT_28);
+ }
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(returnType);
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genPackage.getClassUniqueName(null));
+ stringBuffer.append(TEXT_30);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(adapterCast);
+ stringBuffer.append(TEXT_32);
+ for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_37);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genPackage.getClassUniqueName(genClass));
+ stringBuffer.append(TEXT_40);
+ }
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genPackage.getClassUniqueName(null));
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genPackage.getAdapterFactoryClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_14);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isAdapterFactory()
+ && !genPackage.getGenClasses().isEmpty());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java
new file mode 100644
index 000000000..047efa4d7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java
@@ -0,0 +1,236 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized BuildProperties create(String lineSeparator) {
+ nl = lineSeparator;
+ BuildProperties result = new BuildProperties();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + NL + "bin.includes = ";
+ protected final String TEXT_3 = ",\\" + NL + " model/,\\";
+ protected final String TEXT_4 = NL + " icons/,\\";
+ protected final String TEXT_5 = NL + " META-INF/,\\";
+ protected final String TEXT_6 = NL + " plugin.xml,\\";
+ protected final String TEXT_7 = NL + " ";
+ protected final String TEXT_8 = ".properties";
+ protected final String TEXT_9 = NL + "jars.compile.order = ";
+ protected final String TEXT_10 = NL + "source.";
+ protected final String TEXT_11 = " = ";
+ protected final String TEXT_12 = NL + "output.";
+ protected final String TEXT_13 = " = bin/" + NL;
+ protected final String TEXT_14 = NL;
+
+ public BuildProperties() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_14);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getModelProjectDirectory() + "/build.properties";
+ overwrite = genModel.isUpdateClasspath()
+ && !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter)
+ .toURI(genModel.getModelProjectDirectory()).appendSegment("plugin.xml"));
+ encoding = "ISO-8859-1";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getModelPluginID() + ".jar" : ".";
+ List<String> sourceFolders = genModel.getModelSourceFolders();
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_3);
+ if (genModel.sameModelEditProject() || genModel.sameModelEditorProject()) {
+ stringBuffer.append(TEXT_4);
+ }
+ if (genModel.isBundleManifest()) {
+ stringBuffer.append(TEXT_5);
+ }
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_6);
+ }
+ String modelBundleLocalization = genModel.getModelBundleLocalization();
+ int index = modelBundleLocalization.indexOf("/");
+ if (index == -1) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(modelBundleLocalization);
+ stringBuffer.append(TEXT_8);
+ } else {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(modelBundleLocalization.substring(0, index + 1));
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(pluginClassesLocation);
+ boolean first = true;
+ for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {
+ String sourceFolder = i.next();
+ if (i.hasNext()) {
+ sourceFolder += ",\\";
+ }
+ if (first) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(sourceFolder);
+ first = false;
+ } else {
+ stringBuffer.append(sourceFolder);
+ }
+ }
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_13);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genModel.hasPluginSupport());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java
new file mode 100644
index 000000000..e9f3107d5
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java
@@ -0,0 +1,2262 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Class extends org.eclipse.egf.emf.pattern.base.GenClassJava {
+ protected static String nl;
+
+ public static synchronized Class create(String lineSeparator) {
+ nl = lineSeparator;
+ Class result = new Class();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * An implementation of the model object '<em><b>";
+ protected final String TEXT_6 = "</b></em>'." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_7 = NL + " * <p>" + NL + " * The following features are implemented:" + NL + " * </p>"
+ + NL + " * <ul>";
+ protected final String TEXT_8 = NL + " * <li>{@link ";
+ protected final String TEXT_9 = "#";
+ protected final String TEXT_10 = " <em>";
+ protected final String TEXT_11 = "</em>}</li>";
+ protected final String TEXT_12 = NL + " * </ul>";
+ protected final String TEXT_13 = NL + " *";
+ protected final String TEXT_14 = NL + " * ";
+ protected final String TEXT_15 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_16 = NL + "@Deprecated";
+ protected final String TEXT_17 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_18 = NL + "public";
+ protected final String TEXT_19 = " abstract";
+ protected final String TEXT_20 = " class ";
+ protected final String TEXT_21 = NL + "public interface ";
+ protected final String TEXT_22 = NL + "{";
+ protected final String TEXT_23 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_24 = " copyright = ";
+ protected final String TEXT_25 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_26 = " mofDriverNumber = \"";
+ protected final String TEXT_27 = "\";";
+ protected final String TEXT_28 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate static final long serialVersionUID = 1L;" + NL;
+ protected final String TEXT_29 = NL + "\t/**" + NL
+ + "\t * An array of objects representing the values of non-primitive features." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_30 = NL + "\t@";
+ protected final String TEXT_31 = NL + "\tprotected Object[] ";
+ protected final String TEXT_32 = ";" + NL;
+ protected final String TEXT_33 = NL + "\t/**" + NL
+ + "\t * A bit field representing the indices of non-primitive feature values." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_34 = NL + "\tprotected int ";
+ protected final String TEXT_35 = NL + "\t/**" + NL
+ + "\t * A set of bit flags representing the values of boolean attributes and whether unsettable features have been set."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_36 = " = 0;" + NL;
+ protected final String TEXT_37 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";
+ protected final String TEXT_38 = "() <em>";
+ protected final String TEXT_39 = "</em>}' array accessor." + NL
+ + "\t * This is specialized for the more specific element type known in this context." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+ protected final String TEXT_40 = "()";
+ protected final String TEXT_41 = NL + "\t * ";
+ protected final String TEXT_42 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_43 = NL + "\t@Deprecated";
+ protected final String TEXT_44 = NL + "\t@SuppressWarnings(\"rawtypes\")";
+ protected final String TEXT_45 = NL + "\tprotected static final ";
+ protected final String TEXT_46 = "[] ";
+ protected final String TEXT_47 = "_EEMPTY_ARRAY = new ";
+ protected final String TEXT_48 = " [0]";
+ protected final String TEXT_49 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int ";
+ protected final String TEXT_50 = " = ";
+ protected final String TEXT_51 = ".getFeatureID(";
+ protected final String TEXT_52 = ") - ";
+ protected final String TEXT_53 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_54 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_55 = NL + "\tprivate static final int ";
+ protected final String TEXT_56 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate static final int EOPERATION_OFFSET_CORRECTION = ";
+ protected final String TEXT_57 = ".getOperationID(";
+ protected final String TEXT_58 = "public";
+ protected final String TEXT_59 = "protected";
+ protected final String TEXT_60 = " ";
+ protected final String TEXT_61 = "()" + NL + "\t{";
+ protected final String TEXT_62 = NL + "\t\t";
+ protected final String TEXT_63 = " |= ";
+ protected final String TEXT_64 = "_EFLAG";
+ protected final String TEXT_65 = "_DEFAULT";
+ protected final String TEXT_66 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_67 = NL + "\t@Override";
+ protected final String TEXT_68 = NL + "\tprotected ";
+ protected final String TEXT_69 = " eStaticClass()" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_70 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_71 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_72 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_73 = NL + "\tpublic ";
+ protected final String TEXT_74 = " eInverseAdd(";
+ protected final String TEXT_75 = " otherEnd, int featureID, ";
+ protected final String TEXT_76 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+ protected final String TEXT_77 = ")" + NL + "\t\t{";
+ protected final String TEXT_78 = NL + "\t\t\tcase ";
+ protected final String TEXT_79 = ":";
+ protected final String TEXT_80 = NL + "\t\t\t\treturn ((";
+ protected final String TEXT_81 = "(";
+ protected final String TEXT_82 = ".InternalMapView";
+ protected final String TEXT_83 = ")";
+ protected final String TEXT_84 = "()).eMap()).basicAdd(otherEnd, msgs);";
+ protected final String TEXT_85 = NL + "\t\t\t\treturn (";
+ protected final String TEXT_86 = "()).basicAdd(otherEnd, msgs);";
+ protected final String TEXT_87 = NL + "\t\t\t\tif (eInternalContainer() != null)" + NL
+ + "\t\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);";
+ protected final String TEXT_88 = NL + "\t\t\t\treturn basicSet";
+ protected final String TEXT_89 = "((";
+ protected final String TEXT_90 = ")otherEnd, msgs);";
+ protected final String TEXT_91 = NL + "\t\t\t\treturn eBasicSetContainer(otherEnd, ";
+ protected final String TEXT_92 = ", msgs);";
+ protected final String TEXT_93 = NL + "\t\t\t\t";
+ protected final String TEXT_94 = " = (";
+ protected final String TEXT_95 = ")eVirtualGet(";
+ protected final String TEXT_96 = ");";
+ protected final String TEXT_97 = "basicGet";
+ protected final String TEXT_98 = "();";
+ protected final String TEXT_99 = NL + "\t\t\t\tif (";
+ protected final String TEXT_100 = " != null)";
+ protected final String TEXT_101 = NL + "\t\t\t\t\tmsgs = ";
+ protected final String TEXT_102 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_103 = ", null, msgs);";
+ protected final String TEXT_104 = ".eInverseRemove(this, ";
+ protected final String TEXT_105 = ", ";
+ protected final String TEXT_106 = ".class, msgs);";
+ protected final String TEXT_107 = NL + "\t\t\tdefault:";
+ protected final String TEXT_108 = NL + "\t\t}";
+ protected final String TEXT_109 = "\t\treturn super.eInverseAdd(otherEnd, featureID, msgs);";
+ protected final String TEXT_110 = "\t\treturn eDynamicInverseAdd(otherEnd, featureID, msgs);";
+ protected final String TEXT_111 = NL + "\t}" + NL;
+ protected final String TEXT_112 = " eInverseRemove(";
+ protected final String TEXT_113 = ")((";
+ protected final String TEXT_114 = "()).eMap()).basicRemove(otherEnd, msgs);";
+ protected final String TEXT_115 = ".Internal.Wrapper)";
+ protected final String TEXT_116 = "()).featureMap()).basicRemove(otherEnd, msgs);";
+ protected final String TEXT_117 = "()).basicRemove(otherEnd, msgs);";
+ protected final String TEXT_118 = NL + "\t\t\t\treturn eBasicSetContainer(null, ";
+ protected final String TEXT_119 = NL + "\t\t\t\treturn basicUnset";
+ protected final String TEXT_120 = "(msgs);";
+ protected final String TEXT_121 = "(null, msgs);";
+ protected final String TEXT_122 = "\t\treturn super.eInverseRemove(otherEnd, featureID, msgs);";
+ protected final String TEXT_123 = "\t\treturn eDynamicInverseRemove(otherEnd, featureID, msgs);";
+ protected final String TEXT_124 = " eBasicRemoveFromContainerFeature(";
+ protected final String TEXT_125 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (eContainerFeatureID()";
+ protected final String TEXT_126 = ":" + NL + "\t\t\t\treturn eInternalContainer().eInverseRemove(this, ";
+ protected final String TEXT_127 = "\t\treturn super.eBasicRemoveFromContainerFeature(msgs);";
+ protected final String TEXT_128 = "\t\treturn eDynamicBasicRemoveFromContainer(msgs);";
+ protected final String TEXT_129 = NL + "\tpublic Object eGet(int featureID, boolean resolve, boolean coreType)" + NL
+ + "\t{" + NL + "\t\tswitch (featureID";
+ protected final String TEXT_130 = NL + "\t\t\t\treturn ";
+ protected final String TEXT_131 = "() ? Boolean.TRUE : Boolean.FALSE;";
+ protected final String TEXT_132 = NL + "\t\t\t\treturn new ";
+ protected final String TEXT_133 = "());";
+ protected final String TEXT_134 = NL + "\t\t\t\tif (resolve) return ";
+ protected final String TEXT_135 = "();" + NL + "\t\t\t\treturn basicGet";
+ protected final String TEXT_136 = NL + "\t\t\t\tif (coreType) return ((";
+ protected final String TEXT_137 = "()).eMap();" + NL + "\t\t\t\telse return ";
+ protected final String TEXT_138 = NL + "\t\t\t\tif (coreType) return ";
+ protected final String TEXT_139 = "();" + NL + "\t\t\t\telse return ";
+ protected final String TEXT_140 = "().map();";
+ protected final String TEXT_141 = "()).featureMap();" + NL + "\t\t\t\treturn ";
+ protected final String TEXT_142 = "();" + NL + "\t\t\t\treturn ((";
+ protected final String TEXT_143 = ".Internal)";
+ protected final String TEXT_144 = "()).getWrapper();";
+ protected final String TEXT_145 = "\t\treturn super.eGet(featureID, resolve, coreType);";
+ protected final String TEXT_146 = "\t\treturn eDynamicGet(featureID, resolve, coreType);";
+ protected final String TEXT_147 = NL + "\tpublic void eSet(int featureID, Object newValue)" + NL + "\t{" + NL
+ + "\t\tswitch (featureID";
+ protected final String TEXT_148 = NL + "\t\t\t\t((";
+ protected final String TEXT_149 = ".Internal)((";
+ protected final String TEXT_150 = "()).featureMap()).set(newValue);";
+ protected final String TEXT_151 = "()).set(newValue);";
+ protected final String TEXT_152 = ".Setting)((";
+ protected final String TEXT_153 = "()).eMap()).set(newValue);";
+ protected final String TEXT_154 = ".Setting)";
+ protected final String TEXT_155 = "().clear();" + NL + "\t\t\t\t";
+ protected final String TEXT_156 = "().addAll((";
+ protected final String TEXT_157 = "<? extends ";
+ protected final String TEXT_158 = ">";
+ protected final String TEXT_159 = ")newValue);";
+ protected final String TEXT_160 = NL + "\t\t\t\tset";
+ protected final String TEXT_161 = "(((";
+ protected final String TEXT_162 = ")newValue).";
+ protected final String TEXT_163 = "newValue);";
+ protected final String TEXT_164 = NL + "\t\t\t\treturn;";
+ protected final String TEXT_165 = "\t\tsuper.eSet(featureID, newValue);";
+ protected final String TEXT_166 = "\t\teDynamicSet(featureID, newValue);";
+ protected final String TEXT_167 = NL + "\tpublic int eBaseStructuralFeatureID(int derivedFeatureID, Class";
+ protected final String TEXT_168 = " baseClass)" + NL + "\t{";
+ protected final String TEXT_169 = NL + "\t\tif (baseClass == ";
+ protected final String TEXT_170 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (derivedFeatureID";
+ protected final String TEXT_171 = ")" + NL + "\t\t\t{";
+ protected final String TEXT_172 = NL + "\t\t\t\tcase ";
+ protected final String TEXT_173 = ": return ";
+ protected final String TEXT_174 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+ protected final String TEXT_175 = NL + "\t\treturn super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);"
+ + NL + "\t}";
+ protected final String TEXT_176 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_177 = NL + "\tpublic int eDerivedStructuralFeatureID(int baseFeatureID, Class";
+ protected final String TEXT_178 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID)" + NL + "\t\t\t{";
+ protected final String TEXT_179 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID";
+ protected final String TEXT_180 = NL + "\t\treturn super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);"
+ + NL + "\t}" + NL;
+ protected final String TEXT_181 = NL + "\tpublic int eDerivedOperationID(int baseOperationID, Class";
+ protected final String TEXT_182 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";
+ protected final String TEXT_183 = NL
+ + "\t\t\t\tdefault: return super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t\t\t}" + NL
+ + "\t\t}";
+ protected final String TEXT_184 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID";
+ protected final String TEXT_185 = NL + "\t\treturn super.eDerivedOperationID(baseOperationID, baseClass);" + NL
+ + "\t}" + NL;
+ protected final String TEXT_186 = NL + "\tprotected Object[] eVirtualValues()" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_187 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_188 = NL + "\tprotected void eSetVirtualValues(Object[] newValues)" + NL + "\t{" + NL
+ + "\t\t";
+ protected final String TEXT_189 = " = newValues;" + NL + "\t}" + NL;
+ protected final String TEXT_190 = NL + "\tprotected int eVirtualIndexBits(int offset)" + NL + "\t{" + NL
+ + "\t\tswitch (offset)" + NL + "\t\t{";
+ protected final String TEXT_191 = " :" + NL + "\t\t\t\treturn ";
+ protected final String TEXT_192 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"
+ + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_193 = NL + "\tprotected void eSetVirtualIndexBits(int offset, int newIndexBits)" + NL
+ + "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";
+ protected final String TEXT_194 = " :" + NL + "\t\t\t\t";
+ protected final String TEXT_195 = " = newIndexBits;" + NL + "\t\t\t\tbreak;";
+ protected final String TEXT_196 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"
+ + NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_197 = NL + "\t@SuppressWarnings(";
+ protected final String TEXT_198 = "\"unchecked\"";
+ protected final String TEXT_199 = "{\"rawtypes\", \"unchecked\" }";
+ protected final String TEXT_200 = NL + "\tpublic Object eInvoke(int operationID, ";
+ protected final String TEXT_201 = " arguments) throws ";
+ protected final String TEXT_202 = NL + "\t{" + NL + "\t\tswitch (operationID";
+ protected final String TEXT_203 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{";
+ protected final String TEXT_204 = "arguments.get(";
+ protected final String TEXT_205 = ").";
+ protected final String TEXT_206 = ");" + NL + "\t\t\t\t";
+ protected final String TEXT_207 = "return null;";
+ protected final String TEXT_208 = "return ";
+ protected final String TEXT_209 = "new ";
+ protected final String TEXT_210 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";
+ protected final String TEXT_211 = " throwable)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tthrow new ";
+ protected final String TEXT_212 = "(throwable);" + NL + "\t\t\t\t}";
+ protected final String TEXT_213 = "\t\treturn super.eInvoke(operationID, arguments);";
+ protected final String TEXT_214 = "\t\treturn eDynamicInvoke(operationID, arguments);";
+ protected final String TEXT_215 = NL + "\tpublic String toString()" + NL + "\t{" + NL
+ + "\t\tif (eIsProxy()) return super.toString();" + NL + "" + NL + "\t\t";
+ protected final String TEXT_216 = " result = new ";
+ protected final String TEXT_217 = "(super.toString());";
+ protected final String TEXT_218 = NL + "\t\tresult.append(\" (";
+ protected final String TEXT_219 = ": \");";
+ protected final String TEXT_220 = NL + "\t\tresult.append(\", ";
+ protected final String TEXT_221 = NL + "\t\tif (eVirtualIsSet(";
+ protected final String TEXT_222 = ")) result.append(eVirtualGet(";
+ protected final String TEXT_223 = ")); else result.append(\"<unset>\");";
+ protected final String TEXT_224 = NL + "\t\tif (";
+ protected final String TEXT_225 = " & ";
+ protected final String TEXT_226 = "_ESETFLAG) != 0";
+ protected final String TEXT_227 = "ESet";
+ protected final String TEXT_228 = ") result.append((";
+ protected final String TEXT_229 = "_EFLAG) != 0); else result.append(\"<unset>\");";
+ protected final String TEXT_230 = ") result.append(";
+ protected final String TEXT_231 = "_EFLAG_VALUES[(";
+ protected final String TEXT_232 = "_EFLAG) >>> ";
+ protected final String TEXT_233 = "_EFLAG_OFFSET]); else result.append(\"<unset>\");";
+ protected final String TEXT_234 = "); else result.append(\"<unset>\");";
+ protected final String TEXT_235 = NL + "\t\tresult.append(eVirtualGet(";
+ protected final String TEXT_236 = "));";
+ protected final String TEXT_237 = NL + "\t\tresult.append((";
+ protected final String TEXT_238 = "_EFLAG) != 0);";
+ protected final String TEXT_239 = NL + "\t\tresult.append(";
+ protected final String TEXT_240 = "_EFLAG_OFFSET]);";
+ protected final String TEXT_241 = NL + "\t\tresult.append(')');" + NL + "\t\treturn result.toString();" + NL + "\t}"
+ + NL;
+ protected final String TEXT_242 = NL + "\tprotected int hash = -1;" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_243 = NL + "\tpublic int getHash()" + NL + "\t{" + NL + "\t\tif (hash == -1)" + NL
+ + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_244 = " theKey = getKey();" + NL
+ + "\t\t\thash = (theKey == null ? 0 : theKey.hashCode());" + NL + "\t\t}" + NL + "\t\treturn hash;" + NL
+ + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_245 = NL + "\tpublic void setHash(int hash)" + NL + "\t{" + NL + "\t\tthis.hash = hash;"
+ + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_246 = " getKey()" + NL + "\t{";
+ protected final String TEXT_247 = NL + "\t\treturn new ";
+ protected final String TEXT_248 = "(getTypedKey());";
+ protected final String TEXT_249 = NL + "\t\treturn getTypedKey();";
+ protected final String TEXT_250 = NL + "\tpublic void setKey(";
+ protected final String TEXT_251 = " key)" + NL + "\t{";
+ protected final String TEXT_252 = NL + "\t\tgetTypedKey().addAll(";
+ protected final String TEXT_253 = "key);";
+ protected final String TEXT_254 = NL + "\t\tsetTypedKey(key);";
+ protected final String TEXT_255 = NL + "\t\tsetTypedKey(((";
+ protected final String TEXT_256 = ")key).";
+ protected final String TEXT_257 = NL + "\t\tsetTypedKey((";
+ protected final String TEXT_258 = ")key);";
+ protected final String TEXT_259 = " getValue()" + NL + "\t{";
+ protected final String TEXT_260 = "(getTypedValue());";
+ protected final String TEXT_261 = NL + "\t\treturn getTypedValue();";
+ protected final String TEXT_262 = " setValue(";
+ protected final String TEXT_263 = " value)" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_264 = " oldValue = getValue();";
+ protected final String TEXT_265 = NL + "\t\tgetTypedValue().clear();" + NL + "\t\tgetTypedValue().addAll(";
+ protected final String TEXT_266 = "value);";
+ protected final String TEXT_267 = NL + "\t\tsetTypedValue(value);";
+ protected final String TEXT_268 = NL + "\t\tsetTypedValue(((";
+ protected final String TEXT_269 = ")value).";
+ protected final String TEXT_270 = NL + "\t\tsetTypedValue((";
+ protected final String TEXT_271 = ")value);";
+ protected final String TEXT_272 = NL + "\t\treturn oldValue;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_273 = " getEMap()" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_274 = " container = eContainer();" + NL + "\t\treturn container == null ? null : (";
+ protected final String TEXT_275 = ")container.eGet(eContainmentFeature());" + NL + "\t}" + NL;
+ protected final String TEXT_276 = NL + "} //";
+ protected final String TEXT_277 = NL;
+
+ public Class() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_277);
+ stringBuffer.append(TEXT_277);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenClass genClass = parameter;
+ targetPath = genClass.getGenModel().getModelDirectory();
+ packageName = genClass.getGenPackage().getClassPackageName();
+ className = genClass.getClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenClass genClass = parameter;
+ argument = ((Object[]) new Object[] { new Object[] { genClass,
+ genClass.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE, Boolean.TRUE } })[0];
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+
+ final GenClass genClass = (GenClass) ((Object[]) argument)[0];
+ final GenPackage genPackage = genClass.getGenPackage();
+ final GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ final boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+ final boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+ final boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()
+ && !(isInterface && isImplementation);
+ final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;
+ final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();
+ final String indentDefaultCase = forceDefaultCase ? "\t\t" : "";
+ final String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+ final String singleWildcard = isJDK50 ? "<?>" : "";
+ final String negativeOffsetCorrection = genClass.hasOffsetCorrection()
+ ? " - " + genClass.getOffsetCorrectionField(null)
+ : "";
+ final String positiveOffsetCorrection = genClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(null)
+ : "";
+ final String negativeOperationOffsetCorrection = genClass.hasOffsetCorrection()
+ ? " - EOPERATION_OFFSET_CORRECTION"
+ : "";
+ final String positiveOperationOffsetCorrection = genClass.hasOffsetCorrection()
+ ? " + EOPERATION_OFFSET_CORRECTION"
+ : "";
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (isInterface) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getInterfacePackageName());
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getClassPackageName());
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ genModel.markImportLocation(stringBuffer, genPackage);
+ if (isImplementation) {
+ genClass.addClassPsuedoImports();
+ }
+ stringBuffer.append(TEXT_4);
+ if (isInterface) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.interface.javadoc.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_C2iO4eXDEeCxnsoQRwU99Q",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/interface.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_6);
+ if (!genClass.getImplementedGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_7);
+ for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genClass.getQualifiedClassName());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ }
+ stringBuffer.append(TEXT_13);
+ if (genClass.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_15);
+ }
+ if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_16);
+ }
+ if (isImplementation) {
+ if (isJDK50 && !genClass.hasAPIDeprecatedTag()
+ && GenModelUtil.hasImplicitAPIDeprecatedTag(genClass.getEGetGenFeatures(),
+ genClass.getEIsSetGenFeatures(), genClass.getESetGenFeatures(),
+ genClass.getEUnsetGenFeatures(), genClass.getEInverseAddGenFeatures(),
+ genClass.getEInverseRemoveGenFeatures(), genClass.getEBasicRemoveFromContainerGenFeatures(),
+ genClass.getToStringGenFeatures())) {
+ stringBuffer.append(TEXT_17);
+ }
+ stringBuffer.append(TEXT_18);
+ if (genClass.isAbstract()) {
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genClass.getClassName());
+ stringBuffer.append(genClass.getTypeParameters().trim());
+ stringBuffer.append(genClass.getClassExtends());
+ stringBuffer.append(genClass.getClassImplements());
+ } else {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getInterfaceName());
+ stringBuffer.append(genClass.getTypeParameters().trim());
+ stringBuffer.append(genClass.getInterfaceExtends());
+ }
+ stringBuffer.append(TEXT_22);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_4);
+ }
+ if (isImplementation && genModel.getDriverNumber() != null) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genModel.getDriverNumber());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_4);
+ }
+ if (isImplementation && genClass.isJavaIOSerializable()) {
+ stringBuffer.append(TEXT_28);
+ }
+ if (isImplementation && genModel.isVirtualDelegation()) {
+ String eVirtualValuesField = genClass.getEVirtualValuesField();
+ if (eVirtualValuesField != null) {
+ stringBuffer.append(TEXT_29);
+ if (isGWT) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(eVirtualValuesField);
+ stringBuffer.append(TEXT_32);
+ }
+ {
+ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());
+ if (!eVirtualIndexBitFields.isEmpty()) {
+ for (String eVirtualIndexBitField : eVirtualIndexBitFields) {
+ stringBuffer.append(TEXT_33);
+ if (isGWT) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer
+ .append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(eVirtualIndexBitField);
+ stringBuffer.append(TEXT_32);
+ }
+ }
+ }
+ }
+ if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled()
+ && genModel.getBooleanFlagsReservedBits() == -1) {
+ stringBuffer.append(TEXT_35);
+ if (isGWT) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genModel.getBooleanFlagsField());
+ stringBuffer.append(TEXT_36);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()) {
+ for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {
+ if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+ && !genFeature.isMapType()) {
+ String rawListItemType = genFeature.getRawListItemType(genClass);
+ int index = rawListItemType.indexOf('[');
+ String head = rawListItemType;
+ String tail = "";
+ if (index != -1) {
+ head = rawListItemType.substring(0, index);
+ tail = rawListItemType.substring(index);
+ }
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_40);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_42);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_43);
+ }
+ if (genFeature.getQualifiedListItemType(genClass).contains("<")
+ || genFeature.getArrayItemType(genClass).contains("<")) {
+ stringBuffer.append(TEXT_44);
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(rawListItemType);
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(head);
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(tail);
+ stringBuffer.append(TEXT_32);
+ }
+ }
+ for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0jpGTmJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/declaredFieldGenFeature.override.javajetinc
+ }
+ }
+ if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genClass.getOffsetCorrectionField(null));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0)));
+ stringBuffer.append(TEXT_32);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()) {
+ for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+ GenFeature reverseFeature = genFeature.getReverse();
+ if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {
+ stringBuffer.append(TEXT_53);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_54);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_43);
+ }
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genClass.getOffsetCorrectionField(genFeature));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(reverseFeature.getGenClass().getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(reverseFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(TEXT_32);
+ }
+ }
+ }
+ if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection()
+ && !genClass.getImplementedGenOperations().isEmpty()) {
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0)));
+ stringBuffer.append(TEXT_32);
+ }
+ if (isImplementation) {
+ stringBuffer.append(TEXT_23);
+ if (genModel.isPublicConstructors()) {
+ stringBuffer.append(TEXT_58);
+ } else {
+ stringBuffer.append(TEXT_59);
+ }
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genClass.getClassName());
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_JLBM0HroEeC0XN9kbwkPYQ",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_64);
+ if (!genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_65);
+ }
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_66);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_70);
+ }
+ if (isImplementation && genModel.isDynamicDelegation()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicDelegation" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_WUeasCSWEemxeP6B0lLOpA",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kFyMGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/reflectiveDelegation.override.javajetinc
+ if (isImplementation) {
+ new Runnable() {
+ public void run() {
+ GenClass classExtendsGenClass = genClass.getClassExtendsGenClass();
+ List<GenFeature> classExtendsAllGenFeatures = classExtendsGenClass == null
+ ? Collections.<GenFeature>emptyList()
+ : classExtendsGenClass.getAllGenFeatures();
+ for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeatureReified.override" args="genFeature:genFeature,classExtendsGenClass:classExtendsGenClass,classExtendsAllGenFeatures:classExtendsAllGenFeatures,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("classExtendsGenClass", classExtendsGenClass);
+ callParameters.put("classExtendsAllGenFeatures", classExtendsAllGenFeatures);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_odzp0LM-EeKd56X4hcZPSw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/genFeatureReified.override.javajetinc
+ }
+ }
+ }.run();
+ }
+ new Runnable() {
+ public void run() {
+ for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures()
+ : genClass.getDeclaredGenFeatures())) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kO8IGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/genFeature.override.javajetinc
+ } //for
+ }
+ }.run();
+ for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations()
+ : genClass.getDeclaredGenOperations())) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0tBrwGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/implementedGenOperation.override.javajetinc
+ } //for
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useGenerics()) {
+ for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {
+ if (genFeature.isUncheckedCast(genClass)) {
+ stringBuffer.append(TEXT_72);
+ break;
+ }
+ }
+ }
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_74);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_79);
+ if (genFeature.isListType()) {
+ String cast = "(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")
+ + (!genModel.useGenerics() ? ")"
+ : "<" + genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject") + ">)("
+ + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")
+ + "<?>)");
+ if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(cast);
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_84);
+ } else {
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(cast);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_86);
+ }
+ } else if (genFeature.isContainer()) {
+ stringBuffer.append(TEXT_87);
+ if (genFeature.isBasicSet()) {
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_90);
+ } else {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_92);
+ }
+ } else {
+ if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_96);
+ } else if (genFeature.isVolatile()
+ || genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_50);
+ if (genFeature.isResolveProxies()) {
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(genFeature.getAccessorName());
+ } else {
+ stringBuffer.append(genFeature.getGetAccessor());
+ }
+ stringBuffer.append(TEXT_98);
+ }
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_100);
+ if (genFeature.isEffectiveContains()) {
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_103);
+ } else {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_106);
+ }
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_90);
+ }
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_109);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_110);
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_108);
+ }
+ stringBuffer.append(TEXT_111);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_79);
+ if (genFeature.isListType()) {
+ if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_113);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_114);
+ } else if (genFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_113);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_116);
+ } else {
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_117);
+ }
+ } else if (genFeature.isContainer() && !genFeature.isBasicSet()) {
+ stringBuffer.append(TEXT_118);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_92);
+ } else if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_119);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_120);
+ } else {
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_121);
+ }
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else { // {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_122);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_123);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_108);
+ } // }
+ stringBuffer.append(TEXT_111);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_124);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_125);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_106);
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else { // {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_127);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_128);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_108);
+ } // }
+ stringBuffer.append(TEXT_111);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEGetGenFeatures())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_129);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenFeature genFeature : genClass.getEGetGenFeatures()) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_79);
+ if (genFeature.isPrimitiveType()) {
+ if (isJDK50) {
+ stringBuffer.append(TEXT_130);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_98);
+ } else if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_130);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_131);
+ } else {
+ stringBuffer.append(TEXT_132);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_133);
+ }
+ } else if (genFeature.isResolveProxies() && !genFeature.isListType()) {
+ stringBuffer.append(TEXT_134);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_135);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_98);
+ } else if (genFeature.isMapType()) {
+ if (genFeature.isEffectiveSuppressEMFTypes()) {
+ stringBuffer.append(TEXT_136);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_137);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_98);
+ } else {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_139);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_140);
+ }
+ } else if (genFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_136);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_98);
+ } else if (genFeature.isFeatureMapType()) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_142);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_143);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_144);
+ } else {
+ stringBuffer.append(TEXT_130);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_98);
+ }
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else { // {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_145);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_146);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_108);
+ } // }
+ stringBuffer.append(TEXT_111);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getESetGenFeatures())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useGenerics()) {
+ for (GenFeature genFeature : genClass.getESetGenFeatures()) {
+ if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType()
+ && !genFeature.isMapType()) {
+ stringBuffer.append(TEXT_72);
+ break;
+ }
+ }
+ }
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_147);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenFeature genFeature : genClass.getESetGenFeatures()) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_79);
+ if (genFeature.isListType()) {
+ if (genFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_149);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_150);
+ } else if (genFeature.isFeatureMapType()) {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_143);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_151);
+ } else if (genFeature.isMapType()) {
+ if (genFeature.isEffectiveSuppressEMFTypes()) {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_152);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_153);
+ } else {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_154);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_151);
+ }
+ } else {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_155);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+ if (isJDK50) {
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_158);
+ }
+ stringBuffer.append(TEXT_159);
+ }
+ } else if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_160);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_161);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_162);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_133);
+ } else {
+ stringBuffer.append(TEXT_160);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_81);
+ if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()
+ || !genFeature.getRawType().equals(genFeature.getType(genClass))) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_163);
+ }
+ stringBuffer.append(TEXT_164);
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else { // {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_165);
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_164);
+ }
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_166);
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_164);
+ }
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_108);
+ } // }
+ stringBuffer.append(TEXT_111);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEUnsetGenFeatures())) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uN-kGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/eUnset.override.javajetinc
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEIsSetGenFeatures())) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uXvkGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/eIsSet.override.javajetinc
+ }
+ if (isImplementation && (!genClass.getMixinGenFeatures().isEmpty()
+ || genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty())) {
+ if (!genClass.getMixinGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_168);
+ for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_170);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_171);
+ for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_174);
+ }
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_176);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_168);
+ for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_178);
+ for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_174);
+ }
+ if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_179);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_171);
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_174);
+ }
+ stringBuffer.append(TEXT_180);
+ }
+ if (genModel.isOperationReflection() && isImplementation
+ && (!genClass.getMixinGenOperations().isEmpty()
+ || !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(),
+ genClass.getImplementedGenOperations()).isEmpty()
+ || genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_168);
+ for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) {
+ List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations();
+ List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();
+ if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations)
+ .isEmpty()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(extendedGenClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_182);
+ for (GenOperation genOperation : extendedImplementedGenOperations) {
+ GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+ if (implementedGenOperations.contains(overrideGenOperation)) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(extendedGenClass.getQualifiedOperationID(genOperation));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation));
+ stringBuffer.append(positiveOperationOffsetCorrection);
+ stringBuffer.append(TEXT_3);
+ }
+ }
+ stringBuffer.append(TEXT_183);
+ }
+ }
+ for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_182);
+ for (GenOperation genOperation : mixinGenClass.getGenOperations()) {
+ GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(mixinGenClass.getQualifiedOperationID(genOperation));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genClass.getQualifiedOperationID(
+ overrideGenOperation != null ? overrideGenOperation : genOperation));
+ stringBuffer.append(positiveOperationOffsetCorrection);
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_174);
+ }
+ if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_184);
+ stringBuffer.append(negativeOperationOffsetCorrection);
+ stringBuffer.append(TEXT_171);
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genClass.getQualifiedOperationID(genOperation));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genClass.getQualifiedOperationID(genOperation));
+ stringBuffer.append(positiveOperationOffsetCorrection);
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_174);
+ }
+ stringBuffer.append(TEXT_185);
+ }
+ if (isImplementation && genModel.isVirtualDelegation()) {
+ String eVirtualValuesField = genClass.getEVirtualValuesField();
+ if (eVirtualValuesField != null) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(eVirtualValuesField);
+ stringBuffer.append(TEXT_187);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_188);
+ stringBuffer.append(eVirtualValuesField);
+ stringBuffer.append(TEXT_189);
+ }
+ {
+ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());
+ if (!eVirtualIndexBitFields.isEmpty()) {
+ List<String> allEVirtualIndexBitFields = genClass
+ .getAllEVirtualIndexBitFields(new ArrayList<String>());
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_190);
+ for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(i);
+ stringBuffer.append(TEXT_191);
+ stringBuffer.append(allEVirtualIndexBitFields.get(i));
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_192);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_193);
+ for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(i);
+ stringBuffer.append(TEXT_194);
+ stringBuffer.append(allEVirtualIndexBitFields.get(i));
+ stringBuffer.append(TEXT_195);
+ }
+ stringBuffer.append(TEXT_196);
+ }
+ }
+ }
+ if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ if (genModel.useGenerics()) {
+ boolean isUnchecked = false;
+ boolean isRaw = false;
+ LOOP: for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods()
+ ? genClass.getImplementedGenOperations()
+ : genClass.getAllGenOperations())) {
+ for (GenParameter genParameter : genOperation.getGenParameters()) {
+ if (genParameter.isUncheckedCast()) {
+ if (genParameter.getTypeGenDataType() == null
+ || !genParameter.getTypeGenDataType().isObjectType()) {
+ isUnchecked = true;
+ }
+ if (genParameter.usesOperationTypeParameters() && !genParameter.getEcoreParameter()
+ .getEGenericType().getETypeArguments().isEmpty()) {
+ isRaw = true;
+ break LOOP;
+ }
+ }
+ }
+ }
+ if (isUnchecked) {
+ stringBuffer.append(TEXT_197);
+ if (!isRaw) {
+ stringBuffer.append(TEXT_198);
+ } else {
+ stringBuffer.append(TEXT_199);
+ }
+ stringBuffer.append(TEXT_83);
+ }
+ }
+ stringBuffer.append(TEXT_200);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EList"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+ : "java.lang.reflect.InvocationTargetException"));
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(negativeOperationOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods()
+ ? genClass.getImplementedGenOperations()
+ : genClass.getAllGenOperations())) {
+ List<GenParameter> genParameters = genOperation.getGenParameters();
+ int size = genParameters.size();
+ boolean hasCheckedException = genOperation.hasCheckedException();
+ String indent = hasCheckedException ? "\t" : "";
+ GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass
+ .getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation));
+ stringBuffer.append(TEXT_79);
+ if (hasCheckedException) {
+ stringBuffer.append(TEXT_203);
+ /*}*/}
+ if (genOperation.isVoid()) {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(indent);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_81);
+ for (int i = 0; i < size; i++) {
+ GenParameter genParameter = genParameters.get(i);
+ if (!isJDK50 && genParameter.isPrimitiveType()) {
+ stringBuffer.append(TEXT_81);
+ }
+ if (genParameter.getTypeGenDataType() == null
+ || !genParameter.getTypeGenDataType().isObjectType()
+ || !genParameter.usesOperationTypeParameters()
+ && !genParameter.getRawType().equals(genParameter.getType(genClass))) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(
+ genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType()
+ : genParameter.getObjectType(genClass));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_204);
+ stringBuffer.append(i);
+ stringBuffer.append(TEXT_83);
+ if (!isJDK50 && genParameter.isPrimitiveType()) {
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genParameter.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_40);
+ }
+ if (i < (size - 1)) {
+ stringBuffer.append(TEXT_105);
+ }
+ }
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(indent);
+ stringBuffer.append(TEXT_207);
+ } else {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(indent);
+ stringBuffer.append(TEXT_208);
+ if (!isJDK50 && genOperation.isPrimitiveType()) {
+ stringBuffer.append(TEXT_209);
+ stringBuffer.append(genOperation.getObjectType(genClass));
+ stringBuffer.append(TEXT_81);
+ }
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_81);
+ for (int i = 0; i < size; i++) {
+ GenParameter genParameter = genParameters.get(i);
+ if (!isJDK50 && genParameter.isPrimitiveType()) {
+ stringBuffer.append(TEXT_81);
+ }
+ if (genParameter.getTypeGenDataType() == null
+ || !genParameter.getTypeGenDataType().isObjectType()
+ || !genParameter.usesOperationTypeParameters()
+ && !genParameter.getRawType().equals(genParameter.getType(genClass))) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(
+ genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType()
+ : genParameter.getObjectType(genClass));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_204);
+ stringBuffer.append(i);
+ stringBuffer.append(TEXT_83);
+ if (!isJDK50 && genParameter.isPrimitiveType()) {
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genParameter.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_40);
+ }
+ if (i < (size - 1)) {
+ stringBuffer.append(TEXT_105);
+ }
+ }
+ stringBuffer.append(TEXT_83);
+ if (!isJDK50 && genOperation.isPrimitiveType()) {
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_3);
+ }
+ if (hasCheckedException) {/*{*/
+ stringBuffer.append(TEXT_210);
+ stringBuffer.append(genModel.getImportedName("java.lang.Throwable"));
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(
+ genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+ : "java.lang.reflect.InvocationTargetException"));
+ stringBuffer.append(TEXT_212);
+ }
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else { // {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_213);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_214);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_108);
+ } // }
+ stringBuffer.append(TEXT_111);
+ }
+ if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation()
+ && !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.useGenerics() ? "StringBuilder" : "StringBuffer");
+ stringBuffer.append(TEXT_216);
+ stringBuffer.append(genModel.useGenerics() ? "StringBuilder" : "StringBuffer");
+ stringBuffer.append(TEXT_217);
+ {
+ boolean first = true;
+ for (GenFeature genFeature : genClass.getToStringGenFeatures()) {
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ if (genFeature.isUnsettable() && !genFeature.isListType()) {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_223);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ if (genClass.isFlag(genFeature)) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_224);
+ if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_226);
+ } else {
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_227);
+ }
+ stringBuffer.append(TEXT_228);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_229);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_224);
+ if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_226);
+ } else {
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_227);
+ }
+ stringBuffer.append(TEXT_230);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_231);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_232);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_233);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ } else {
+ stringBuffer.append(TEXT_224);
+ if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_226);
+ } else {
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_227);
+ }
+ stringBuffer.append(TEXT_230);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_234);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ }
+ } else {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ if (!genFeature.isListType() && !genFeature.isReferenceType()) {
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(genFeature.getEDefault());
+ }
+ stringBuffer.append(TEXT_236);
+ } else {
+ if (genClass.isFlag(genFeature)) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_237);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_238);
+ } else {
+ stringBuffer.append(TEXT_239);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_231);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_232);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_240);
+ }
+ } else {
+ stringBuffer.append(TEXT_239);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_96);
+ }
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_241);
+ }
+ if (isImplementation && genClass.isMapEntry()) {
+ GenFeature keyFeature = genClass.getMapEntryKeyFeature();
+ GenFeature valueFeature = genClass.getMapEntryValueFeature();
+ String objectType = genModel.getImportedName("java.lang.Object");
+ String keyType = isJDK50 ? keyFeature.getObjectType(genClass) : objectType;
+ String valueType = isJDK50 ? valueFeature.getObjectType(genClass) : objectType;
+ String eMapType = genModel.getImportedName("org.eclipse.emf.common.util.EMap")
+ + (isJDK50 ? "<" + keyType + ", " + valueType + ">" : "");
+ stringBuffer.append(TEXT_71);
+ if (isGWT) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_242);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(objectType);
+ stringBuffer.append(TEXT_244);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_245);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(keyType);
+ stringBuffer.append(TEXT_246);
+ if (!isJDK50 && keyFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_247);
+ stringBuffer.append(keyFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_248);
+ } else {
+ stringBuffer.append(TEXT_249);
+ }
+ stringBuffer.append(TEXT_66);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_250);
+ stringBuffer.append(keyType);
+ stringBuffer.append(TEXT_251);
+ if (keyFeature.isListType()) {
+ stringBuffer.append(TEXT_252);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_253);
+ } else if (isJDK50) {
+ stringBuffer.append(TEXT_254);
+ } else if (keyFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_255);
+ stringBuffer.append(keyFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_256);
+ stringBuffer.append(keyFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_133);
+ } else {
+ stringBuffer.append(TEXT_257);
+ stringBuffer.append(keyFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_258);
+ }
+ stringBuffer.append(TEXT_66);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(valueType);
+ stringBuffer.append(TEXT_259);
+ if (!isJDK50 && valueFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_247);
+ stringBuffer.append(valueFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_260);
+ } else {
+ stringBuffer.append(TEXT_261);
+ }
+ stringBuffer.append(TEXT_66);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(valueType);
+ stringBuffer.append(TEXT_262);
+ stringBuffer.append(valueType);
+ stringBuffer.append(TEXT_263);
+ stringBuffer.append(valueType);
+ stringBuffer.append(TEXT_264);
+ if (valueFeature.isListType()) {
+ stringBuffer.append(TEXT_265);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_266);
+ } else if (isJDK50) {
+ stringBuffer.append(TEXT_267);
+ } else if (valueFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_268);
+ stringBuffer.append(valueFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_269);
+ stringBuffer.append(valueFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_133);
+ } else {
+ stringBuffer.append(TEXT_270);
+ stringBuffer.append(valueFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_271);
+ }
+ stringBuffer.append(TEXT_272);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(eMapType);
+ stringBuffer.append(TEXT_273);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+ stringBuffer.append(TEXT_274);
+ stringBuffer.append(eMapType);
+ stringBuffer.append(TEXT_275);
+ }
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ug5gGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_276);
+ stringBuffer.append(isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName());
+ // TODO fix the space above
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenClass genClass = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (!genClass.isInterface());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java
new file mode 100644
index 000000000..48a5ccd61
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java
@@ -0,0 +1,637 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class EnumClass extends org.eclipse.egf.emf.pattern.base.GenEnumJava {
+ protected static String nl;
+
+ public static synchronized EnumClass create(String lineSeparator) {
+ nl = lineSeparator;
+ EnumClass result = new EnumClass();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * A representation of the literals of the enumeration '<em><b>";
+ protected final String TEXT_5 = "</b></em>'," + NL + " * and utility methods for working with them." + NL
+ + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * <!-- begin-model-doc -->" + NL + " * ";
+ protected final String TEXT_7 = NL + " * <!-- end-model-doc -->";
+ protected final String TEXT_8 = NL + " * @see ";
+ protected final String TEXT_9 = "#get";
+ protected final String TEXT_10 = "()";
+ protected final String TEXT_11 = NL + " * @model ";
+ protected final String TEXT_12 = NL + " * ";
+ protected final String TEXT_13 = NL + " * @model";
+ protected final String TEXT_14 = NL + " * ";
+ protected final String TEXT_15 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_16 = NL + "@Deprecated";
+ protected final String TEXT_17 = NL + "public ";
+ protected final String TEXT_18 = "enum";
+ protected final String TEXT_19 = "final class";
+ protected final String TEXT_20 = " ";
+ protected final String TEXT_21 = "implements";
+ protected final String TEXT_22 = "extends";
+ protected final String TEXT_23 = NL + "{";
+ protected final String TEXT_24 = NL + "\t;" + NL;
+ protected final String TEXT_25 = NL + "\t/**" + NL + "\t * The '<em><b>";
+ protected final String TEXT_26 = "</b></em>' literal object." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_27 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";
+ protected final String TEXT_28 = NL + "\t * <!-- end-model-doc -->";
+ protected final String TEXT_29 = NL + "\t * @see #";
+ protected final String TEXT_30 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_31 = NL + "\t@Deprecated";
+ protected final String TEXT_32 = NL + "\t";
+ protected final String TEXT_33 = "(";
+ protected final String TEXT_34 = ", \"";
+ protected final String TEXT_35 = "\", ";
+ protected final String TEXT_36 = ")";
+ protected final String TEXT_37 = ",";
+ protected final String TEXT_38 = ";";
+ protected final String TEXT_39 = NL;
+ protected final String TEXT_40 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_41 = " copyright = ";
+ protected final String TEXT_42 = "</b></em>' literal value." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_43 = NL + "\t * @model ";
+ protected final String TEXT_44 = NL + "\t * ";
+ protected final String TEXT_45 = NL + "\t * @model";
+ protected final String TEXT_46 = NL + "\tpublic static final int ";
+ protected final String TEXT_47 = " = ";
+ protected final String TEXT_48 = "</b></em>' literal object." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+ protected final String TEXT_49 = NL + "\t * ";
+ protected final String TEXT_50 = NL + "\tpublic static final ";
+ protected final String TEXT_51 = " = new ";
+ protected final String TEXT_52 = ");";
+ protected final String TEXT_53 = NL + "\t/**" + NL + "\t * An array of all the '<em><b>";
+ protected final String TEXT_54 = "</b></em>' enumerators." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final ";
+ protected final String TEXT_55 = "[] VALUES_ARRAY =" + NL + "\t\tnew ";
+ protected final String TEXT_56 = "[]" + NL + "\t\t{";
+ protected final String TEXT_57 = NL + "\t\t\t";
+ protected final String TEXT_58 = NL + "\t\t};" + NL + "" + NL + "\t/**" + NL
+ + "\t * A public read-only list of all the '<em><b>";
+ protected final String TEXT_59 = "</b></em>' enumerators." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final List";
+ protected final String TEXT_60 = "<";
+ protected final String TEXT_61 = ">";
+ protected final String TEXT_62 = " VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));" + NL + ""
+ + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
+ protected final String TEXT_63 = "</b></em>' literal with the specified literal value." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @param literal the literal." + NL + "\t * @return the matching enumerator or <code>null</code>."
+ + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+ protected final String TEXT_64 = " get(";
+ protected final String TEXT_65 = " literal)" + NL + "\t{" + NL + "\t\tfor (int i = 0; i < VALUES_ARRAY.length; ++i)"
+ + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_66 = " result = VALUES_ARRAY[i];" + NL + "\t\t\tif (result.toString().equals(literal))"
+ + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn null;"
+ + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
+ protected final String TEXT_67 = "</b></em>' literal with the specified name." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param name the name." + NL
+ + "\t * @return the matching enumerator or <code>null</code>." + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static ";
+ protected final String TEXT_68 = " getByName(";
+ protected final String TEXT_69 = " name)" + NL + "\t{" + NL + "\t\tfor (int i = 0; i < VALUES_ARRAY.length; ++i)"
+ + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_70 = " result = VALUES_ARRAY[i];" + NL + "\t\t\tif (result.getName().equals(name))" + NL
+ + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn null;" + NL
+ + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
+ protected final String TEXT_71 = "</b></em>' literal with the specified integer value." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @param value the integer value." + NL + "\t * @return the matching enumerator or <code>null</code>."
+ + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+ protected final String TEXT_72 = " get(int value)" + NL + "\t{" + NL + "\t\tswitch (value)" + NL + "\t\t{";
+ protected final String TEXT_73 = NL + "\t\t\tcase ";
+ protected final String TEXT_74 = ": return ";
+ protected final String TEXT_75 = NL + "\t\t\tdefault: return null;" + NL + "\t\t}";
+ protected final String TEXT_76 = NL + "\t\t}" + NL + "\t\treturn null;";
+ protected final String TEXT_77 = NL + "\t}" + NL;
+ protected final String TEXT_78 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final int value;"
+ + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @generated" + NL + "\t */" + NL + "\tprivate final ";
+ protected final String TEXT_79 = " name;" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final ";
+ protected final String TEXT_80 = " literal;" + NL;
+ protected final String TEXT_81 = NL + "\t/**" + NL + "\t * Only this class can construct instances." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprivate ";
+ protected final String TEXT_82 = "(int value, ";
+ protected final String TEXT_83 = " name, ";
+ protected final String TEXT_84 = " literal)" + NL + "\t{";
+ protected final String TEXT_85 = NL + "\t\tthis.value = value;" + NL + "\t\tthis.name = name;" + NL
+ + "\t\tthis.literal = literal;";
+ protected final String TEXT_86 = NL + "\t\tsuper(value, name, literal);";
+ protected final String TEXT_87 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_88 = NL + "\t@Override";
+ protected final String TEXT_89 = NL + "\tpublic int getValue()" + NL + "\t{" + NL + "\t return value;" + NL + "\t}"
+ + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_90 = NL + "\tpublic ";
+ protected final String TEXT_91 = " getName()" + NL + "\t{" + NL + "\t return name;" + NL + "\t}" + NL + "" + NL
+ + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated"
+ + NL + "\t */";
+ protected final String TEXT_92 = " getLiteral()" + NL + "\t{" + NL + "\t return literal;" + NL + "\t}" + NL + ""
+ + NL + "\t/**" + NL
+ + "\t * Returns the literal value of the enumerator, which is its string representation." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_93 = " toString()" + NL + "\t{" + NL + "\t\treturn literal;" + NL + "\t}" + NL + "\t";
+ protected final String TEXT_94 = NL + "} //";
+ protected final String TEXT_95 = NL + "/**" + NL
+ + " * A private implementation interface used to hide the inheritance from Enumerator." + NL
+ + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL
+ + "interface Internal";
+ protected final String TEXT_96 = " extends org.eclipse.emf.common.util.Enumerator" + NL + "{" + NL + "\t// Empty "
+ + NL + "}";
+ protected final String TEXT_97 = NL + "/**" + NL + " * A private implementation class to construct the instances."
+ + NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */"
+ + NL + "class Internal";
+ protected final String TEXT_98 = " extends org.eclipse.emf.common.util.AbstractEnumerator" + NL + "{" + NL + "\t/**"
+ + NL + "\t * Only this class can construct instances." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected Internal";
+ protected final String TEXT_99 = " literal)" + NL + "\t{" + NL + "\t\tsuper(value, name, literal);" + NL + "\t}"
+ + NL + "}";
+ protected final String TEXT_100 = NL;
+
+ public EnumClass() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenEnum) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_100);
+ stringBuffer.append(TEXT_100);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenEnum genEnum = parameter;
+ targetPath = genEnum.getGenModel().getModelDirectory();
+ packageName = genEnum.getGenPackage().getInterfacePackageName();
+ className = genEnum.getName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenEnum genEnum = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+
+ GenEnum genEnum = (GenEnum) argument;
+ GenPackage genPackage = genEnum.getGenPackage();
+ GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getInterfacePackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.addImport("java.util.Arrays");
+ genModel.addImport("java.util.List");
+ genModel.addImport("java.util.Collections");
+ genModel.markImportLocation(stringBuffer, genPackage);
+ boolean isEnum = genModel.useGenerics();
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_5);
+ if (genEnum.hasDocumentation()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genEnum.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_10);
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genEnum.getModelInfo(), "\n\r"); stringTokenizer
+ .hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_13);
+ }
+ }
+ if (genEnum.hasImplicitAPITags(true)) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genEnum.getImplicitAPITags(genModel.getIndentation(stringBuffer), true));
+ }
+ stringBuffer.append(TEXT_15);
+ if (isJDK50 && genEnum.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_17);
+ if (isEnum) {
+ stringBuffer.append(TEXT_18);
+ } else {
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_20);
+ if (isEnum) {
+ stringBuffer.append(TEXT_21);
+ } else {
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(
+ genModel.isSuppressEMFMetaData() && !genModel.isSuppressInterfaces() ? "Internal" + genEnum.getName()
+ : genModel.getImportedName(isEnum ? "org.eclipse.emf.common.util.Enumerator"
+ : "org.eclipse.emf.common.util.AbstractEnumerator"));
+ stringBuffer.append(TEXT_23);
+ if (isEnum) {
+ if (genEnum.getGenEnumLiterals().isEmpty()) {
+ stringBuffer.append(TEXT_24);
+ } else {
+ for (Iterator<GenEnumLiteral> l = genEnum.getGenEnumLiterals().iterator(); l.hasNext();) {
+ GenEnumLiteral genEnumLiteral = l.next();
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genEnumLiteral.getFormattedName());
+ stringBuffer.append(TEXT_26);
+ if (genEnumLiteral.hasDocumentation()) {
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_28);
+ }
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
+ stringBuffer.append(TEXT_30);
+ if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genEnumLiteral.getValue());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genEnumLiteral.getName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel));
+ stringBuffer.append(TEXT_36);
+ if (l.hasNext()) {
+ stringBuffer.append(TEXT_37);
+ } else {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_39);
+ }
+ }
+ }
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_39);
+ }
+ for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genEnumLiteral.getFormattedName());
+ stringBuffer.append(TEXT_42);
+ if (genEnumLiteral.hasDocumentation()) {
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_28);
+ }
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genEnumLiteral.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_45);
+ }
+ }
+ stringBuffer.append(TEXT_30);
+ if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genEnumLiteral.getValue());
+ stringBuffer.append(TEXT_3);
+ }
+ if (!isEnum)
+ for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genEnumLiteral.getFormattedName());
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
+ if (genEnumLiteral.hasAPITags()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genEnumLiteral.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_30);
+ if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genEnumLiteral.getName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel));
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_39);
+ }
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_56);
+ for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+ stringBuffer.append(TEXT_37);
+ }
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_59);
+ if (isEnum) {
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_71);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_72);
+ for (GenEnumLiteral genEnumLiteral : genEnum.getUniqueValuedGenEnumLiterals()) {
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
+ stringBuffer.append(TEXT_74);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+ stringBuffer.append(TEXT_38);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_75);
+ } else { // {
+ stringBuffer.append(TEXT_76);
+ } // }
+ stringBuffer.append(TEXT_77);
+ if (isEnum) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_80);
+ }
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_84);
+ if (isEnum) {
+ stringBuffer.append(TEXT_85);
+ } else {
+ stringBuffer.append(TEXT_86);
+ }
+ stringBuffer.append(TEXT_77);
+ if (isEnum) {
+ stringBuffer.append(TEXT_87);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_88);
+ }
+ stringBuffer.append(TEXT_89);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_88);
+ }
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_91);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_88);
+ }
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_92);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_88);
+ }
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_93);
+ }
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genEnum.getName());
+ if (genModel.isSuppressEMFMetaData() && !genModel.isSuppressInterfaces()) {
+ stringBuffer.append(TEXT_39);
+ if (isEnum) {
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_96);
+ } else {
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_99);
+ }
+ }
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_39);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenEnum genEnum = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && true;
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java
new file mode 100644
index 000000000..e9d0d2958
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java
@@ -0,0 +1,1696 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class FactoryClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized FactoryClass create(String lineSeparator) {
+ nl = lineSeparator;
+ FactoryClass result = new FactoryClass();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * The <b>Factory</b> for the model." + NL
+ + " * It provides a create method for each non-abstract class of the model." + NL
+ + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * @see ";
+ protected final String TEXT_7 = NL + " * ";
+ protected final String TEXT_8 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_9 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * An implementation of the model <b>Factory</b>." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_10 = NL + "@Deprecated";
+ protected final String TEXT_11 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_12 = NL + "public class ";
+ protected final String TEXT_13 = " extends ";
+ protected final String TEXT_14 = " implements ";
+ protected final String TEXT_15 = NL + "public interface ";
+ protected final String TEXT_16 = NL + "{";
+ protected final String TEXT_17 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_18 = " copyright = ";
+ protected final String TEXT_19 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t";
+ protected final String TEXT_20 = " eINSTANCE = init();" + NL;
+ protected final String TEXT_21 = " INSTANCE = ";
+ protected final String TEXT_22 = ".eINSTANCE;" + NL;
+ protected final String TEXT_23 = " eINSTANCE = ";
+ protected final String TEXT_24 = ".init();" + NL;
+ protected final String TEXT_25 = NL + "\t/**" + NL + "\t * Creates the default factory implementation." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_26 = NL + "\tpublic static ";
+ protected final String TEXT_27 = " init()" + NL + "\t{" + NL + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_28 = " the";
+ protected final String TEXT_29 = " = (";
+ protected final String TEXT_30 = ")";
+ protected final String TEXT_31 = ".Registry.INSTANCE.getEFactory(";
+ protected final String TEXT_32 = ".eNS_URI);" + NL + "\t\t\tif (the";
+ protected final String TEXT_33 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn the";
+ protected final String TEXT_34 = ";" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL
+ + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_35 = ".INSTANCE.log(exception);" + NL + "\t\t}" + NL + "\t\treturn new ";
+ protected final String TEXT_36 = "();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Creates an instance of the factory." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_37 = "()" + NL + "\t{" + NL + "\t\tsuper();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_38 = NL + "\t@Override";
+ protected final String TEXT_39 = NL + "\tpublic EObject create(EClass eClass)" + NL + "\t{" + NL
+ + "\t\tswitch (eClass.getClassifierID())" + NL + "\t\t{";
+ protected final String TEXT_40 = NL + "\t\t\tcase ";
+ protected final String TEXT_41 = ".";
+ protected final String TEXT_42 = ": return ";
+ protected final String TEXT_43 = "create";
+ protected final String TEXT_44 = "();";
+ protected final String TEXT_45 = NL + "\t\t\tdefault:" + NL
+ + "\t\t\t\tthrow new IllegalArgumentException(\"The class '\" + eClass.getName() + \"' is not a valid classifier\");";
+ protected final String TEXT_46 = NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_47 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_48 = NL + "\tpublic Object createFromString(";
+ protected final String TEXT_49 = " eDataType, String initialValue)" + NL + "\t{" + NL
+ + "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";
+ protected final String TEXT_50 = ":" + NL + "\t\t\t\treturn create";
+ protected final String TEXT_51 = "FromString(eDataType, initialValue);";
+ protected final String TEXT_52 = NL + "\t\t\tdefault:" + NL
+ + "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";
+ protected final String TEXT_53 = NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_54 = NL + "\tpublic String convertToString(";
+ protected final String TEXT_55 = " eDataType, Object instanceValue)" + NL + "\t{" + NL
+ + "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";
+ protected final String TEXT_56 = ":" + NL + "\t\t\t\treturn convert";
+ protected final String TEXT_57 = "ToString(eDataType, instanceValue);";
+ protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_59 = NL + "\t * ";
+ protected final String TEXT_60 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_61 = NL + "\t@Deprecated";
+ protected final String TEXT_62 = NL + "\tpublic ";
+ protected final String TEXT_63 = " create";
+ protected final String TEXT_64 = "()" + NL + "\t{";
+ protected final String TEXT_65 = NL + "\t\t";
+ protected final String TEXT_66 = " ";
+ protected final String TEXT_67 = " = ";
+ protected final String TEXT_68 = "super.create(";
+ protected final String TEXT_69 = ");";
+ protected final String TEXT_70 = " = new ";
+ protected final String TEXT_71 = "()";
+ protected final String TEXT_72 = "{}";
+ protected final String TEXT_73 = NL + "\t\treturn ";
+ protected final String TEXT_74 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_75 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_76 = "(";
+ protected final String TEXT_77 = "final ";
+ protected final String TEXT_78 = "String ";
+ protected final String TEXT_79 = "it";
+ protected final String TEXT_80 = "literal";
+ protected final String TEXT_81 = ")" + NL + "\t{";
+ protected final String TEXT_82 = " result = ";
+ protected final String TEXT_83 = ".get(literal);" + NL
+ + "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + literal + \"' is not a valid enumerator of '\" + ";
+ protected final String TEXT_84 = ".getName() + \"'\");";
+ protected final String TEXT_85 = NL + "\t\treturn result;";
+ protected final String TEXT_86 = NL + "\t\treturn new ";
+ protected final String TEXT_87 = "(create";
+ protected final String TEXT_88 = "(literal));";
+ protected final String TEXT_89 = NL + "\t\treturn create";
+ protected final String TEXT_90 = "(literal);";
+ protected final String TEXT_91 = ".create";
+ protected final String TEXT_92 = ".createFromString(";
+ protected final String TEXT_93 = ", literal);";
+ protected final String TEXT_94 = NL + "\t\tif (literal == null) return null;" + NL + "\t\t";
+ protected final String TEXT_95 = " result = new ";
+ protected final String TEXT_96 = "<";
+ protected final String TEXT_97 = ">";
+ protected final String TEXT_98 = NL + "\t\tfor (";
+ protected final String TEXT_99 = " stringTokenizer = new ";
+ protected final String TEXT_100 = "(literal); stringTokenizer.hasMoreTokens(); )";
+ protected final String TEXT_101 = NL + "\t\tfor (String item : split(literal))";
+ protected final String TEXT_102 = NL + "\t\t{";
+ protected final String TEXT_103 = NL + "\t\t\tString item = stringTokenizer.nextToken();";
+ protected final String TEXT_104 = NL + "\t\t\tresult.add(create";
+ protected final String TEXT_105 = "(item));";
+ protected final String TEXT_106 = "FromString(";
+ protected final String TEXT_107 = ", item));";
+ protected final String TEXT_108 = NL + "\t\t\tresult.add(";
+ protected final String TEXT_109 = NL + "\t\t}" + NL + "\t\treturn result;";
+ protected final String TEXT_110 = NL + "\t\tif (literal == null) return ";
+ protected final String TEXT_111 = ";" + NL + "\t\t";
+ protected final String TEXT_112 = ";" + NL + "\t\tRuntimeException exception = null;";
+ protected final String TEXT_113 = NL + "\t\ttry" + NL + "\t\t{";
+ protected final String TEXT_114 = NL + "\t\t\tresult = create";
+ protected final String TEXT_115 = NL + "\t\t\tresult = (";
+ protected final String TEXT_116 = ")create";
+ protected final String TEXT_117 = NL + "\t\t\tresult = ";
+ protected final String TEXT_118 = NL + "\t\t\tif (";
+ protected final String TEXT_119 = "result != null && ";
+ protected final String TEXT_120 = ".INSTANCE.validate(";
+ protected final String TEXT_121 = ", ";
+ protected final String TEXT_122 = "new ";
+ protected final String TEXT_123 = "(result)";
+ protected final String TEXT_124 = "result";
+ protected final String TEXT_125 = ", null, null))" + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}"
+ + NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL + "\t\t{" + NL + "\t\t\texception = e;" + NL
+ + "\t\t}";
+ protected final String TEXT_126 = NL + "\t\tif (";
+ protected final String TEXT_127 = "result != null || ";
+ protected final String TEXT_128 = "exception == null) return result;" + NL + " " + NL + "\t\tthrow exception;";
+ protected final String TEXT_129 = NL + "\t\treturn (";
+ protected final String TEXT_130 = ")super.createFromString(literal);";
+ protected final String TEXT_131 = NL + "\t\t// TODO: implement this method" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";
+ protected final String TEXT_132 = NL + "\t\treturn ((";
+ protected final String TEXT_133 = ")super.createFromString(";
+ protected final String TEXT_134 = ", literal)).";
+ protected final String TEXT_135 = "super.createFromString(";
+ protected final String TEXT_136 = NL + "\t}" + NL;
+ protected final String TEXT_137 = " eDataType, String initialValue)" + NL + "\t{";
+ protected final String TEXT_138 = "(initialValue);";
+ protected final String TEXT_139 = ".get(initialValue);" + NL
+ + "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + initialValue + \"' is not a valid enumerator of '\" + eDataType.getName() + \"'\");";
+ protected final String TEXT_140 = ", initialValue);";
+ protected final String TEXT_141 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";
+ protected final String TEXT_142 = "(initialValue); stringTokenizer.hasMoreTokens(); )";
+ protected final String TEXT_143 = NL + "\t\tfor (String item : split(initialValue))";
+ protected final String TEXT_144 = "(initialValue));";
+ protected final String TEXT_145 = " result = null;" + NL + "\t\tRuntimeException exception = null;";
+ protected final String TEXT_146 = NL + "\t\t\tif (result != null && ";
+ protected final String TEXT_147 = ".INSTANCE.validate(eDataType, result, null, null))" + NL + "\t\t\t{" + NL
+ + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL
+ + "\t\t{" + NL + "\t\t\texception = e;" + NL + "\t\t}";
+ protected final String TEXT_148 = NL + "\t\tif (result != null || exception == null) return result;" + NL + " "
+ + NL + "\t\tthrow exception;";
+ protected final String TEXT_149 = "super.createFromString(initialValue);";
+ protected final String TEXT_150 = "super.createFromString(eDataType, initialValue);";
+ protected final String TEXT_151 = NL + "\tpublic String convert";
+ protected final String TEXT_152 = "instanceValue";
+ protected final String TEXT_153 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";
+ protected final String TEXT_154 = NL + "\t\treturn instanceValue == null ? null : convert";
+ protected final String TEXT_155 = "(instanceValue";
+ protected final String TEXT_156 = NL + "\t\treturn convert";
+ protected final String TEXT_157 = "(instanceValue);";
+ protected final String TEXT_158 = ".convert";
+ protected final String TEXT_159 = ".convertToString(";
+ protected final String TEXT_160 = ", instanceValue);";
+ protected final String TEXT_161 = NL + "\t\tif (instanceValue == null) return null;" + NL
+ + "\t\tif (instanceValue.isEmpty()) return \"\";" + NL + "\t\t";
+ protected final String TEXT_162 = " i = instanceValue.iterator(); i.hasNext(); )";
+ protected final String TEXT_163 = " item : instanceValue)";
+ protected final String TEXT_164 = NL + "\t\t\tresult.append(convert";
+ protected final String TEXT_165 = "((";
+ protected final String TEXT_166 = "));";
+ protected final String TEXT_167 = "ToString(";
+ protected final String TEXT_168 = NL + "\t\t\tresult.append(";
+ protected final String TEXT_169 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL
+ + "\t\treturn result.substring(0, result.length() - 1);";
+ protected final String TEXT_170 = NL + "\t\tif (instanceValue == null) return null;";
+ protected final String TEXT_171 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";
+ protected final String TEXT_172 = NL + "\t\t\t\tString value = convert";
+ protected final String TEXT_173 = "(((";
+ protected final String TEXT_174 = ")instanceValue).";
+ protected final String TEXT_175 = "());";
+ protected final String TEXT_176 = ")instanceValue);";
+ protected final String TEXT_177 = NL + "\t\t\t\tString value = ";
+ protected final String TEXT_178 = NL + "\t\t\t\tif (value != null) return value;" + NL + "\t\t\t}" + NL
+ + "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t\t}" + NL + "\t\t}";
+ protected final String TEXT_179 = NL + "\t\t\tString value = convert";
+ protected final String TEXT_180 = "(instanceValue)";
+ protected final String TEXT_181 = NL + "\t\t\tString value = ";
+ protected final String TEXT_182 = NL + "\t\t\tif (value != null) return value;" + NL + "\t\t}" + NL
+ + "\t\tcatch (Exception e)" + NL + "\t\t{" + NL
+ + "\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t}";
+ protected final String TEXT_183 = NL
+ + "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+";
+ protected final String TEXT_184 = ".getName());";
+ protected final String TEXT_185 = NL + "\t\treturn super.convertToString(instanceValue);";
+ protected final String TEXT_186 = NL + "\t\treturn super.convertToString(";
+ protected final String TEXT_187 = ", new ";
+ protected final String TEXT_188 = "(instanceValue));";
+ protected final String TEXT_189 = " eDataType, Object instanceValue)" + NL + "\t{";
+ protected final String TEXT_190 = NL + "\t\tif (instanceValue == null) return null;" + NL + "\t\t";
+ protected final String TEXT_191 = " list = (";
+ protected final String TEXT_192 = ")instanceValue;" + NL + "\t\tif (list.isEmpty()) return \"\";" + NL + "\t\t";
+ protected final String TEXT_193 = " i = list.iterator(); i.hasNext(); )";
+ protected final String TEXT_194 = " item : list)";
+ protected final String TEXT_195 = ")instanceValue)";
+ protected final String TEXT_196 = NL
+ + "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+eDataType.getName());";
+ protected final String TEXT_197 = ")instanceValue";
+ protected final String TEXT_198 = ").";
+ protected final String TEXT_199 = NL + "\t\treturn super.convertToString(eDataType, instanceValue);";
+ protected final String TEXT_200 = NL + "\t/**" + NL + "\t * Returns a new object of class '<em>";
+ protected final String TEXT_201 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return a new object of class '<em>";
+ protected final String TEXT_202 = "</em>'.";
+ protected final String TEXT_203 = NL + "\t";
+ protected final String TEXT_204 = "();" + NL;
+ protected final String TEXT_205 = NL + "\t/**" + NL + "\t * Returns an instance of data type '<em>";
+ protected final String TEXT_206 = "</em>' corresponding the given literal." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param literal a literal of the data type." + NL
+ + "\t * @return a new instance value of the data type.";
+ protected final String TEXT_207 = "(String literal);" + NL + "" + NL + "\t/**" + NL
+ + "\t * Returns a literal representation of an instance of data type '<em>";
+ protected final String TEXT_208 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @param instanceValue an instance value of the data type." + NL
+ + "\t * @return a literal representation of the instance value.";
+ protected final String TEXT_209 = NL + "\tString convert";
+ protected final String TEXT_210 = " instanceValue);" + NL;
+ protected final String TEXT_211 = NL + "\t/**" + NL + "\t * Returns the package supported by this factory." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the package supported by this factory." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_212 = " get";
+ protected final String TEXT_213 = "()" + NL + "\t{" + NL + "\t\treturn (";
+ protected final String TEXT_214 = ")getEPackage();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @deprecated" + NL
+ + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_215 = " getPackage()" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_216 = ".eINSTANCE;" + NL + "\t}" + NL;
+ protected final String TEXT_217 = NL + "} //";
+ protected final String TEXT_218 = NL;
+
+ public FactoryClass() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(TEXT_218);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getModelDirectory();
+ packageName = genPackage.getReflectionClassPackageName();
+ className = genPackage.getFactoryClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = ((Object[]) new Object[] { new Object[] { genPackage,
+ genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE, Boolean.TRUE } })[0];
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];
+ GenModel genModel = genPackage.getGenModel();
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+ boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+ boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()
+ && !(isInterface && isImplementation);
+ String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (isInterface || genModel.isSuppressInterfaces()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getReflectionPackageName());
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getClassPackageName());
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ if (isImplementation) {
+ genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");
+ genModel.addImport("org.eclipse.emf.ecore.EClass");
+ genModel.addImport("org.eclipse.emf.ecore.EObject");
+ if (!genPackage.hasJavaLangConflict() && !genPackage.hasInterfaceImplConflict()
+ && !genPackage.getClassPackageName().equals(genPackage.getInterfacePackageName()))
+ genModel.addImport(genPackage.getInterfacePackageName() + ".*");
+ }
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ if (isInterface) {
+ stringBuffer.append(TEXT_5);
+ if (!genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ }
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ } else {
+ stringBuffer.append(TEXT_9);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ }
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ if (isImplementation) {
+ if (isJDK50 && !genPackage.hasAPIDeprecatedTag()) {
+ List<GenClassifier> genClassifiers = new ArrayList<GenClassifier>(genPackage.getGenClassifiers());
+ for (Iterator<GenClassifier> i = genClassifiers.iterator(); i.hasNext();) {
+ GenClassifier genClassifier = i.next();
+ if (genClassifier instanceof GenClass && ((GenClass) genClassifier).isAbstract())
+ i.remove();
+ }
+ if (GenModelUtil.hasAPIDeprecatedTag(genClassifiers)) {
+ stringBuffer.append(TEXT_11);
+ }
+ }
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genPackage.getFactoryClassName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EFactoryImpl"));
+ if (!genModel.isSuppressInterfaces()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+ }
+ } else {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genPackage.getFactoryInterfaceName());
+ if (!genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EFactory"));
+ }
+ }
+ stringBuffer.append(TEXT_16);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_4);
+ }
+ if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genPackage.getFactoryClassName());
+ stringBuffer.append(TEXT_20);
+ }
+ if (isInterface && genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genPackage.getFactoryInterfaceName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genPackage.getQualifiedFactoryClassName());
+ stringBuffer.append(TEXT_22);
+ } else if (isInterface && !genModel.isSuppressInterfaces()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genPackage.getFactoryInterfaceName());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genPackage.getQualifiedFactoryClassName());
+ stringBuffer.append(TEXT_24);
+ }
+ if (isImplementation) {
+ stringBuffer.append(TEXT_25);
+ String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName()
+ : genPackage.getImportedFactoryInterfaceName();
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(factoryType);
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(factoryType);
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genPackage.getFactoryName());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(factoryType);
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getPackageInterfaceName());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genPackage.getFactoryName());
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genPackage.getFactoryName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genPackage.getImportedFactoryClassName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genPackage.getFactoryClassName());
+ stringBuffer.append(TEXT_37);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_39);
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.isAbstract()) {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getClassifierID());
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(!genClass.isEObjectExtension() ? "(EObject)" : "");
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_44);
+ }
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_46);
+ if (!genPackage.getAllGenDataTypes().isEmpty()) {
+ stringBuffer.append(TEXT_47);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+ stringBuffer.append(TEXT_49);
+ for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+ if (genDataType.isSerializable()) {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genDataType.getClassifierID());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_51);
+ }
+ }
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_53);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+ stringBuffer.append(TEXT_55);
+ for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+ if (genDataType.isSerializable()) {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genDataType.getClassifierID());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_57);
+ }
+ }
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_46);
+ }
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.isAbstract()) {
+ stringBuffer.append(TEXT_58);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genClass.getTypeParameters());
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceTypeArguments());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_64);
+ if (genClass.isDynamic()) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceTypeArguments());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClass.getCastFromEObject());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_69);
+ } else {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClass.getImportedClassName());
+ stringBuffer.append(genClass.getClassTypeArguments());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genClass.getImportedClassName());
+ stringBuffer.append(genClass.getClassTypeArguments());
+ stringBuffer.append(TEXT_71);
+ if (genModel.isSuppressInterfaces() && !genPackage.getReflectionPackageName()
+ .equals(genPackage.getInterfacePackageName())) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_74);
+ }
+ }
+ for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+ if (genDataType.isSerializable()) {
+ if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+ String eDataType = genDataType.getQualifiedClassifierAccessor();
+ stringBuffer.append(TEXT_58);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_75);
+ }
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_76);
+ if (genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_77);
+ }
+ stringBuffer.append(TEXT_78);
+ if (genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_79);
+ } else {
+ stringBuffer.append(TEXT_80);
+ }
+ stringBuffer.append(TEXT_81);
+ if (genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genDataType.getCreatorBody(genModel.getIndentation(stringBuffer)));
+ } else if (genDataType instanceof GenEnum) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(genModel.getNonNLS(3));
+ stringBuffer.append(TEXT_85);
+ } else if (genDataType.getBaseType() != null) {
+ GenDataType genBaseType = genDataType.getBaseType();
+ boolean isPrimitiveConversion = !genDataType.isPrimitiveType()
+ && genBaseType.isPrimitiveType();
+ if (genBaseType.getGenPackage() == genPackage) {
+ if (isPrimitiveConversion && !isJDK50) {
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_88);
+ } else {
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_90);
+ }
+ } else if (genBaseType.getGenPackage().isDataTypeConverters()) {
+ if (isPrimitiveConversion && !isJDK50) {
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(
+ genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_88);
+ } else {
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(
+ genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_90);
+ }
+ } else {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(
+ genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_93);
+ }
+ } else if (genDataType.getItemType() != null) {
+ GenDataType genItemType = genDataType.getItemType();
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(
+ genItemType.getObjectType().getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_97);
+ }
+ stringBuffer.append(TEXT_44);
+ if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+ stringBuffer.append(TEXT_100);
+ } else {
+ stringBuffer.append(TEXT_101);
+ }
+ stringBuffer.append(TEXT_102);
+ if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+ stringBuffer.append(TEXT_103);
+ }
+ if (genItemType.getGenPackage() == genPackage) {
+ if (genPackage.isDataTypeConverters()) {
+ genItemType = genItemType.getObjectType();
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_105);
+ } else {
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_107);
+ }
+ } else {
+ if (genItemType.getGenPackage().isDataTypeConverters()) {
+ genItemType = genItemType.getObjectType();
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_105);
+ } else {
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_107);
+ }
+ }
+ stringBuffer.append(TEXT_109);
+ } else if (!genDataType.getMemberTypes().isEmpty()) {
+ stringBuffer.append(TEXT_110);
+ stringBuffer.append(genDataType.getStaticValue(null));
+ stringBuffer.append(TEXT_111);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genDataType.getStaticValue(null));
+ stringBuffer.append(TEXT_112);
+ for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+ stringBuffer.append(TEXT_113);
+ if (genMemberType.getGenPackage() == genPackage) {
+ if (genPackage.isDataTypeConverters()) {
+ if (!genDataType.isPrimitiveType())
+ genMemberType = genMemberType.getObjectType();
+ stringBuffer.append(TEXT_114);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_90);
+ } else {
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_93);
+ }
+ } else {
+ if (genPackage.isDataTypeConverters()) {
+ if (!genDataType.isPrimitiveType())
+ genMemberType = genMemberType.getObjectType();
+ stringBuffer.append(TEXT_117);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_90);
+ } else {
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_93);
+ }
+ }
+ stringBuffer.append(TEXT_118);
+ if (!genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_119);
+ }
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));
+ stringBuffer.append(TEXT_120);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_121);
+ if (genDataType.isPrimitiveType() && !isJDK50) {
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_123);
+ } else {
+ stringBuffer.append(TEXT_124);
+ }
+ stringBuffer.append(TEXT_125);
+ }
+ stringBuffer.append(TEXT_126);
+ if (!genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_127);
+ }
+ stringBuffer.append(TEXT_128);
+ } else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+ && (genDataType.isArrayType()
+ || !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+ || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+ stringBuffer.append(TEXT_129);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_130);
+ } else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_131);
+ stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+ stringBuffer.append(TEXT_44);
+ } else if (genDataType.isPrimitiveType() && !isJDK50) {
+ stringBuffer.append(TEXT_132);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_133);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_134);
+ stringBuffer.append(genDataType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_135);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_93);
+ }
+ stringBuffer.append(TEXT_136);
+ }
+ stringBuffer.append(TEXT_58);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast()
+ && !genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_75);
+ }
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+ stringBuffer.append(TEXT_137);
+ if (genDataType instanceof GenEnum) {
+ if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_138);
+ } else {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());
+ stringBuffer.append(TEXT_139);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(genModel.getNonNLS(3));
+ stringBuffer.append(TEXT_85);
+ }
+ } else if (genDataType.getBaseType() != null) {
+ GenDataType genBaseType = genDataType.getBaseType();
+ if (genBaseType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.getObjectInstanceClassName()
+ .equals(genBaseType.getObjectInstanceClassName())) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_140);
+ } else {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer
+ .append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_140);
+ }
+ } else if (genDataType.getItemType() != null) {
+ GenDataType genItemType = genDataType.getItemType();
+ if (genPackage.isDataTypeConverters()) {
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_138);
+ } else {
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(
+ genItemType.getObjectType().getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_97);
+ }
+ stringBuffer.append(TEXT_44);
+ if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+ stringBuffer.append(TEXT_142);
+ } else {
+ stringBuffer.append(TEXT_143);
+ }
+ stringBuffer.append(TEXT_102);
+ if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+ stringBuffer.append(TEXT_103);
+ }
+ if (genItemType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_107);
+ } else {
+ stringBuffer.append(TEXT_108);
+ if (!genItemType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genItemType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_107);
+ }
+ stringBuffer.append(TEXT_109);
+ }
+ } else if (!genDataType.getMemberTypes().isEmpty()) {
+ if (genPackage.isDataTypeConverters()) {
+ if (genDataType.isPrimitiveType() && !isJDK50) {
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_144);
+ } else {
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_138);
+ }
+ } else {
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_145);
+ for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+ stringBuffer.append(TEXT_113);
+ if (genMemberType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_117);
+ if (!genDataType.isObjectType() && !genDataType.getObjectInstanceClassName()
+ .equals(genMemberType.getObjectInstanceClassName())) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_140);
+ } else {
+ stringBuffer.append(TEXT_117);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_140);
+ }
+ stringBuffer.append(TEXT_146);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));
+ stringBuffer.append(TEXT_147);
+ }
+ stringBuffer.append(TEXT_148);
+ }
+ } else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_138);
+ } else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+ && (genDataType.isArrayType()
+ || !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+ || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_149);
+ } else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_131);
+ stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_150);
+ }
+ stringBuffer.append(TEXT_136);
+ if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+ String eDataType = genDataType.getQualifiedClassifierAccessor();
+ stringBuffer.append(TEXT_58);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_151);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_76);
+ if (genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_77);
+ }
+ stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_66);
+ if (genDataType.hasConverterBody()) {
+ stringBuffer.append(TEXT_79);
+ } else {
+ stringBuffer.append(TEXT_152);
+ }
+ stringBuffer.append(TEXT_81);
+ if (genDataType.hasConverterBody()) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genDataType.getConverterBody(genModel.getIndentation(stringBuffer)));
+ } else if (genDataType instanceof GenEnum) {
+ stringBuffer.append(TEXT_153);
+ } else if (genDataType.getBaseType() != null) {
+ GenDataType genBaseType = genDataType.getBaseType();
+ boolean isPrimitiveConversion = !genDataType.isPrimitiveType()
+ && genBaseType.isPrimitiveType();
+ if (genBaseType.getGenPackage() == genPackage) {
+ if (isPrimitiveConversion) {
+ stringBuffer.append(TEXT_154);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_155);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genBaseType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_69);
+ } else {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_157);
+ }
+ } else if (genBaseType.getGenPackage().isDataTypeConverters()) {
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_157);
+ } else {
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(
+ genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ }
+ } else if (genDataType.getItemType() != null) {
+ GenDataType genItemType = genDataType.getItemType();
+ stringBuffer.append(TEXT_161);
+ stringBuffer.append(genModel.getImportedName(
+ genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer"));
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName(
+ genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer"));
+ stringBuffer.append(TEXT_44);
+ String item;
+ if (!genModel.useGenerics()) {
+ item = "i.next()";
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+ stringBuffer.append(TEXT_162);
+ } else {
+ item = "item";
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+ stringBuffer.append(TEXT_163);
+ }
+ stringBuffer.append(TEXT_102);
+ if (genItemType.getGenPackage() == genPackage) {
+ if (genPackage.isDataTypeConverters()) {
+ genItemType = genItemType.getObjectType();
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genItemType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ } else {
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ }
+ } else {
+ if (genItemType.getGenPackage().isDataTypeConverters()) {
+ genItemType = genItemType.getObjectType();
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genItemType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ } else {
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ }
+ }
+ stringBuffer.append(TEXT_169);
+ } else if (!genDataType.getMemberTypes().isEmpty()) {
+ if (!genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_170);
+ for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_171);
+ if (genMemberType.getGenPackage() == genPackage) {
+ if (genPackage.isDataTypeConverters()) {
+ if (genMemberType.getQualifiedInstanceClassName()
+ .equals(genDataType.getQualifiedInstanceClassName())) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_157);
+ } else if (genMemberType.isPrimitiveType() && !isJDK50) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(
+ genMemberType.getObjectType().getImportedInstanceClassName());
+ stringBuffer.append(TEXT_174);
+ stringBuffer.append(genMemberType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_175);
+ } else {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genMemberType.getObjectType()
+ .getImportedBoundedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_176);
+ }
+ } else {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ }
+ } else {
+ if (genMemberType.getGenPackage().isDataTypeConverters()) {
+ genMemberType = genMemberType.getObjectType();
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genMemberType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_176);
+ } else {
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ }
+ }
+ stringBuffer.append(TEXT_178);
+ }
+ } else {
+ for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+ stringBuffer.append(TEXT_113);
+ if (genMemberType.getGenPackage() == genPackage) {
+ if (genPackage.isDataTypeConverters()) {
+ stringBuffer.append(TEXT_179);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_157);
+ } else {
+ stringBuffer.append(TEXT_179);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genMemberType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_180);
+ } else {
+ stringBuffer.append(TEXT_152);
+ }
+ stringBuffer.append(TEXT_69);
+ }
+ } else {
+ if (genMemberType.getGenPackage().isDataTypeConverters()) {
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_157);
+ } else {
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genMemberType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_180);
+ } else {
+ stringBuffer.append(TEXT_152);
+ }
+ stringBuffer.append(TEXT_69);
+ }
+ }
+ stringBuffer.append(TEXT_182);
+ }
+ }
+ stringBuffer.append(TEXT_183);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_184);
+ } else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+ && (genDataType.isArrayType()
+ || !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+ || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+ stringBuffer.append(TEXT_185);
+ } else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_131);
+ stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+ stringBuffer.append(TEXT_44);
+ } else if (genDataType.isPrimitiveType() && !isJDK50) {
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_187);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_188);
+ } else {
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_160);
+ }
+ stringBuffer.append(TEXT_136);
+ }
+ stringBuffer.append(TEXT_58);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast())
+ && (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {
+ stringBuffer.append(TEXT_75);
+ }
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_151);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+ stringBuffer.append(TEXT_189);
+ if (genDataType instanceof GenEnum) {
+ if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_176);
+ } else {
+ stringBuffer.append(TEXT_153);
+ }
+ } else if (genDataType.getBaseType() != null) {
+ GenDataType genBaseType = genDataType.getBaseType();
+ if (genBaseType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ } else {
+ stringBuffer.append(TEXT_73);
+ stringBuffer
+ .append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ }
+ } else if (genDataType.getItemType() != null) {
+ GenDataType genItemType = genDataType.getItemType();
+ if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_176);
+ } else {
+ final String singleWildcard = genModel.useGenerics() ? "<?>" : "";
+ stringBuffer.append(TEXT_190);
+ stringBuffer.append(genModel.getImportedName("java.util.List"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_191);
+ stringBuffer.append(genModel.getImportedName("java.util.List"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_192);
+ stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+ stringBuffer.append(TEXT_44);
+ String item;
+ if (!genModel.useGenerics()) {
+ item = "i.next()";
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+ stringBuffer.append(TEXT_193);
+ } else {
+ item = "item";
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+ stringBuffer.append(TEXT_194);
+ }
+ stringBuffer.append(TEXT_102);
+ if (genItemType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ } else {
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ }
+ stringBuffer.append(TEXT_169);
+ }
+ } else if (!genDataType.getMemberTypes().isEmpty()) {
+ if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+ if (genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_154);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_195);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genDataType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_69);
+ } else {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_157);
+ }
+ } else {
+ stringBuffer.append(TEXT_170);
+ for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_171);
+ if (genMemberType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ } else {
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ }
+ stringBuffer.append(TEXT_178);
+ }
+ stringBuffer.append(TEXT_196);
+ }
+ } else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+ if (genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_154);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_76);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_197);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genDataType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_69);
+ } else {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_176);
+ }
+ } else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+ && (genDataType.isArrayType()
+ || !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+ || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+ stringBuffer.append(TEXT_185);
+ } else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_131);
+ stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_199);
+ }
+ stringBuffer.append(TEXT_136);
+ }
+ }
+ } else {
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (genClass.hasFactoryInterfaceCreateMethod()) {
+ stringBuffer.append(TEXT_200);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_202);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_203);
+ stringBuffer.append(genClass.getTypeParameters());
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceTypeArguments());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_204);
+ }
+ }
+ if (genPackage.isDataTypeConverters()) {
+ for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+ if (genDataType.isSerializable()) {
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_206);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_203);
+ stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_207);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_208);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_209);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_210);
+ }
+ }
+ }
+ }
+ if (!isImplementation && !genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(genPackage.getPackageInterfaceName());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_204);
+ } else if (isImplementation) {
+ stringBuffer.append(TEXT_47);
+ if (useInterfaceOverrideAnnotation && !genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_213);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_214);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_216);
+ }
+ stringBuffer.append(TEXT_217);
+ stringBuffer.append(isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genPackage.hasClassifiers());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java
new file mode 100644
index 000000000..d8b70ffc9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java
@@ -0,0 +1,1695 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class FactoryInterface extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized FactoryInterface create(String lineSeparator) {
+ nl = lineSeparator;
+ FactoryInterface result = new FactoryInterface();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * The <b>Factory</b> for the model." + NL
+ + " * It provides a create method for each non-abstract class of the model." + NL
+ + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * @see ";
+ protected final String TEXT_7 = NL + " * ";
+ protected final String TEXT_8 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_9 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * An implementation of the model <b>Factory</b>." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_10 = NL + "@Deprecated";
+ protected final String TEXT_11 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_12 = NL + "public class ";
+ protected final String TEXT_13 = " extends ";
+ protected final String TEXT_14 = " implements ";
+ protected final String TEXT_15 = NL + "public interface ";
+ protected final String TEXT_16 = NL + "{";
+ protected final String TEXT_17 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_18 = " copyright = ";
+ protected final String TEXT_19 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t";
+ protected final String TEXT_20 = " eINSTANCE = init();" + NL;
+ protected final String TEXT_21 = " INSTANCE = ";
+ protected final String TEXT_22 = ".eINSTANCE;" + NL;
+ protected final String TEXT_23 = " eINSTANCE = ";
+ protected final String TEXT_24 = ".init();" + NL;
+ protected final String TEXT_25 = NL + "\t/**" + NL + "\t * Creates the default factory implementation." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_26 = NL + "\tpublic static ";
+ protected final String TEXT_27 = " init()" + NL + "\t{" + NL + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_28 = " the";
+ protected final String TEXT_29 = " = (";
+ protected final String TEXT_30 = ")";
+ protected final String TEXT_31 = ".Registry.INSTANCE.getEFactory(";
+ protected final String TEXT_32 = ".eNS_URI);" + NL + "\t\t\tif (the";
+ protected final String TEXT_33 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn the";
+ protected final String TEXT_34 = ";" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL
+ + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_35 = ".INSTANCE.log(exception);" + NL + "\t\t}" + NL + "\t\treturn new ";
+ protected final String TEXT_36 = "();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Creates an instance of the factory." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_37 = "()" + NL + "\t{" + NL + "\t\tsuper();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_38 = NL + "\t@Override";
+ protected final String TEXT_39 = NL + "\tpublic EObject create(EClass eClass)" + NL + "\t{" + NL
+ + "\t\tswitch (eClass.getClassifierID())" + NL + "\t\t{";
+ protected final String TEXT_40 = NL + "\t\t\tcase ";
+ protected final String TEXT_41 = ".";
+ protected final String TEXT_42 = ": return ";
+ protected final String TEXT_43 = "create";
+ protected final String TEXT_44 = "();";
+ protected final String TEXT_45 = NL + "\t\t\tdefault:" + NL
+ + "\t\t\t\tthrow new IllegalArgumentException(\"The class '\" + eClass.getName() + \"' is not a valid classifier\");";
+ protected final String TEXT_46 = NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_47 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_48 = NL + "\tpublic Object createFromString(";
+ protected final String TEXT_49 = " eDataType, String initialValue)" + NL + "\t{" + NL
+ + "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";
+ protected final String TEXT_50 = ":" + NL + "\t\t\t\treturn create";
+ protected final String TEXT_51 = "FromString(eDataType, initialValue);";
+ protected final String TEXT_52 = NL + "\t\t\tdefault:" + NL
+ + "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";
+ protected final String TEXT_53 = NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_54 = NL + "\tpublic String convertToString(";
+ protected final String TEXT_55 = " eDataType, Object instanceValue)" + NL + "\t{" + NL
+ + "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";
+ protected final String TEXT_56 = ":" + NL + "\t\t\t\treturn convert";
+ protected final String TEXT_57 = "ToString(eDataType, instanceValue);";
+ protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_59 = NL + "\t * ";
+ protected final String TEXT_60 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_61 = NL + "\t@Deprecated";
+ protected final String TEXT_62 = NL + "\tpublic ";
+ protected final String TEXT_63 = " create";
+ protected final String TEXT_64 = "()" + NL + "\t{";
+ protected final String TEXT_65 = NL + "\t\t";
+ protected final String TEXT_66 = " ";
+ protected final String TEXT_67 = " = ";
+ protected final String TEXT_68 = "super.create(";
+ protected final String TEXT_69 = ");";
+ protected final String TEXT_70 = " = new ";
+ protected final String TEXT_71 = "()";
+ protected final String TEXT_72 = "{}";
+ protected final String TEXT_73 = NL + "\t\treturn ";
+ protected final String TEXT_74 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_75 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_76 = "(";
+ protected final String TEXT_77 = "final ";
+ protected final String TEXT_78 = "String ";
+ protected final String TEXT_79 = "it";
+ protected final String TEXT_80 = "literal";
+ protected final String TEXT_81 = ")" + NL + "\t{";
+ protected final String TEXT_82 = " result = ";
+ protected final String TEXT_83 = ".get(literal);" + NL
+ + "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + literal + \"' is not a valid enumerator of '\" + ";
+ protected final String TEXT_84 = ".getName() + \"'\");";
+ protected final String TEXT_85 = NL + "\t\treturn result;";
+ protected final String TEXT_86 = NL + "\t\treturn new ";
+ protected final String TEXT_87 = "(create";
+ protected final String TEXT_88 = "(literal));";
+ protected final String TEXT_89 = NL + "\t\treturn create";
+ protected final String TEXT_90 = "(literal);";
+ protected final String TEXT_91 = ".create";
+ protected final String TEXT_92 = ".createFromString(";
+ protected final String TEXT_93 = ", literal);";
+ protected final String TEXT_94 = NL + "\t\tif (literal == null) return null;" + NL + "\t\t";
+ protected final String TEXT_95 = " result = new ";
+ protected final String TEXT_96 = "<";
+ protected final String TEXT_97 = ">";
+ protected final String TEXT_98 = NL + "\t\tfor (";
+ protected final String TEXT_99 = " stringTokenizer = new ";
+ protected final String TEXT_100 = "(literal); stringTokenizer.hasMoreTokens(); )";
+ protected final String TEXT_101 = NL + "\t\tfor (String item : split(literal))";
+ protected final String TEXT_102 = NL + "\t\t{";
+ protected final String TEXT_103 = NL + "\t\t\tString item = stringTokenizer.nextToken();";
+ protected final String TEXT_104 = NL + "\t\t\tresult.add(create";
+ protected final String TEXT_105 = "(item));";
+ protected final String TEXT_106 = "FromString(";
+ protected final String TEXT_107 = ", item));";
+ protected final String TEXT_108 = NL + "\t\t\tresult.add(";
+ protected final String TEXT_109 = NL + "\t\t}" + NL + "\t\treturn result;";
+ protected final String TEXT_110 = NL + "\t\tif (literal == null) return ";
+ protected final String TEXT_111 = ";" + NL + "\t\t";
+ protected final String TEXT_112 = ";" + NL + "\t\tRuntimeException exception = null;";
+ protected final String TEXT_113 = NL + "\t\ttry" + NL + "\t\t{";
+ protected final String TEXT_114 = NL + "\t\t\tresult = create";
+ protected final String TEXT_115 = NL + "\t\t\tresult = (";
+ protected final String TEXT_116 = ")create";
+ protected final String TEXT_117 = NL + "\t\t\tresult = ";
+ protected final String TEXT_118 = NL + "\t\t\tif (";
+ protected final String TEXT_119 = "result != null && ";
+ protected final String TEXT_120 = ".INSTANCE.validate(";
+ protected final String TEXT_121 = ", ";
+ protected final String TEXT_122 = "new ";
+ protected final String TEXT_123 = "(result)";
+ protected final String TEXT_124 = "result";
+ protected final String TEXT_125 = ", null, null))" + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}"
+ + NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL + "\t\t{" + NL + "\t\t\texception = e;" + NL
+ + "\t\t}";
+ protected final String TEXT_126 = NL + "\t\tif (";
+ protected final String TEXT_127 = "result != null || ";
+ protected final String TEXT_128 = "exception == null) return result;" + NL + " " + NL + "\t\tthrow exception;";
+ protected final String TEXT_129 = NL + "\t\treturn (";
+ protected final String TEXT_130 = ")super.createFromString(literal);";
+ protected final String TEXT_131 = NL + "\t\t// TODO: implement this method" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";
+ protected final String TEXT_132 = NL + "\t\treturn ((";
+ protected final String TEXT_133 = ")super.createFromString(";
+ protected final String TEXT_134 = ", literal)).";
+ protected final String TEXT_135 = "super.createFromString(";
+ protected final String TEXT_136 = NL + "\t}" + NL;
+ protected final String TEXT_137 = " eDataType, String initialValue)" + NL + "\t{";
+ protected final String TEXT_138 = "(initialValue);";
+ protected final String TEXT_139 = ".get(initialValue);" + NL
+ + "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + initialValue + \"' is not a valid enumerator of '\" + eDataType.getName() + \"'\");";
+ protected final String TEXT_140 = ", initialValue);";
+ protected final String TEXT_141 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";
+ protected final String TEXT_142 = "(initialValue); stringTokenizer.hasMoreTokens(); )";
+ protected final String TEXT_143 = NL + "\t\tfor (String item : split(initialValue))";
+ protected final String TEXT_144 = "(initialValue));";
+ protected final String TEXT_145 = " result = null;" + NL + "\t\tRuntimeException exception = null;";
+ protected final String TEXT_146 = NL + "\t\t\tif (result != null && ";
+ protected final String TEXT_147 = ".INSTANCE.validate(eDataType, result, null, null))" + NL + "\t\t\t{" + NL
+ + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL
+ + "\t\t{" + NL + "\t\t\texception = e;" + NL + "\t\t}";
+ protected final String TEXT_148 = NL + "\t\tif (result != null || exception == null) return result;" + NL + " "
+ + NL + "\t\tthrow exception;";
+ protected final String TEXT_149 = "super.createFromString(initialValue);";
+ protected final String TEXT_150 = "super.createFromString(eDataType, initialValue);";
+ protected final String TEXT_151 = NL + "\tpublic String convert";
+ protected final String TEXT_152 = "instanceValue";
+ protected final String TEXT_153 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";
+ protected final String TEXT_154 = NL + "\t\treturn instanceValue == null ? null : convert";
+ protected final String TEXT_155 = "(instanceValue";
+ protected final String TEXT_156 = NL + "\t\treturn convert";
+ protected final String TEXT_157 = "(instanceValue);";
+ protected final String TEXT_158 = ".convert";
+ protected final String TEXT_159 = ".convertToString(";
+ protected final String TEXT_160 = ", instanceValue);";
+ protected final String TEXT_161 = NL + "\t\tif (instanceValue == null) return null;" + NL
+ + "\t\tif (instanceValue.isEmpty()) return \"\";" + NL + "\t\t";
+ protected final String TEXT_162 = " i = instanceValue.iterator(); i.hasNext(); )";
+ protected final String TEXT_163 = " item : instanceValue)";
+ protected final String TEXT_164 = NL + "\t\t\tresult.append(convert";
+ protected final String TEXT_165 = "((";
+ protected final String TEXT_166 = "));";
+ protected final String TEXT_167 = "ToString(";
+ protected final String TEXT_168 = NL + "\t\t\tresult.append(";
+ protected final String TEXT_169 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL
+ + "\t\treturn result.substring(0, result.length() - 1);";
+ protected final String TEXT_170 = NL + "\t\tif (instanceValue == null) return null;";
+ protected final String TEXT_171 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";
+ protected final String TEXT_172 = NL + "\t\t\t\tString value = convert";
+ protected final String TEXT_173 = "(((";
+ protected final String TEXT_174 = ")instanceValue).";
+ protected final String TEXT_175 = "());";
+ protected final String TEXT_176 = ")instanceValue);";
+ protected final String TEXT_177 = NL + "\t\t\t\tString value = ";
+ protected final String TEXT_178 = NL + "\t\t\t\tif (value != null) return value;" + NL + "\t\t\t}" + NL
+ + "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t\t}" + NL + "\t\t}";
+ protected final String TEXT_179 = NL + "\t\t\tString value = convert";
+ protected final String TEXT_180 = "(instanceValue)";
+ protected final String TEXT_181 = NL + "\t\t\tString value = ";
+ protected final String TEXT_182 = NL + "\t\t\tif (value != null) return value;" + NL + "\t\t}" + NL
+ + "\t\tcatch (Exception e)" + NL + "\t\t{" + NL
+ + "\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t}";
+ protected final String TEXT_183 = NL
+ + "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+";
+ protected final String TEXT_184 = ".getName());";
+ protected final String TEXT_185 = NL + "\t\treturn super.convertToString(instanceValue);";
+ protected final String TEXT_186 = NL + "\t\treturn super.convertToString(";
+ protected final String TEXT_187 = ", new ";
+ protected final String TEXT_188 = "(instanceValue));";
+ protected final String TEXT_189 = " eDataType, Object instanceValue)" + NL + "\t{";
+ protected final String TEXT_190 = NL + "\t\tif (instanceValue == null) return null;" + NL + "\t\t";
+ protected final String TEXT_191 = " list = (";
+ protected final String TEXT_192 = ")instanceValue;" + NL + "\t\tif (list.isEmpty()) return \"\";" + NL + "\t\t";
+ protected final String TEXT_193 = " i = list.iterator(); i.hasNext(); )";
+ protected final String TEXT_194 = " item : list)";
+ protected final String TEXT_195 = ")instanceValue)";
+ protected final String TEXT_196 = NL
+ + "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+eDataType.getName());";
+ protected final String TEXT_197 = ")instanceValue";
+ protected final String TEXT_198 = ").";
+ protected final String TEXT_199 = NL + "\t\treturn super.convertToString(eDataType, instanceValue);";
+ protected final String TEXT_200 = NL + "\t/**" + NL + "\t * Returns a new object of class '<em>";
+ protected final String TEXT_201 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return a new object of class '<em>";
+ protected final String TEXT_202 = "</em>'.";
+ protected final String TEXT_203 = NL + "\t";
+ protected final String TEXT_204 = "();" + NL;
+ protected final String TEXT_205 = NL + "\t/**" + NL + "\t * Returns an instance of data type '<em>";
+ protected final String TEXT_206 = "</em>' corresponding the given literal." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param literal a literal of the data type." + NL
+ + "\t * @return a new instance value of the data type.";
+ protected final String TEXT_207 = "(String literal);" + NL + "" + NL + "\t/**" + NL
+ + "\t * Returns a literal representation of an instance of data type '<em>";
+ protected final String TEXT_208 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @param instanceValue an instance value of the data type." + NL
+ + "\t * @return a literal representation of the instance value.";
+ protected final String TEXT_209 = NL + "\tString convert";
+ protected final String TEXT_210 = " instanceValue);" + NL;
+ protected final String TEXT_211 = NL + "\t/**" + NL + "\t * Returns the package supported by this factory." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the package supported by this factory." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_212 = " get";
+ protected final String TEXT_213 = "()" + NL + "\t{" + NL + "\t\treturn (";
+ protected final String TEXT_214 = ")getEPackage();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @deprecated" + NL
+ + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_215 = " getPackage()" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_216 = ".eINSTANCE;" + NL + "\t}" + NL;
+ protected final String TEXT_217 = NL + "} //";
+ protected final String TEXT_218 = NL;
+
+ public FactoryInterface() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(TEXT_218);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getModelDirectory();
+ packageName = genPackage.getReflectionPackageName();
+ className = genPackage.getFactoryInterfaceName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = ((Object[]) new Object[] { new Object[] { genPackage, Boolean.TRUE, Boolean.FALSE } })[0];
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];
+ GenModel genModel = genPackage.getGenModel();
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+ boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+ boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()
+ && !(isInterface && isImplementation);
+ String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (isInterface || genModel.isSuppressInterfaces()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getReflectionPackageName());
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getClassPackageName());
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ if (isImplementation) {
+ genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");
+ genModel.addImport("org.eclipse.emf.ecore.EClass");
+ genModel.addImport("org.eclipse.emf.ecore.EObject");
+ if (!genPackage.hasJavaLangConflict() && !genPackage.hasInterfaceImplConflict()
+ && !genPackage.getClassPackageName().equals(genPackage.getInterfacePackageName()))
+ genModel.addImport(genPackage.getInterfacePackageName() + ".*");
+ }
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ if (isInterface) {
+ stringBuffer.append(TEXT_5);
+ if (!genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ }
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ } else {
+ stringBuffer.append(TEXT_9);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ }
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ if (isImplementation) {
+ if (isJDK50 && !genPackage.hasAPIDeprecatedTag()) {
+ List<GenClassifier> genClassifiers = new ArrayList<GenClassifier>(genPackage.getGenClassifiers());
+ for (Iterator<GenClassifier> i = genClassifiers.iterator(); i.hasNext();) {
+ GenClassifier genClassifier = i.next();
+ if (genClassifier instanceof GenClass && ((GenClass) genClassifier).isAbstract())
+ i.remove();
+ }
+ if (GenModelUtil.hasAPIDeprecatedTag(genClassifiers)) {
+ stringBuffer.append(TEXT_11);
+ }
+ }
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genPackage.getFactoryClassName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EFactoryImpl"));
+ if (!genModel.isSuppressInterfaces()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+ }
+ } else {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genPackage.getFactoryInterfaceName());
+ if (!genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EFactory"));
+ }
+ }
+ stringBuffer.append(TEXT_16);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_4);
+ }
+ if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genPackage.getFactoryClassName());
+ stringBuffer.append(TEXT_20);
+ }
+ if (isInterface && genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genPackage.getFactoryInterfaceName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genPackage.getQualifiedFactoryClassName());
+ stringBuffer.append(TEXT_22);
+ } else if (isInterface && !genModel.isSuppressInterfaces()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genPackage.getFactoryInterfaceName());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genPackage.getQualifiedFactoryClassName());
+ stringBuffer.append(TEXT_24);
+ }
+ if (isImplementation) {
+ stringBuffer.append(TEXT_25);
+ String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName()
+ : genPackage.getImportedFactoryInterfaceName();
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(factoryType);
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(factoryType);
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genPackage.getFactoryName());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(factoryType);
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getPackageInterfaceName());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genPackage.getFactoryName());
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genPackage.getFactoryName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genPackage.getImportedFactoryClassName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genPackage.getFactoryClassName());
+ stringBuffer.append(TEXT_37);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_39);
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.isAbstract()) {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getClassifierID());
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(!genClass.isEObjectExtension() ? "(EObject)" : "");
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_44);
+ }
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_46);
+ if (!genPackage.getAllGenDataTypes().isEmpty()) {
+ stringBuffer.append(TEXT_47);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+ stringBuffer.append(TEXT_49);
+ for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+ if (genDataType.isSerializable()) {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genDataType.getClassifierID());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_51);
+ }
+ }
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_53);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+ stringBuffer.append(TEXT_55);
+ for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+ if (genDataType.isSerializable()) {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genDataType.getClassifierID());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_57);
+ }
+ }
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_46);
+ }
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.isAbstract()) {
+ stringBuffer.append(TEXT_58);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genClass.getTypeParameters());
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceTypeArguments());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_64);
+ if (genClass.isDynamic()) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceTypeArguments());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClass.getCastFromEObject());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_69);
+ } else {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClass.getImportedClassName());
+ stringBuffer.append(genClass.getClassTypeArguments());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genClass.getImportedClassName());
+ stringBuffer.append(genClass.getClassTypeArguments());
+ stringBuffer.append(TEXT_71);
+ if (genModel.isSuppressInterfaces() && !genPackage.getReflectionPackageName()
+ .equals(genPackage.getInterfacePackageName())) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_74);
+ }
+ }
+ for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+ if (genDataType.isSerializable()) {
+ if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+ String eDataType = genDataType.getQualifiedClassifierAccessor();
+ stringBuffer.append(TEXT_58);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_75);
+ }
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_76);
+ if (genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_77);
+ }
+ stringBuffer.append(TEXT_78);
+ if (genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_79);
+ } else {
+ stringBuffer.append(TEXT_80);
+ }
+ stringBuffer.append(TEXT_81);
+ if (genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genDataType.getCreatorBody(genModel.getIndentation(stringBuffer)));
+ } else if (genDataType instanceof GenEnum) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(genModel.getNonNLS(3));
+ stringBuffer.append(TEXT_85);
+ } else if (genDataType.getBaseType() != null) {
+ GenDataType genBaseType = genDataType.getBaseType();
+ boolean isPrimitiveConversion = !genDataType.isPrimitiveType()
+ && genBaseType.isPrimitiveType();
+ if (genBaseType.getGenPackage() == genPackage) {
+ if (isPrimitiveConversion && !isJDK50) {
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_88);
+ } else {
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_90);
+ }
+ } else if (genBaseType.getGenPackage().isDataTypeConverters()) {
+ if (isPrimitiveConversion && !isJDK50) {
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(
+ genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_88);
+ } else {
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(
+ genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_90);
+ }
+ } else {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(
+ genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_93);
+ }
+ } else if (genDataType.getItemType() != null) {
+ GenDataType genItemType = genDataType.getItemType();
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(
+ genItemType.getObjectType().getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_97);
+ }
+ stringBuffer.append(TEXT_44);
+ if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+ stringBuffer.append(TEXT_100);
+ } else {
+ stringBuffer.append(TEXT_101);
+ }
+ stringBuffer.append(TEXT_102);
+ if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+ stringBuffer.append(TEXT_103);
+ }
+ if (genItemType.getGenPackage() == genPackage) {
+ if (genPackage.isDataTypeConverters()) {
+ genItemType = genItemType.getObjectType();
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_105);
+ } else {
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_107);
+ }
+ } else {
+ if (genItemType.getGenPackage().isDataTypeConverters()) {
+ genItemType = genItemType.getObjectType();
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_105);
+ } else {
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_107);
+ }
+ }
+ stringBuffer.append(TEXT_109);
+ } else if (!genDataType.getMemberTypes().isEmpty()) {
+ stringBuffer.append(TEXT_110);
+ stringBuffer.append(genDataType.getStaticValue(null));
+ stringBuffer.append(TEXT_111);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genDataType.getStaticValue(null));
+ stringBuffer.append(TEXT_112);
+ for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+ stringBuffer.append(TEXT_113);
+ if (genMemberType.getGenPackage() == genPackage) {
+ if (genPackage.isDataTypeConverters()) {
+ if (!genDataType.isPrimitiveType())
+ genMemberType = genMemberType.getObjectType();
+ stringBuffer.append(TEXT_114);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_90);
+ } else {
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_93);
+ }
+ } else {
+ if (genPackage.isDataTypeConverters()) {
+ if (!genDataType.isPrimitiveType())
+ genMemberType = genMemberType.getObjectType();
+ stringBuffer.append(TEXT_117);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_90);
+ } else {
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_93);
+ }
+ }
+ stringBuffer.append(TEXT_118);
+ if (!genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_119);
+ }
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));
+ stringBuffer.append(TEXT_120);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_121);
+ if (genDataType.isPrimitiveType() && !isJDK50) {
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_123);
+ } else {
+ stringBuffer.append(TEXT_124);
+ }
+ stringBuffer.append(TEXT_125);
+ }
+ stringBuffer.append(TEXT_126);
+ if (!genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_127);
+ }
+ stringBuffer.append(TEXT_128);
+ } else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+ && (genDataType.isArrayType()
+ || !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+ || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+ stringBuffer.append(TEXT_129);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_130);
+ } else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_131);
+ stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+ stringBuffer.append(TEXT_44);
+ } else if (genDataType.isPrimitiveType() && !isJDK50) {
+ stringBuffer.append(TEXT_132);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_133);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_134);
+ stringBuffer.append(genDataType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_135);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_93);
+ }
+ stringBuffer.append(TEXT_136);
+ }
+ stringBuffer.append(TEXT_58);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast()
+ && !genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_75);
+ }
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+ stringBuffer.append(TEXT_137);
+ if (genDataType instanceof GenEnum) {
+ if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_138);
+ } else {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());
+ stringBuffer.append(TEXT_139);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(genModel.getNonNLS(3));
+ stringBuffer.append(TEXT_85);
+ }
+ } else if (genDataType.getBaseType() != null) {
+ GenDataType genBaseType = genDataType.getBaseType();
+ if (genBaseType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.getObjectInstanceClassName()
+ .equals(genBaseType.getObjectInstanceClassName())) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_140);
+ } else {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer
+ .append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_140);
+ }
+ } else if (genDataType.getItemType() != null) {
+ GenDataType genItemType = genDataType.getItemType();
+ if (genPackage.isDataTypeConverters()) {
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_138);
+ } else {
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(
+ genItemType.getObjectType().getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_97);
+ }
+ stringBuffer.append(TEXT_44);
+ if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+ stringBuffer.append(TEXT_142);
+ } else {
+ stringBuffer.append(TEXT_143);
+ }
+ stringBuffer.append(TEXT_102);
+ if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+ stringBuffer.append(TEXT_103);
+ }
+ if (genItemType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_107);
+ } else {
+ stringBuffer.append(TEXT_108);
+ if (!genItemType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genItemType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_107);
+ }
+ stringBuffer.append(TEXT_109);
+ }
+ } else if (!genDataType.getMemberTypes().isEmpty()) {
+ if (genPackage.isDataTypeConverters()) {
+ if (genDataType.isPrimitiveType() && !isJDK50) {
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_144);
+ } else {
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_138);
+ }
+ } else {
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_145);
+ for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+ stringBuffer.append(TEXT_113);
+ if (genMemberType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_117);
+ if (!genDataType.isObjectType() && !genDataType.getObjectInstanceClassName()
+ .equals(genMemberType.getObjectInstanceClassName())) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_140);
+ } else {
+ stringBuffer.append(TEXT_117);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_140);
+ }
+ stringBuffer.append(TEXT_146);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));
+ stringBuffer.append(TEXT_147);
+ }
+ stringBuffer.append(TEXT_148);
+ }
+ } else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_138);
+ } else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+ && (genDataType.isArrayType()
+ || !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+ || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_149);
+ } else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_131);
+ stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_73);
+ if (!genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_150);
+ }
+ stringBuffer.append(TEXT_136);
+ if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+ String eDataType = genDataType.getQualifiedClassifierAccessor();
+ stringBuffer.append(TEXT_58);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_151);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_76);
+ if (genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_77);
+ }
+ stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_66);
+ if (genDataType.hasConverterBody()) {
+ stringBuffer.append(TEXT_79);
+ } else {
+ stringBuffer.append(TEXT_152);
+ }
+ stringBuffer.append(TEXT_81);
+ if (genDataType.hasConverterBody()) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genDataType.getConverterBody(genModel.getIndentation(stringBuffer)));
+ } else if (genDataType instanceof GenEnum) {
+ stringBuffer.append(TEXT_153);
+ } else if (genDataType.getBaseType() != null) {
+ GenDataType genBaseType = genDataType.getBaseType();
+ boolean isPrimitiveConversion = !genDataType.isPrimitiveType()
+ && genBaseType.isPrimitiveType();
+ if (genBaseType.getGenPackage() == genPackage) {
+ if (isPrimitiveConversion) {
+ stringBuffer.append(TEXT_154);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_155);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genBaseType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_69);
+ } else {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_157);
+ }
+ } else if (genBaseType.getGenPackage().isDataTypeConverters()) {
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_157);
+ } else {
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(
+ genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ }
+ } else if (genDataType.getItemType() != null) {
+ GenDataType genItemType = genDataType.getItemType();
+ stringBuffer.append(TEXT_161);
+ stringBuffer.append(genModel.getImportedName(
+ genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer"));
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName(
+ genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer"));
+ stringBuffer.append(TEXT_44);
+ String item;
+ if (!genModel.useGenerics()) {
+ item = "i.next()";
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+ stringBuffer.append(TEXT_162);
+ } else {
+ item = "item";
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+ stringBuffer.append(TEXT_163);
+ }
+ stringBuffer.append(TEXT_102);
+ if (genItemType.getGenPackage() == genPackage) {
+ if (genPackage.isDataTypeConverters()) {
+ genItemType = genItemType.getObjectType();
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genItemType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ } else {
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ }
+ } else {
+ if (genItemType.getGenPackage().isDataTypeConverters()) {
+ genItemType = genItemType.getObjectType();
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genItemType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ } else {
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ }
+ }
+ stringBuffer.append(TEXT_169);
+ } else if (!genDataType.getMemberTypes().isEmpty()) {
+ if (!genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_170);
+ for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_171);
+ if (genMemberType.getGenPackage() == genPackage) {
+ if (genPackage.isDataTypeConverters()) {
+ if (genMemberType.getQualifiedInstanceClassName()
+ .equals(genDataType.getQualifiedInstanceClassName())) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_157);
+ } else if (genMemberType.isPrimitiveType() && !isJDK50) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(
+ genMemberType.getObjectType().getImportedInstanceClassName());
+ stringBuffer.append(TEXT_174);
+ stringBuffer.append(genMemberType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_175);
+ } else {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genMemberType.getObjectType()
+ .getImportedBoundedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_176);
+ }
+ } else {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ }
+ } else {
+ if (genMemberType.getGenPackage().isDataTypeConverters()) {
+ genMemberType = genMemberType.getObjectType();
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genMemberType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_176);
+ } else {
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ }
+ }
+ stringBuffer.append(TEXT_178);
+ }
+ } else {
+ for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+ stringBuffer.append(TEXT_113);
+ if (genMemberType.getGenPackage() == genPackage) {
+ if (genPackage.isDataTypeConverters()) {
+ stringBuffer.append(TEXT_179);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_157);
+ } else {
+ stringBuffer.append(TEXT_179);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genMemberType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_180);
+ } else {
+ stringBuffer.append(TEXT_152);
+ }
+ stringBuffer.append(TEXT_69);
+ }
+ } else {
+ if (genMemberType.getGenPackage().isDataTypeConverters()) {
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_157);
+ } else {
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genMemberType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_180);
+ } else {
+ stringBuffer.append(TEXT_152);
+ }
+ stringBuffer.append(TEXT_69);
+ }
+ }
+ stringBuffer.append(TEXT_182);
+ }
+ }
+ stringBuffer.append(TEXT_183);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_184);
+ } else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+ && (genDataType.isArrayType()
+ || !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+ || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+ stringBuffer.append(TEXT_185);
+ } else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_131);
+ stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+ stringBuffer.append(TEXT_44);
+ } else if (genDataType.isPrimitiveType() && !isJDK50) {
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_187);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_188);
+ } else {
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(eDataType);
+ stringBuffer.append(TEXT_160);
+ }
+ stringBuffer.append(TEXT_136);
+ }
+ stringBuffer.append(TEXT_58);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast())
+ && (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {
+ stringBuffer.append(TEXT_75);
+ }
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_151);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+ stringBuffer.append(TEXT_189);
+ if (genDataType instanceof GenEnum) {
+ if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_176);
+ } else {
+ stringBuffer.append(TEXT_153);
+ }
+ } else if (genDataType.getBaseType() != null) {
+ GenDataType genBaseType = genDataType.getBaseType();
+ if (genBaseType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genBaseType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ } else {
+ stringBuffer.append(TEXT_73);
+ stringBuffer
+ .append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ }
+ } else if (genDataType.getItemType() != null) {
+ GenDataType genItemType = genDataType.getItemType();
+ if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_176);
+ } else {
+ final String singleWildcard = genModel.useGenerics() ? "<?>" : "";
+ stringBuffer.append(TEXT_190);
+ stringBuffer.append(genModel.getImportedName("java.util.List"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_191);
+ stringBuffer.append(genModel.getImportedName("java.util.List"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_192);
+ stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+ stringBuffer.append(TEXT_44);
+ String item;
+ if (!genModel.useGenerics()) {
+ item = "i.next()";
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+ stringBuffer.append(TEXT_193);
+ } else {
+ item = "item";
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+ stringBuffer.append(TEXT_194);
+ }
+ stringBuffer.append(TEXT_102);
+ if (genItemType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(genItemType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ } else {
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(
+ genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(item);
+ stringBuffer.append(TEXT_166);
+ }
+ stringBuffer.append(TEXT_169);
+ }
+ } else if (!genDataType.getMemberTypes().isEmpty()) {
+ if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+ if (genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_154);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_195);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genDataType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_69);
+ } else {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_157);
+ }
+ } else {
+ stringBuffer.append(TEXT_170);
+ for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_171);
+ if (genMemberType.getGenPackage() == genPackage) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genMemberType.getName());
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ } else {
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(genMemberType.getGenPackage()
+ .getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_159);
+ stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_160);
+ }
+ stringBuffer.append(TEXT_178);
+ }
+ stringBuffer.append(TEXT_196);
+ }
+ } else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+ if (genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_154);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_76);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_76);
+ }
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_197);
+ if (!isJDK50) {
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genDataType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_69);
+ } else {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_176);
+ }
+ } else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+ && (genDataType.isArrayType()
+ || !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+ || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+ stringBuffer.append(TEXT_185);
+ } else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_131);
+ stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_199);
+ }
+ stringBuffer.append(TEXT_136);
+ }
+ }
+ } else {
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (genClass.hasFactoryInterfaceCreateMethod()) {
+ stringBuffer.append(TEXT_200);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_202);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_203);
+ stringBuffer.append(genClass.getTypeParameters());
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceTypeArguments());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_204);
+ }
+ }
+ if (genPackage.isDataTypeConverters()) {
+ for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+ if (genDataType.isSerializable()) {
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_206);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_203);
+ stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_207);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_208);
+ if (genDataType.hasAPITags()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genDataType.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_60);
+ if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_209);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_210);
+ }
+ }
+ }
+ }
+ if (!isImplementation && !genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(genPackage.getPackageInterfaceName());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_204);
+ } else if (isImplementation) {
+ stringBuffer.append(TEXT_47);
+ if (useInterfaceOverrideAnnotation && !genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_213);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_214);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_216);
+ }
+ stringBuffer.append(TEXT_217);
+ stringBuffer.append(isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genPackage.hasClassifiers() && !genModel.isSuppressInterfaces());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java
new file mode 100644
index 000000000..b97e0fcb4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java
@@ -0,0 +1,2262 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Interface extends org.eclipse.egf.emf.pattern.base.GenClassJava {
+ protected static String nl;
+
+ public static synchronized Interface create(String lineSeparator) {
+ nl = lineSeparator;
+ Interface result = new Interface();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * An implementation of the model object '<em><b>";
+ protected final String TEXT_6 = "</b></em>'." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_7 = NL + " * <p>" + NL + " * The following features are implemented:" + NL + " * </p>"
+ + NL + " * <ul>";
+ protected final String TEXT_8 = NL + " * <li>{@link ";
+ protected final String TEXT_9 = "#";
+ protected final String TEXT_10 = " <em>";
+ protected final String TEXT_11 = "</em>}</li>";
+ protected final String TEXT_12 = NL + " * </ul>";
+ protected final String TEXT_13 = NL + " *";
+ protected final String TEXT_14 = NL + " * ";
+ protected final String TEXT_15 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_16 = NL + "@Deprecated";
+ protected final String TEXT_17 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_18 = NL + "public";
+ protected final String TEXT_19 = " abstract";
+ protected final String TEXT_20 = " class ";
+ protected final String TEXT_21 = NL + "public interface ";
+ protected final String TEXT_22 = NL + "{";
+ protected final String TEXT_23 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_24 = " copyright = ";
+ protected final String TEXT_25 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_26 = " mofDriverNumber = \"";
+ protected final String TEXT_27 = "\";";
+ protected final String TEXT_28 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate static final long serialVersionUID = 1L;" + NL;
+ protected final String TEXT_29 = NL + "\t/**" + NL
+ + "\t * An array of objects representing the values of non-primitive features." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_30 = NL + "\t@";
+ protected final String TEXT_31 = NL + "\tprotected Object[] ";
+ protected final String TEXT_32 = ";" + NL;
+ protected final String TEXT_33 = NL + "\t/**" + NL
+ + "\t * A bit field representing the indices of non-primitive feature values." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_34 = NL + "\tprotected int ";
+ protected final String TEXT_35 = NL + "\t/**" + NL
+ + "\t * A set of bit flags representing the values of boolean attributes and whether unsettable features have been set."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_36 = " = 0;" + NL;
+ protected final String TEXT_37 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";
+ protected final String TEXT_38 = "() <em>";
+ protected final String TEXT_39 = "</em>}' array accessor." + NL
+ + "\t * This is specialized for the more specific element type known in this context." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+ protected final String TEXT_40 = "()";
+ protected final String TEXT_41 = NL + "\t * ";
+ protected final String TEXT_42 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_43 = NL + "\t@Deprecated";
+ protected final String TEXT_44 = NL + "\t@SuppressWarnings(\"rawtypes\")";
+ protected final String TEXT_45 = NL + "\tprotected static final ";
+ protected final String TEXT_46 = "[] ";
+ protected final String TEXT_47 = "_EEMPTY_ARRAY = new ";
+ protected final String TEXT_48 = " [0]";
+ protected final String TEXT_49 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int ";
+ protected final String TEXT_50 = " = ";
+ protected final String TEXT_51 = ".getFeatureID(";
+ protected final String TEXT_52 = ") - ";
+ protected final String TEXT_53 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_54 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_55 = NL + "\tprivate static final int ";
+ protected final String TEXT_56 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate static final int EOPERATION_OFFSET_CORRECTION = ";
+ protected final String TEXT_57 = ".getOperationID(";
+ protected final String TEXT_58 = "public";
+ protected final String TEXT_59 = "protected";
+ protected final String TEXT_60 = " ";
+ protected final String TEXT_61 = "()" + NL + "\t{";
+ protected final String TEXT_62 = NL + "\t\t";
+ protected final String TEXT_63 = " |= ";
+ protected final String TEXT_64 = "_EFLAG";
+ protected final String TEXT_65 = "_DEFAULT";
+ protected final String TEXT_66 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_67 = NL + "\t@Override";
+ protected final String TEXT_68 = NL + "\tprotected ";
+ protected final String TEXT_69 = " eStaticClass()" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_70 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_71 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_72 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_73 = NL + "\tpublic ";
+ protected final String TEXT_74 = " eInverseAdd(";
+ protected final String TEXT_75 = " otherEnd, int featureID, ";
+ protected final String TEXT_76 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+ protected final String TEXT_77 = ")" + NL + "\t\t{";
+ protected final String TEXT_78 = NL + "\t\t\tcase ";
+ protected final String TEXT_79 = ":";
+ protected final String TEXT_80 = NL + "\t\t\t\treturn ((";
+ protected final String TEXT_81 = "(";
+ protected final String TEXT_82 = ".InternalMapView";
+ protected final String TEXT_83 = ")";
+ protected final String TEXT_84 = "()).eMap()).basicAdd(otherEnd, msgs);";
+ protected final String TEXT_85 = NL + "\t\t\t\treturn (";
+ protected final String TEXT_86 = "()).basicAdd(otherEnd, msgs);";
+ protected final String TEXT_87 = NL + "\t\t\t\tif (eInternalContainer() != null)" + NL
+ + "\t\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);";
+ protected final String TEXT_88 = NL + "\t\t\t\treturn basicSet";
+ protected final String TEXT_89 = "((";
+ protected final String TEXT_90 = ")otherEnd, msgs);";
+ protected final String TEXT_91 = NL + "\t\t\t\treturn eBasicSetContainer(otherEnd, ";
+ protected final String TEXT_92 = ", msgs);";
+ protected final String TEXT_93 = NL + "\t\t\t\t";
+ protected final String TEXT_94 = " = (";
+ protected final String TEXT_95 = ")eVirtualGet(";
+ protected final String TEXT_96 = ");";
+ protected final String TEXT_97 = "basicGet";
+ protected final String TEXT_98 = "();";
+ protected final String TEXT_99 = NL + "\t\t\t\tif (";
+ protected final String TEXT_100 = " != null)";
+ protected final String TEXT_101 = NL + "\t\t\t\t\tmsgs = ";
+ protected final String TEXT_102 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_103 = ", null, msgs);";
+ protected final String TEXT_104 = ".eInverseRemove(this, ";
+ protected final String TEXT_105 = ", ";
+ protected final String TEXT_106 = ".class, msgs);";
+ protected final String TEXT_107 = NL + "\t\t\tdefault:";
+ protected final String TEXT_108 = NL + "\t\t}";
+ protected final String TEXT_109 = "\t\treturn super.eInverseAdd(otherEnd, featureID, msgs);";
+ protected final String TEXT_110 = "\t\treturn eDynamicInverseAdd(otherEnd, featureID, msgs);";
+ protected final String TEXT_111 = NL + "\t}" + NL;
+ protected final String TEXT_112 = " eInverseRemove(";
+ protected final String TEXT_113 = ")((";
+ protected final String TEXT_114 = "()).eMap()).basicRemove(otherEnd, msgs);";
+ protected final String TEXT_115 = ".Internal.Wrapper)";
+ protected final String TEXT_116 = "()).featureMap()).basicRemove(otherEnd, msgs);";
+ protected final String TEXT_117 = "()).basicRemove(otherEnd, msgs);";
+ protected final String TEXT_118 = NL + "\t\t\t\treturn eBasicSetContainer(null, ";
+ protected final String TEXT_119 = NL + "\t\t\t\treturn basicUnset";
+ protected final String TEXT_120 = "(msgs);";
+ protected final String TEXT_121 = "(null, msgs);";
+ protected final String TEXT_122 = "\t\treturn super.eInverseRemove(otherEnd, featureID, msgs);";
+ protected final String TEXT_123 = "\t\treturn eDynamicInverseRemove(otherEnd, featureID, msgs);";
+ protected final String TEXT_124 = " eBasicRemoveFromContainerFeature(";
+ protected final String TEXT_125 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (eContainerFeatureID()";
+ protected final String TEXT_126 = ":" + NL + "\t\t\t\treturn eInternalContainer().eInverseRemove(this, ";
+ protected final String TEXT_127 = "\t\treturn super.eBasicRemoveFromContainerFeature(msgs);";
+ protected final String TEXT_128 = "\t\treturn eDynamicBasicRemoveFromContainer(msgs);";
+ protected final String TEXT_129 = NL + "\tpublic Object eGet(int featureID, boolean resolve, boolean coreType)" + NL
+ + "\t{" + NL + "\t\tswitch (featureID";
+ protected final String TEXT_130 = NL + "\t\t\t\treturn ";
+ protected final String TEXT_131 = "() ? Boolean.TRUE : Boolean.FALSE;";
+ protected final String TEXT_132 = NL + "\t\t\t\treturn new ";
+ protected final String TEXT_133 = "());";
+ protected final String TEXT_134 = NL + "\t\t\t\tif (resolve) return ";
+ protected final String TEXT_135 = "();" + NL + "\t\t\t\treturn basicGet";
+ protected final String TEXT_136 = NL + "\t\t\t\tif (coreType) return ((";
+ protected final String TEXT_137 = "()).eMap();" + NL + "\t\t\t\telse return ";
+ protected final String TEXT_138 = NL + "\t\t\t\tif (coreType) return ";
+ protected final String TEXT_139 = "();" + NL + "\t\t\t\telse return ";
+ protected final String TEXT_140 = "().map();";
+ protected final String TEXT_141 = "()).featureMap();" + NL + "\t\t\t\treturn ";
+ protected final String TEXT_142 = "();" + NL + "\t\t\t\treturn ((";
+ protected final String TEXT_143 = ".Internal)";
+ protected final String TEXT_144 = "()).getWrapper();";
+ protected final String TEXT_145 = "\t\treturn super.eGet(featureID, resolve, coreType);";
+ protected final String TEXT_146 = "\t\treturn eDynamicGet(featureID, resolve, coreType);";
+ protected final String TEXT_147 = NL + "\tpublic void eSet(int featureID, Object newValue)" + NL + "\t{" + NL
+ + "\t\tswitch (featureID";
+ protected final String TEXT_148 = NL + "\t\t\t\t((";
+ protected final String TEXT_149 = ".Internal)((";
+ protected final String TEXT_150 = "()).featureMap()).set(newValue);";
+ protected final String TEXT_151 = "()).set(newValue);";
+ protected final String TEXT_152 = ".Setting)((";
+ protected final String TEXT_153 = "()).eMap()).set(newValue);";
+ protected final String TEXT_154 = ".Setting)";
+ protected final String TEXT_155 = "().clear();" + NL + "\t\t\t\t";
+ protected final String TEXT_156 = "().addAll((";
+ protected final String TEXT_157 = "<? extends ";
+ protected final String TEXT_158 = ">";
+ protected final String TEXT_159 = ")newValue);";
+ protected final String TEXT_160 = NL + "\t\t\t\tset";
+ protected final String TEXT_161 = "(((";
+ protected final String TEXT_162 = ")newValue).";
+ protected final String TEXT_163 = "newValue);";
+ protected final String TEXT_164 = NL + "\t\t\t\treturn;";
+ protected final String TEXT_165 = "\t\tsuper.eSet(featureID, newValue);";
+ protected final String TEXT_166 = "\t\teDynamicSet(featureID, newValue);";
+ protected final String TEXT_167 = NL + "\tpublic int eBaseStructuralFeatureID(int derivedFeatureID, Class";
+ protected final String TEXT_168 = " baseClass)" + NL + "\t{";
+ protected final String TEXT_169 = NL + "\t\tif (baseClass == ";
+ protected final String TEXT_170 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (derivedFeatureID";
+ protected final String TEXT_171 = ")" + NL + "\t\t\t{";
+ protected final String TEXT_172 = NL + "\t\t\t\tcase ";
+ protected final String TEXT_173 = ": return ";
+ protected final String TEXT_174 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+ protected final String TEXT_175 = NL + "\t\treturn super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);"
+ + NL + "\t}";
+ protected final String TEXT_176 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_177 = NL + "\tpublic int eDerivedStructuralFeatureID(int baseFeatureID, Class";
+ protected final String TEXT_178 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID)" + NL + "\t\t\t{";
+ protected final String TEXT_179 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID";
+ protected final String TEXT_180 = NL + "\t\treturn super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);"
+ + NL + "\t}" + NL;
+ protected final String TEXT_181 = NL + "\tpublic int eDerivedOperationID(int baseOperationID, Class";
+ protected final String TEXT_182 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";
+ protected final String TEXT_183 = NL
+ + "\t\t\t\tdefault: return super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t\t\t}" + NL
+ + "\t\t}";
+ protected final String TEXT_184 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID";
+ protected final String TEXT_185 = NL + "\t\treturn super.eDerivedOperationID(baseOperationID, baseClass);" + NL
+ + "\t}" + NL;
+ protected final String TEXT_186 = NL + "\tprotected Object[] eVirtualValues()" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_187 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_188 = NL + "\tprotected void eSetVirtualValues(Object[] newValues)" + NL + "\t{" + NL
+ + "\t\t";
+ protected final String TEXT_189 = " = newValues;" + NL + "\t}" + NL;
+ protected final String TEXT_190 = NL + "\tprotected int eVirtualIndexBits(int offset)" + NL + "\t{" + NL
+ + "\t\tswitch (offset)" + NL + "\t\t{";
+ protected final String TEXT_191 = " :" + NL + "\t\t\t\treturn ";
+ protected final String TEXT_192 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"
+ + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_193 = NL + "\tprotected void eSetVirtualIndexBits(int offset, int newIndexBits)" + NL
+ + "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";
+ protected final String TEXT_194 = " :" + NL + "\t\t\t\t";
+ protected final String TEXT_195 = " = newIndexBits;" + NL + "\t\t\t\tbreak;";
+ protected final String TEXT_196 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"
+ + NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_197 = NL + "\t@SuppressWarnings(";
+ protected final String TEXT_198 = "\"unchecked\"";
+ protected final String TEXT_199 = "{\"rawtypes\", \"unchecked\" }";
+ protected final String TEXT_200 = NL + "\tpublic Object eInvoke(int operationID, ";
+ protected final String TEXT_201 = " arguments) throws ";
+ protected final String TEXT_202 = NL + "\t{" + NL + "\t\tswitch (operationID";
+ protected final String TEXT_203 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{";
+ protected final String TEXT_204 = "arguments.get(";
+ protected final String TEXT_205 = ").";
+ protected final String TEXT_206 = ");" + NL + "\t\t\t\t";
+ protected final String TEXT_207 = "return null;";
+ protected final String TEXT_208 = "return ";
+ protected final String TEXT_209 = "new ";
+ protected final String TEXT_210 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";
+ protected final String TEXT_211 = " throwable)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tthrow new ";
+ protected final String TEXT_212 = "(throwable);" + NL + "\t\t\t\t}";
+ protected final String TEXT_213 = "\t\treturn super.eInvoke(operationID, arguments);";
+ protected final String TEXT_214 = "\t\treturn eDynamicInvoke(operationID, arguments);";
+ protected final String TEXT_215 = NL + "\tpublic String toString()" + NL + "\t{" + NL
+ + "\t\tif (eIsProxy()) return super.toString();" + NL + "" + NL + "\t\t";
+ protected final String TEXT_216 = " result = new ";
+ protected final String TEXT_217 = "(super.toString());";
+ protected final String TEXT_218 = NL + "\t\tresult.append(\" (";
+ protected final String TEXT_219 = ": \");";
+ protected final String TEXT_220 = NL + "\t\tresult.append(\", ";
+ protected final String TEXT_221 = NL + "\t\tif (eVirtualIsSet(";
+ protected final String TEXT_222 = ")) result.append(eVirtualGet(";
+ protected final String TEXT_223 = ")); else result.append(\"<unset>\");";
+ protected final String TEXT_224 = NL + "\t\tif (";
+ protected final String TEXT_225 = " & ";
+ protected final String TEXT_226 = "_ESETFLAG) != 0";
+ protected final String TEXT_227 = "ESet";
+ protected final String TEXT_228 = ") result.append((";
+ protected final String TEXT_229 = "_EFLAG) != 0); else result.append(\"<unset>\");";
+ protected final String TEXT_230 = ") result.append(";
+ protected final String TEXT_231 = "_EFLAG_VALUES[(";
+ protected final String TEXT_232 = "_EFLAG) >>> ";
+ protected final String TEXT_233 = "_EFLAG_OFFSET]); else result.append(\"<unset>\");";
+ protected final String TEXT_234 = "); else result.append(\"<unset>\");";
+ protected final String TEXT_235 = NL + "\t\tresult.append(eVirtualGet(";
+ protected final String TEXT_236 = "));";
+ protected final String TEXT_237 = NL + "\t\tresult.append((";
+ protected final String TEXT_238 = "_EFLAG) != 0);";
+ protected final String TEXT_239 = NL + "\t\tresult.append(";
+ protected final String TEXT_240 = "_EFLAG_OFFSET]);";
+ protected final String TEXT_241 = NL + "\t\tresult.append(')');" + NL + "\t\treturn result.toString();" + NL + "\t}"
+ + NL;
+ protected final String TEXT_242 = NL + "\tprotected int hash = -1;" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_243 = NL + "\tpublic int getHash()" + NL + "\t{" + NL + "\t\tif (hash == -1)" + NL
+ + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_244 = " theKey = getKey();" + NL
+ + "\t\t\thash = (theKey == null ? 0 : theKey.hashCode());" + NL + "\t\t}" + NL + "\t\treturn hash;" + NL
+ + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_245 = NL + "\tpublic void setHash(int hash)" + NL + "\t{" + NL + "\t\tthis.hash = hash;"
+ + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_246 = " getKey()" + NL + "\t{";
+ protected final String TEXT_247 = NL + "\t\treturn new ";
+ protected final String TEXT_248 = "(getTypedKey());";
+ protected final String TEXT_249 = NL + "\t\treturn getTypedKey();";
+ protected final String TEXT_250 = NL + "\tpublic void setKey(";
+ protected final String TEXT_251 = " key)" + NL + "\t{";
+ protected final String TEXT_252 = NL + "\t\tgetTypedKey().addAll(";
+ protected final String TEXT_253 = "key);";
+ protected final String TEXT_254 = NL + "\t\tsetTypedKey(key);";
+ protected final String TEXT_255 = NL + "\t\tsetTypedKey(((";
+ protected final String TEXT_256 = ")key).";
+ protected final String TEXT_257 = NL + "\t\tsetTypedKey((";
+ protected final String TEXT_258 = ")key);";
+ protected final String TEXT_259 = " getValue()" + NL + "\t{";
+ protected final String TEXT_260 = "(getTypedValue());";
+ protected final String TEXT_261 = NL + "\t\treturn getTypedValue();";
+ protected final String TEXT_262 = " setValue(";
+ protected final String TEXT_263 = " value)" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_264 = " oldValue = getValue();";
+ protected final String TEXT_265 = NL + "\t\tgetTypedValue().clear();" + NL + "\t\tgetTypedValue().addAll(";
+ protected final String TEXT_266 = "value);";
+ protected final String TEXT_267 = NL + "\t\tsetTypedValue(value);";
+ protected final String TEXT_268 = NL + "\t\tsetTypedValue(((";
+ protected final String TEXT_269 = ")value).";
+ protected final String TEXT_270 = NL + "\t\tsetTypedValue((";
+ protected final String TEXT_271 = ")value);";
+ protected final String TEXT_272 = NL + "\t\treturn oldValue;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_273 = " getEMap()" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_274 = " container = eContainer();" + NL + "\t\treturn container == null ? null : (";
+ protected final String TEXT_275 = ")container.eGet(eContainmentFeature());" + NL + "\t}" + NL;
+ protected final String TEXT_276 = NL + "} //";
+ protected final String TEXT_277 = NL;
+
+ public Interface() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_277);
+ stringBuffer.append(TEXT_277);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenClass genClass = parameter;
+ targetPath = genClass.getGenModel().getModelDirectory();
+ packageName = genClass.getGenPackage().getInterfacePackageName();
+ className = genClass.getInterfaceName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenClass genClass = parameter;
+ argument = ((Object[]) new Object[] { new Object[] { genClass, Boolean.TRUE, Boolean.FALSE } })[0];
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+
+ final GenClass genClass = (GenClass) ((Object[]) argument)[0];
+ final GenPackage genPackage = genClass.getGenPackage();
+ final GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ final boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+ final boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+ final boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()
+ && !(isInterface && isImplementation);
+ final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;
+ final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();
+ final String indentDefaultCase = forceDefaultCase ? "\t\t" : "";
+ final String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+ final String singleWildcard = isJDK50 ? "<?>" : "";
+ final String negativeOffsetCorrection = genClass.hasOffsetCorrection()
+ ? " - " + genClass.getOffsetCorrectionField(null)
+ : "";
+ final String positiveOffsetCorrection = genClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(null)
+ : "";
+ final String negativeOperationOffsetCorrection = genClass.hasOffsetCorrection()
+ ? " - EOPERATION_OFFSET_CORRECTION"
+ : "";
+ final String positiveOperationOffsetCorrection = genClass.hasOffsetCorrection()
+ ? " + EOPERATION_OFFSET_CORRECTION"
+ : "";
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (isInterface) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getInterfacePackageName());
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getClassPackageName());
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ genModel.markImportLocation(stringBuffer, genPackage);
+ if (isImplementation) {
+ genClass.addClassPsuedoImports();
+ }
+ stringBuffer.append(TEXT_4);
+ if (isInterface) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.interface.javadoc.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_BsLUkeXDEeCxnsoQRwU99Q",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/interface.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_6);
+ if (!genClass.getImplementedGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_7);
+ for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genClass.getQualifiedClassName());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ }
+ stringBuffer.append(TEXT_13);
+ if (genClass.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_15);
+ }
+ if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_16);
+ }
+ if (isImplementation) {
+ if (isJDK50 && !genClass.hasAPIDeprecatedTag()
+ && GenModelUtil.hasImplicitAPIDeprecatedTag(genClass.getEGetGenFeatures(),
+ genClass.getEIsSetGenFeatures(), genClass.getESetGenFeatures(),
+ genClass.getEUnsetGenFeatures(), genClass.getEInverseAddGenFeatures(),
+ genClass.getEInverseRemoveGenFeatures(), genClass.getEBasicRemoveFromContainerGenFeatures(),
+ genClass.getToStringGenFeatures())) {
+ stringBuffer.append(TEXT_17);
+ }
+ stringBuffer.append(TEXT_18);
+ if (genClass.isAbstract()) {
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genClass.getClassName());
+ stringBuffer.append(genClass.getTypeParameters().trim());
+ stringBuffer.append(genClass.getClassExtends());
+ stringBuffer.append(genClass.getClassImplements());
+ } else {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getInterfaceName());
+ stringBuffer.append(genClass.getTypeParameters().trim());
+ stringBuffer.append(genClass.getInterfaceExtends());
+ }
+ stringBuffer.append(TEXT_22);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_4);
+ }
+ if (isImplementation && genModel.getDriverNumber() != null) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genModel.getDriverNumber());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_4);
+ }
+ if (isImplementation && genClass.isJavaIOSerializable()) {
+ stringBuffer.append(TEXT_28);
+ }
+ if (isImplementation && genModel.isVirtualDelegation()) {
+ String eVirtualValuesField = genClass.getEVirtualValuesField();
+ if (eVirtualValuesField != null) {
+ stringBuffer.append(TEXT_29);
+ if (isGWT) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(eVirtualValuesField);
+ stringBuffer.append(TEXT_32);
+ }
+ {
+ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());
+ if (!eVirtualIndexBitFields.isEmpty()) {
+ for (String eVirtualIndexBitField : eVirtualIndexBitFields) {
+ stringBuffer.append(TEXT_33);
+ if (isGWT) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer
+ .append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(eVirtualIndexBitField);
+ stringBuffer.append(TEXT_32);
+ }
+ }
+ }
+ }
+ if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled()
+ && genModel.getBooleanFlagsReservedBits() == -1) {
+ stringBuffer.append(TEXT_35);
+ if (isGWT) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genModel.getBooleanFlagsField());
+ stringBuffer.append(TEXT_36);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()) {
+ for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {
+ if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+ && !genFeature.isMapType()) {
+ String rawListItemType = genFeature.getRawListItemType(genClass);
+ int index = rawListItemType.indexOf('[');
+ String head = rawListItemType;
+ String tail = "";
+ if (index != -1) {
+ head = rawListItemType.substring(0, index);
+ tail = rawListItemType.substring(index);
+ }
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_40);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_42);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_43);
+ }
+ if (genFeature.getQualifiedListItemType(genClass).contains("<")
+ || genFeature.getArrayItemType(genClass).contains("<")) {
+ stringBuffer.append(TEXT_44);
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(rawListItemType);
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(head);
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(tail);
+ stringBuffer.append(TEXT_32);
+ }
+ }
+ for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0u0bgWJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/declaredFieldGenFeature.override.javajetinc
+ }
+ }
+ if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genClass.getOffsetCorrectionField(null));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0)));
+ stringBuffer.append(TEXT_32);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()) {
+ for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+ GenFeature reverseFeature = genFeature.getReverse();
+ if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {
+ stringBuffer.append(TEXT_53);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_54);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_43);
+ }
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genClass.getOffsetCorrectionField(genFeature));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(reverseFeature.getGenClass().getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(reverseFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(TEXT_32);
+ }
+ }
+ }
+ if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection()
+ && !genClass.getImplementedGenOperations().isEmpty()) {
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0)));
+ stringBuffer.append(TEXT_32);
+ }
+ if (isImplementation) {
+ stringBuffer.append(TEXT_23);
+ if (genModel.isPublicConstructors()) {
+ stringBuffer.append(TEXT_58);
+ } else {
+ stringBuffer.append(TEXT_59);
+ }
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genClass.getClassName());
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_K9da0HroEeC0XN9kbwkPYQ",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_64);
+ if (!genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_65);
+ }
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_66);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_70);
+ }
+ if (isImplementation && genModel.isDynamicDelegation()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicDelegation" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_cAErkCSWEemxeP6B0lLOpA",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vQgYGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/reflectiveDelegation.override.javajetinc
+ if (isImplementation) {
+ new Runnable() {
+ public void run() {
+ GenClass classExtendsGenClass = genClass.getClassExtendsGenClass();
+ List<GenFeature> classExtendsAllGenFeatures = classExtendsGenClass == null
+ ? Collections.<GenFeature>emptyList()
+ : classExtendsGenClass.getAllGenFeatures();
+ for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeatureReified.override" args="genFeature:genFeature,classExtendsGenClass:classExtendsGenClass,classExtendsAllGenFeatures:classExtendsAllGenFeatures,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("classExtendsGenClass", classExtendsGenClass);
+ callParameters.put("classExtendsAllGenFeatures", classExtendsAllGenFeatures);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_onysQLM-EeKd56X4hcZPSw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/genFeatureReified.override.javajetinc
+ }
+ }
+ }.run();
+ }
+ new Runnable() {
+ public void run() {
+ for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures()
+ : genClass.getDeclaredGenFeatures())) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vaRYGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/genFeature.override.javajetinc
+ } //for
+ }
+ }.run();
+ for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations()
+ : genClass.getDeclaredGenOperations())) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01-MYGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/implementedGenOperation.override.javajetinc
+ } //for
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useGenerics()) {
+ for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {
+ if (genFeature.isUncheckedCast(genClass)) {
+ stringBuffer.append(TEXT_72);
+ break;
+ }
+ }
+ }
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_74);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_79);
+ if (genFeature.isListType()) {
+ String cast = "(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")
+ + (!genModel.useGenerics() ? ")"
+ : "<" + genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject") + ">)("
+ + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")
+ + "<?>)");
+ if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(cast);
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_84);
+ } else {
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(cast);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_86);
+ }
+ } else if (genFeature.isContainer()) {
+ stringBuffer.append(TEXT_87);
+ if (genFeature.isBasicSet()) {
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_90);
+ } else {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_92);
+ }
+ } else {
+ if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_96);
+ } else if (genFeature.isVolatile()
+ || genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_50);
+ if (genFeature.isResolveProxies()) {
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(genFeature.getAccessorName());
+ } else {
+ stringBuffer.append(genFeature.getGetAccessor());
+ }
+ stringBuffer.append(TEXT_98);
+ }
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_100);
+ if (genFeature.isEffectiveContains()) {
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_103);
+ } else {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_106);
+ }
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_90);
+ }
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_109);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_110);
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_108);
+ }
+ stringBuffer.append(TEXT_111);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_79);
+ if (genFeature.isListType()) {
+ if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_113);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_114);
+ } else if (genFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_113);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_116);
+ } else {
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_117);
+ }
+ } else if (genFeature.isContainer() && !genFeature.isBasicSet()) {
+ stringBuffer.append(TEXT_118);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_92);
+ } else if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_119);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_120);
+ } else {
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_121);
+ }
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else { // {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_122);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_123);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_108);
+ } // }
+ stringBuffer.append(TEXT_111);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_124);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_125);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_106);
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else { // {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_127);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_128);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_108);
+ } // }
+ stringBuffer.append(TEXT_111);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEGetGenFeatures())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_129);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenFeature genFeature : genClass.getEGetGenFeatures()) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_79);
+ if (genFeature.isPrimitiveType()) {
+ if (isJDK50) {
+ stringBuffer.append(TEXT_130);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_98);
+ } else if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_130);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_131);
+ } else {
+ stringBuffer.append(TEXT_132);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_133);
+ }
+ } else if (genFeature.isResolveProxies() && !genFeature.isListType()) {
+ stringBuffer.append(TEXT_134);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_135);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_98);
+ } else if (genFeature.isMapType()) {
+ if (genFeature.isEffectiveSuppressEMFTypes()) {
+ stringBuffer.append(TEXT_136);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_137);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_98);
+ } else {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_139);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_140);
+ }
+ } else if (genFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_136);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_98);
+ } else if (genFeature.isFeatureMapType()) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_142);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_143);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_144);
+ } else {
+ stringBuffer.append(TEXT_130);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_98);
+ }
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else { // {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_145);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_146);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_108);
+ } // }
+ stringBuffer.append(TEXT_111);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getESetGenFeatures())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useGenerics()) {
+ for (GenFeature genFeature : genClass.getESetGenFeatures()) {
+ if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType()
+ && !genFeature.isMapType()) {
+ stringBuffer.append(TEXT_72);
+ break;
+ }
+ }
+ }
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_147);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenFeature genFeature : genClass.getESetGenFeatures()) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_79);
+ if (genFeature.isListType()) {
+ if (genFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_149);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_150);
+ } else if (genFeature.isFeatureMapType()) {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_143);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_151);
+ } else if (genFeature.isMapType()) {
+ if (genFeature.isEffectiveSuppressEMFTypes()) {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_152);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_153);
+ } else {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_154);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_151);
+ }
+ } else {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_155);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+ if (isJDK50) {
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_158);
+ }
+ stringBuffer.append(TEXT_159);
+ }
+ } else if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_160);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_161);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_162);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_133);
+ } else {
+ stringBuffer.append(TEXT_160);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_81);
+ if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()
+ || !genFeature.getRawType().equals(genFeature.getType(genClass))) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_163);
+ }
+ stringBuffer.append(TEXT_164);
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else { // {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_165);
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_164);
+ }
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_166);
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_164);
+ }
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_108);
+ } // }
+ stringBuffer.append(TEXT_111);
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEUnsetGenFeatures())) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03KfMGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/eUnset.override.javajetinc
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation()
+ && genClass.implementsAny(genClass.getEIsSetGenFeatures())) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03TpIGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/eIsSet.override.javajetinc
+ }
+ if (isImplementation && (!genClass.getMixinGenFeatures().isEmpty()
+ || genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty())) {
+ if (!genClass.getMixinGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_168);
+ for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_170);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_171);
+ for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_174);
+ }
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_176);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_168);
+ for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_178);
+ for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_174);
+ }
+ if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_179);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_171);
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_174);
+ }
+ stringBuffer.append(TEXT_180);
+ }
+ if (genModel.isOperationReflection() && isImplementation
+ && (!genClass.getMixinGenOperations().isEmpty()
+ || !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(),
+ genClass.getImplementedGenOperations()).isEmpty()
+ || genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_168);
+ for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) {
+ List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations();
+ List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();
+ if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations)
+ .isEmpty()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(extendedGenClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_182);
+ for (GenOperation genOperation : extendedImplementedGenOperations) {
+ GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+ if (implementedGenOperations.contains(overrideGenOperation)) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(extendedGenClass.getQualifiedOperationID(genOperation));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation));
+ stringBuffer.append(positiveOperationOffsetCorrection);
+ stringBuffer.append(TEXT_3);
+ }
+ }
+ stringBuffer.append(TEXT_183);
+ }
+ }
+ for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_182);
+ for (GenOperation genOperation : mixinGenClass.getGenOperations()) {
+ GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(mixinGenClass.getQualifiedOperationID(genOperation));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genClass.getQualifiedOperationID(
+ overrideGenOperation != null ? overrideGenOperation : genOperation));
+ stringBuffer.append(positiveOperationOffsetCorrection);
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_174);
+ }
+ if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_184);
+ stringBuffer.append(negativeOperationOffsetCorrection);
+ stringBuffer.append(TEXT_171);
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genClass.getQualifiedOperationID(genOperation));
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genClass.getQualifiedOperationID(genOperation));
+ stringBuffer.append(positiveOperationOffsetCorrection);
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_174);
+ }
+ stringBuffer.append(TEXT_185);
+ }
+ if (isImplementation && genModel.isVirtualDelegation()) {
+ String eVirtualValuesField = genClass.getEVirtualValuesField();
+ if (eVirtualValuesField != null) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(eVirtualValuesField);
+ stringBuffer.append(TEXT_187);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_188);
+ stringBuffer.append(eVirtualValuesField);
+ stringBuffer.append(TEXT_189);
+ }
+ {
+ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());
+ if (!eVirtualIndexBitFields.isEmpty()) {
+ List<String> allEVirtualIndexBitFields = genClass
+ .getAllEVirtualIndexBitFields(new ArrayList<String>());
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_190);
+ for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(i);
+ stringBuffer.append(TEXT_191);
+ stringBuffer.append(allEVirtualIndexBitFields.get(i));
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_192);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_193);
+ for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(i);
+ stringBuffer.append(TEXT_194);
+ stringBuffer.append(allEVirtualIndexBitFields.get(i));
+ stringBuffer.append(TEXT_195);
+ }
+ stringBuffer.append(TEXT_196);
+ }
+ }
+ }
+ if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ if (genModel.useGenerics()) {
+ boolean isUnchecked = false;
+ boolean isRaw = false;
+ LOOP: for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods()
+ ? genClass.getImplementedGenOperations()
+ : genClass.getAllGenOperations())) {
+ for (GenParameter genParameter : genOperation.getGenParameters()) {
+ if (genParameter.isUncheckedCast()) {
+ if (genParameter.getTypeGenDataType() == null
+ || !genParameter.getTypeGenDataType().isObjectType()) {
+ isUnchecked = true;
+ }
+ if (genParameter.usesOperationTypeParameters() && !genParameter.getEcoreParameter()
+ .getEGenericType().getETypeArguments().isEmpty()) {
+ isRaw = true;
+ break LOOP;
+ }
+ }
+ }
+ }
+ if (isUnchecked) {
+ stringBuffer.append(TEXT_197);
+ if (!isRaw) {
+ stringBuffer.append(TEXT_198);
+ } else {
+ stringBuffer.append(TEXT_199);
+ }
+ stringBuffer.append(TEXT_83);
+ }
+ }
+ stringBuffer.append(TEXT_200);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EList"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+ : "java.lang.reflect.InvocationTargetException"));
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(negativeOperationOffsetCorrection);
+ stringBuffer.append(TEXT_77);
+ for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods()
+ ? genClass.getImplementedGenOperations()
+ : genClass.getAllGenOperations())) {
+ List<GenParameter> genParameters = genOperation.getGenParameters();
+ int size = genParameters.size();
+ boolean hasCheckedException = genOperation.hasCheckedException();
+ String indent = hasCheckedException ? "\t" : "";
+ GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass
+ .getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation));
+ stringBuffer.append(TEXT_79);
+ if (hasCheckedException) {
+ stringBuffer.append(TEXT_203);
+ /*}*/}
+ if (genOperation.isVoid()) {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(indent);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_81);
+ for (int i = 0; i < size; i++) {
+ GenParameter genParameter = genParameters.get(i);
+ if (!isJDK50 && genParameter.isPrimitiveType()) {
+ stringBuffer.append(TEXT_81);
+ }
+ if (genParameter.getTypeGenDataType() == null
+ || !genParameter.getTypeGenDataType().isObjectType()
+ || !genParameter.usesOperationTypeParameters()
+ && !genParameter.getRawType().equals(genParameter.getType(genClass))) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(
+ genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType()
+ : genParameter.getObjectType(genClass));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_204);
+ stringBuffer.append(i);
+ stringBuffer.append(TEXT_83);
+ if (!isJDK50 && genParameter.isPrimitiveType()) {
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genParameter.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_40);
+ }
+ if (i < (size - 1)) {
+ stringBuffer.append(TEXT_105);
+ }
+ }
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(indent);
+ stringBuffer.append(TEXT_207);
+ } else {
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(indent);
+ stringBuffer.append(TEXT_208);
+ if (!isJDK50 && genOperation.isPrimitiveType()) {
+ stringBuffer.append(TEXT_209);
+ stringBuffer.append(genOperation.getObjectType(genClass));
+ stringBuffer.append(TEXT_81);
+ }
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_81);
+ for (int i = 0; i < size; i++) {
+ GenParameter genParameter = genParameters.get(i);
+ if (!isJDK50 && genParameter.isPrimitiveType()) {
+ stringBuffer.append(TEXT_81);
+ }
+ if (genParameter.getTypeGenDataType() == null
+ || !genParameter.getTypeGenDataType().isObjectType()
+ || !genParameter.usesOperationTypeParameters()
+ && !genParameter.getRawType().equals(genParameter.getType(genClass))) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(
+ genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType()
+ : genParameter.getObjectType(genClass));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_204);
+ stringBuffer.append(i);
+ stringBuffer.append(TEXT_83);
+ if (!isJDK50 && genParameter.isPrimitiveType()) {
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genParameter.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_40);
+ }
+ if (i < (size - 1)) {
+ stringBuffer.append(TEXT_105);
+ }
+ }
+ stringBuffer.append(TEXT_83);
+ if (!isJDK50 && genOperation.isPrimitiveType()) {
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_3);
+ }
+ if (hasCheckedException) {/*{*/
+ stringBuffer.append(TEXT_210);
+ stringBuffer.append(genModel.getImportedName("java.lang.Throwable"));
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(
+ genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+ : "java.lang.reflect.InvocationTargetException"));
+ stringBuffer.append(TEXT_212);
+ }
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_107);
+ } else { // {
+ stringBuffer.append(TEXT_108);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_213);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_214);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_108);
+ } // }
+ stringBuffer.append(TEXT_111);
+ }
+ if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation()
+ && !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_71);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.useGenerics() ? "StringBuilder" : "StringBuffer");
+ stringBuffer.append(TEXT_216);
+ stringBuffer.append(genModel.useGenerics() ? "StringBuilder" : "StringBuffer");
+ stringBuffer.append(TEXT_217);
+ {
+ boolean first = true;
+ for (GenFeature genFeature : genClass.getToStringGenFeatures()) {
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ if (genFeature.isUnsettable() && !genFeature.isListType()) {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_223);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ if (genClass.isFlag(genFeature)) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_224);
+ if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_226);
+ } else {
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_227);
+ }
+ stringBuffer.append(TEXT_228);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_229);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_224);
+ if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_226);
+ } else {
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_227);
+ }
+ stringBuffer.append(TEXT_230);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_231);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_232);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_233);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ } else {
+ stringBuffer.append(TEXT_224);
+ if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_226);
+ } else {
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_227);
+ }
+ stringBuffer.append(TEXT_230);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_234);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ }
+ } else {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ if (!genFeature.isListType() && !genFeature.isReferenceType()) {
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(genFeature.getEDefault());
+ }
+ stringBuffer.append(TEXT_236);
+ } else {
+ if (genClass.isFlag(genFeature)) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_237);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_238);
+ } else {
+ stringBuffer.append(TEXT_239);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_231);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_232);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_240);
+ }
+ } else {
+ stringBuffer.append(TEXT_239);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_96);
+ }
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_241);
+ }
+ if (isImplementation && genClass.isMapEntry()) {
+ GenFeature keyFeature = genClass.getMapEntryKeyFeature();
+ GenFeature valueFeature = genClass.getMapEntryValueFeature();
+ String objectType = genModel.getImportedName("java.lang.Object");
+ String keyType = isJDK50 ? keyFeature.getObjectType(genClass) : objectType;
+ String valueType = isJDK50 ? valueFeature.getObjectType(genClass) : objectType;
+ String eMapType = genModel.getImportedName("org.eclipse.emf.common.util.EMap")
+ + (isJDK50 ? "<" + keyType + ", " + valueType + ">" : "");
+ stringBuffer.append(TEXT_71);
+ if (isGWT) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_242);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(objectType);
+ stringBuffer.append(TEXT_244);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_245);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(keyType);
+ stringBuffer.append(TEXT_246);
+ if (!isJDK50 && keyFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_247);
+ stringBuffer.append(keyFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_248);
+ } else {
+ stringBuffer.append(TEXT_249);
+ }
+ stringBuffer.append(TEXT_66);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_250);
+ stringBuffer.append(keyType);
+ stringBuffer.append(TEXT_251);
+ if (keyFeature.isListType()) {
+ stringBuffer.append(TEXT_252);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_253);
+ } else if (isJDK50) {
+ stringBuffer.append(TEXT_254);
+ } else if (keyFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_255);
+ stringBuffer.append(keyFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_256);
+ stringBuffer.append(keyFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_133);
+ } else {
+ stringBuffer.append(TEXT_257);
+ stringBuffer.append(keyFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_258);
+ }
+ stringBuffer.append(TEXT_66);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(valueType);
+ stringBuffer.append(TEXT_259);
+ if (!isJDK50 && valueFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_247);
+ stringBuffer.append(valueFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_260);
+ } else {
+ stringBuffer.append(TEXT_261);
+ }
+ stringBuffer.append(TEXT_66);
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(valueType);
+ stringBuffer.append(TEXT_262);
+ stringBuffer.append(valueType);
+ stringBuffer.append(TEXT_263);
+ stringBuffer.append(valueType);
+ stringBuffer.append(TEXT_264);
+ if (valueFeature.isListType()) {
+ stringBuffer.append(TEXT_265);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_266);
+ } else if (isJDK50) {
+ stringBuffer.append(TEXT_267);
+ } else if (valueFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_268);
+ stringBuffer.append(valueFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_269);
+ stringBuffer.append(valueFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_133);
+ } else {
+ stringBuffer.append(TEXT_270);
+ stringBuffer.append(valueFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_271);
+ }
+ stringBuffer.append(TEXT_272);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(eMapType);
+ stringBuffer.append(TEXT_273);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+ stringBuffer.append(TEXT_274);
+ stringBuffer.append(eMapType);
+ stringBuffer.append(TEXT_275);
+ }
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03daIGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_276);
+ stringBuffer.append(isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName());
+ // TODO fix the space above
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenClass genClass = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate
+ && (!genClass.isExternalInterface() && (!genModel.isSuppressInterfaces() || genClass.isInterface()));
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java
new file mode 100644
index 000000000..b6527e5b3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java
@@ -0,0 +1,272 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized ManifestMF create(String lineSeparator) {
+ nl = lineSeparator;
+ ManifestMF result = new ManifestMF();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL + "Bundle-Name: ";
+ protected final String TEXT_2 = NL + "Bundle-SymbolicName: ";
+ protected final String TEXT_3 = ";singleton:=true" + NL + "Automatic-Module-Name: ";
+ protected final String TEXT_4 = NL + "Bundle-Version: 1.0.0.qualifier" + NL + "Bundle-ClassPath: ";
+ protected final String TEXT_5 = ".jar";
+ protected final String TEXT_6 = ".";
+ protected final String TEXT_7 = NL + "Bundle-Activator: ";
+ protected final String TEXT_8 = "$Implementation";
+ protected final String TEXT_9 = "$Activator";
+ protected final String TEXT_10 = NL + "Bundle-Vendor: ";
+ protected final String TEXT_11 = NL + "Bundle-Localization: ";
+ protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";
+ protected final String TEXT_13 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";
+ protected final String TEXT_14 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";
+ protected final String TEXT_15 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";
+ protected final String TEXT_16 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-9";
+ protected final String TEXT_17 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-10";
+ protected final String TEXT_18 = NL + "Export-Package: ";
+ protected final String TEXT_19 = ",";
+ protected final String TEXT_20 = NL + " ";
+ protected final String TEXT_21 = NL + "Require-Bundle: ";
+ protected final String TEXT_22 = ";resolution:=optional;x-installation:=greedy";
+ protected final String TEXT_23 = ";visibility:=reexport";
+ protected final String TEXT_24 = NL + "Import-Package: org.osgi.framework";
+ protected final String TEXT_25 = NL + "Eclipse-LazyStart: true";
+ protected final String TEXT_26 = NL + "Bundle-ActivationPolicy: lazy" + NL;
+ protected final String TEXT_27 = NL;
+
+ public ManifestMF() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(TEXT_27);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getModelProjectDirectory() + "/META-INF/MANIFEST.MF";
+ overwrite = genModel.isUpdateClasspath();
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005-2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genModel.getModelBundleNameKey());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getModelPluginID());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getModelPluginID());
+ stringBuffer.append(TEXT_4);
+ if (genModel.isRuntimeJar()) {
+ stringBuffer.append(genModel.getModelPluginID());
+ stringBuffer.append(TEXT_5);
+ } else {
+ stringBuffer.append(TEXT_6);
+ }
+ if (genModel.hasModelPluginClass()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genModel.getQualifiedModelPluginClassName());
+ stringBuffer.append(TEXT_8);
+ if (genModel.isOSGiCompatible()) {
+ stringBuffer.append(TEXT_9);
+ }
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getModelBundleVendorKey());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getModelBundleLocalization());
+ if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {
+ stringBuffer.append(TEXT_12);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {
+ stringBuffer.append(TEXT_13);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {
+ stringBuffer.append(TEXT_14);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {
+ stringBuffer.append(TEXT_15);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {
+ stringBuffer.append(TEXT_16);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {
+ stringBuffer.append(TEXT_17);
+ }
+ Iterator<String> packagesIterator = genModel.getModelQualifiedPackageNames().iterator();
+ if (packagesIterator.hasNext()) {
+ String pack = packagesIterator.next();
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(pack);
+ while (packagesIterator.hasNext()) {
+ pack = packagesIterator.next();
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(pack);
+ }
+ }
+ Iterator<String> requiredPluginIterator = genModel.getModelRequiredPlugins().iterator();
+ if (requiredPluginIterator.hasNext()) {
+ String pluginID = requiredPluginIterator.next();
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(pluginID);
+ if (pluginID.startsWith("org.eclipse.core.runtime")) {
+ if (genModel.isOSGiCompatible()) {
+ stringBuffer.append(TEXT_22);
+ }
+ } else {
+ stringBuffer.append(TEXT_23);
+ }
+ while (requiredPluginIterator.hasNext()) {
+ pluginID = requiredPluginIterator.next();
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(pluginID);
+ if (pluginID.startsWith("org.eclipse.core.runtime")) {
+ if (genModel.isOSGiCompatible()) {
+ stringBuffer.append(TEXT_22);
+ }
+ } else if (!pluginID.equals("org.eclipse.xtext.xbase.lib")
+ && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {
+ stringBuffer.append(TEXT_23);
+ }
+ }
+ }
+ if (genModel.isOSGiCompatible() && genModel.hasModelPluginClass()) {
+ stringBuffer.append(TEXT_24);
+ }
+ if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22
+ || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {
+ stringBuffer.append(TEXT_25);
+ }
+ stringBuffer.append(TEXT_26);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genModel.isBundleManifest()) && (genModel.hasPluginSupport()
+ && !genModel.sameModelEditProject() && !genModel.sameModelEditorProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java
new file mode 100644
index 000000000..9816a1902
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java
@@ -0,0 +1,202 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModuleGWTXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized ModuleGWTXML create(String lineSeparator) {
+ nl = lineSeparator;
+ ModuleGWTXML result = new ModuleGWTXML();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL
+ + "<!DOCTYPE module PUBLIC \"-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN\" \"http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd\">"
+ + NL;
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + NL + "<module>";
+ protected final String TEXT_4 = NL + " <inherits name=\"";
+ protected final String TEXT_5 = "\" />";
+ protected final String TEXT_6 = NL + " <source path=\"";
+ protected final String TEXT_7 = "\"/>";
+ protected final String TEXT_8 = NL + "</module>" + NL;
+ protected final String TEXT_9 = NL;
+
+ public ModuleGWTXML() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(TEXT_9);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getModelDirectory() + "/" + genModel.getQualifiedModelModuleName().replace(".", "/")
+ + ".gwt.xml";
+ overwrite = false;
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_3);
+ for (String inherits : genModel.getModelModuleInherits()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(inherits);
+ stringBuffer.append(TEXT_5);
+ }
+ for (String source : genModel.getModelModuleSources()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(source);
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT
+ && !genModel.sameModelEditProject() && !genModel.sameModelEditorProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java
new file mode 100644
index 000000000..6644c54c0
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java
@@ -0,0 +1,2762 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PackageClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized PackageClass create(String lineSeparator) {
+ nl = lineSeparator;
+ PackageClass result = new PackageClass();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * The <b>Package</b> for the model." + NL + " * It contains accessors for the meta objects to represent"
+ + NL + " * <ul>" + NL + " * <li>each class,</li>" + NL + " * <li>each feature of each class,</li>";
+ protected final String TEXT_6 = NL + " * <li>each operation of each class,</li>";
+ protected final String TEXT_7 = NL + " * <li>each enum,</li>" + NL + " * <li>and each data type</li>" + NL
+ + " * </ul>" + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_8 = NL + " * <!-- begin-model-doc -->" + NL + " * ";
+ protected final String TEXT_9 = NL + " * <!-- end-model-doc -->";
+ protected final String TEXT_10 = NL + " * @see ";
+ protected final String TEXT_11 = NL + " * @model ";
+ protected final String TEXT_12 = NL + " * ";
+ protected final String TEXT_13 = NL + " * @model";
+ protected final String TEXT_14 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_15 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_16 = NL + " * ";
+ protected final String TEXT_17 = NL + "@Deprecated";
+ protected final String TEXT_18 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_19 = NL + "public class ";
+ protected final String TEXT_20 = " extends ";
+ protected final String TEXT_21 = " implements ";
+ protected final String TEXT_22 = NL + "public interface ";
+ protected final String TEXT_23 = NL + "{";
+ protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_25 = " copyright = ";
+ protected final String TEXT_26 = NL + "\t/**" + NL + "\t * The package name." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_27 = " eNAME = \"";
+ protected final String TEXT_28 = "\";";
+ protected final String TEXT_29 = NL + NL + "\t/**" + NL + "\t * The package namespace URI." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t";
+ protected final String TEXT_30 = " eNS_URI = \"";
+ protected final String TEXT_31 = NL + NL + "\t/**" + NL + "\t * The package namespace name." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t";
+ protected final String TEXT_32 = " eNS_PREFIX = \"";
+ protected final String TEXT_33 = NL + NL + "\t/**" + NL + "\t * The package content type ID." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t";
+ protected final String TEXT_34 = " eCONTENT_TYPE = \"";
+ protected final String TEXT_35 = NL + NL + "\t/**" + NL + "\t * The singleton instance of the package." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t";
+ protected final String TEXT_36 = " eINSTANCE = ";
+ protected final String TEXT_37 = ".init();" + NL;
+ protected final String TEXT_38 = NL + "\t/**";
+ protected final String TEXT_39 = NL + "\t * The meta object id for the '{@link ";
+ protected final String TEXT_40 = " <em>";
+ protected final String TEXT_41 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+ protected final String TEXT_42 = "</em>}' enum." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+ protected final String TEXT_43 = NL + "\t * The meta object id for the '<em>";
+ protected final String TEXT_44 = "</em>' data type." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_45 = NL + "\t * @see ";
+ protected final String TEXT_46 = "#get";
+ protected final String TEXT_47 = "()";
+ protected final String TEXT_48 = NL + "\t * ";
+ protected final String TEXT_49 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_50 = NL + "\t@Deprecated";
+ protected final String TEXT_51 = NL + "\t";
+ protected final String TEXT_52 = "int ";
+ protected final String TEXT_53 = " = ";
+ protected final String TEXT_54 = ";" + NL;
+ protected final String TEXT_55 = NL + "\t/**" + NL + "\t * The feature id for the '<em><b>";
+ protected final String TEXT_56 = "</b></em>' ";
+ protected final String TEXT_57 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_58 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_59 = NL + "\t/**" + NL + "\t * The number of structural features of the '<em>";
+ protected final String TEXT_60 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_61 = NL + "\t/**" + NL + "\t * The operation id for the '<em>";
+ protected final String TEXT_62 = "</em>' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_63 = NL + "\t/**" + NL + "\t * The number of operations of the '<em>";
+ protected final String TEXT_64 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected String packageFilename = \"";
+ protected final String TEXT_65 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_66 = NL + "\tprivate ";
+ protected final String TEXT_67 = " ";
+ protected final String TEXT_68 = " = null;" + NL;
+ protected final String TEXT_69 = NL + "\t/**" + NL
+ + "\t * Creates an instance of the model <b>Package</b>, registered with" + NL
+ + "\t * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package" + NL
+ + "\t * package URI value." + NL + "\t * <p>Note: the correct way to create the package is via the static"
+ + NL + "\t * factory method {@link #init init()}, which also performs" + NL
+ + "\t * initialization of the package, or returns the registered package," + NL
+ + "\t * if one already exists." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @see org.eclipse.emf.ecore.EPackage.Registry" + NL + "\t * @see ";
+ protected final String TEXT_70 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate ";
+ protected final String TEXT_71 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, ";
+ protected final String TEXT_72 = ");" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate static boolean isInited = false;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends."
+ + NL + "\t *" + NL + "\t * <p>This method is used to initialize {@link ";
+ protected final String TEXT_73 = "#eINSTANCE} when that field is accessed." + NL
+ + "\t * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #eNS_URI";
+ protected final String TEXT_74 = NL + "\t * @see #createPackageContents()" + NL
+ + "\t * @see #initializePackageContents()";
+ protected final String TEXT_75 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+ protected final String TEXT_76 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return (";
+ protected final String TEXT_77 = ")";
+ protected final String TEXT_78 = ".Registry.INSTANCE.getEPackage(";
+ protected final String TEXT_79 = ".eNS_URI);" + NL;
+ protected final String TEXT_80 = NL + "\t\tinitializeRegistryHelpers();" + NL;
+ protected final String TEXT_81 = NL + "\t\t// Obtain or create and register package" + NL + "\t\tObject registered";
+ protected final String TEXT_82 = ".Registry.INSTANCE.get(eNS_URI);" + NL + "\t\t";
+ protected final String TEXT_83 = " the";
+ protected final String TEXT_84 = " = registered";
+ protected final String TEXT_85 = " instanceof ";
+ protected final String TEXT_86 = " ? (";
+ protected final String TEXT_87 = ")registered";
+ protected final String TEXT_88 = " : new ";
+ protected final String TEXT_89 = "();" + NL + "" + NL + "\t\tisInited = true;" + NL;
+ protected final String TEXT_90 = NL + "\t\t// Initialize simple dependencies";
+ protected final String TEXT_91 = NL + "\t\t";
+ protected final String TEXT_92 = ".eINSTANCE.eClass();";
+ protected final String TEXT_93 = NL + "\t\t// Obtain or create and register interdependencies";
+ protected final String TEXT_94 = "Object ";
+ protected final String TEXT_95 = "registeredPackage = ";
+ protected final String TEXT_96 = ".eNS_URI);" + NL + "\t\t";
+ protected final String TEXT_97 = " = (";
+ protected final String TEXT_98 = ")(registeredPackage instanceof ";
+ protected final String TEXT_99 = " ? registeredPackage : ";
+ protected final String TEXT_100 = ".eINSTANCE);";
+ protected final String TEXT_101 = NL + "\t\t// Load packages";
+ protected final String TEXT_102 = NL + "\t\tthe";
+ protected final String TEXT_103 = ".loadPackage();";
+ protected final String TEXT_104 = NL + "\t\t// Create package meta-data objects";
+ protected final String TEXT_105 = ".createPackageContents();";
+ protected final String TEXT_106 = NL + NL + "\t\t// Initialize created meta-data";
+ protected final String TEXT_107 = ".initializePackageContents();";
+ protected final String TEXT_108 = NL + "\t\t// Fix loaded packages";
+ protected final String TEXT_109 = ".fixPackageContents();";
+ protected final String TEXT_110 = NL + "\t\t// Register package validator" + NL + "\t\t";
+ protected final String TEXT_111 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the";
+ protected final String TEXT_112 = "," + NL + "\t\t\t new ";
+ protected final String TEXT_113 = ".Descriptor()" + NL + "\t\t\t {";
+ protected final String TEXT_114 = NL + "\t\t\t\t @Override";
+ protected final String TEXT_115 = NL + "\t\t\t\t public ";
+ protected final String TEXT_116 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return ";
+ protected final String TEXT_117 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;
+ protected final String TEXT_118 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe";
+ protected final String TEXT_119 = ".freeze();" + NL;
+ protected final String TEXT_120 = NL + "\t\t// Update the registry and return the package" + NL + "\t\t";
+ protected final String TEXT_121 = ".Registry.INSTANCE.put(";
+ protected final String TEXT_122 = ".eNS_URI, the";
+ protected final String TEXT_123 = ");" + NL + "\t\treturn the";
+ protected final String TEXT_124 = ";" + NL + "\t}";
+ protected final String TEXT_125 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static void initializeRegistryHelpers()" + NL + "\t{";
+ protected final String TEXT_126 = ".register" + NL + "\t\t\t(";
+ protected final String TEXT_127 = ".class," + NL + "\t\t\t new ";
+ protected final String TEXT_128 = ".Helper()" + NL + "\t\t\t {" + NL
+ + "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL
+ + "\t\t\t\t\t return instance instanceof ";
+ protected final String TEXT_129 = ";" + NL + "\t\t\t\t }" + NL + "" + NL
+ + "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return new ";
+ protected final String TEXT_130 = "[size];" + NL + "\t\t\t\t }" + NL + "\t\t\t });";
+ protected final String TEXT_131 = ";" + NL + "\t\t\t\t }" + NL + "" + NL
+ + "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {";
+ protected final String TEXT_132 = NL + "\t\t\t\t\t return new ";
+ protected final String TEXT_133 = "[size]";
+ protected final String TEXT_134 = "[size];";
+ protected final String TEXT_135 = NL + "\t\t\t\t }" + NL + "\t\t});";
+ protected final String TEXT_136 = NL + "\t}" + NL + "" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static class WhiteList implements ";
+ protected final String TEXT_137 = ", EBasicWhiteList" + NL + "\t{";
+ protected final String TEXT_138 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+ protected final String TEXT_139 = NL + "\t}";
+ protected final String TEXT_140 = NL + "\t * Returns the meta object for class '{@link ";
+ protected final String TEXT_141 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for class '<em>";
+ protected final String TEXT_142 = "</em>'." + NL + "\t * @see ";
+ protected final String TEXT_143 = NL + "\t * @model ";
+ protected final String TEXT_144 = NL + "\t * ";
+ protected final String TEXT_145 = NL + "\t * @model";
+ protected final String TEXT_146 = NL + "\t * Returns the meta object for enum '{@link ";
+ protected final String TEXT_147 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for enum '<em>";
+ protected final String TEXT_148 = NL + "\t * Returns the meta object for data type '<em>";
+ protected final String TEXT_149 = "</em>'.";
+ protected final String TEXT_150 = NL + "\t * Returns the meta object for data type '{@link ";
+ protected final String TEXT_151 = "</em>}'.";
+ protected final String TEXT_152 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_153 = NL + " * <!-- begin-model-doc -->" + NL + " * ";
+ protected final String TEXT_154 = NL + " * <!-- end-model-doc -->";
+ protected final String TEXT_155 = NL + "\t * @return the meta object for data type '<em>";
+ protected final String TEXT_156 = NL + "\t@Override";
+ protected final String TEXT_157 = NL + "\tpublic ";
+ protected final String TEXT_158 = " get";
+ protected final String TEXT_159 = "()" + NL + "\t{";
+ protected final String TEXT_160 = NL + "\t\tif (";
+ protected final String TEXT_161 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_162 = ".eNS_URI).getEClassifiers().get(";
+ protected final String TEXT_163 = ");" + NL + "\t\t}";
+ protected final String TEXT_164 = NL + "\t\treturn ";
+ protected final String TEXT_165 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_166 = "();" + NL;
+ protected final String TEXT_167 = NL + "\t/**" + NL + "\t * Returns the meta object for the ";
+ protected final String TEXT_168 = " '{@link ";
+ protected final String TEXT_169 = "#";
+ protected final String TEXT_170 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the ";
+ protected final String TEXT_171 = " '<em>";
+ protected final String TEXT_172 = NL + "\t * @see #get";
+ protected final String TEXT_173 = NL + "\t\treturn (";
+ protected final String TEXT_174 = ".getEStructuralFeatures().get(";
+ protected final String TEXT_175 = ");";
+ protected final String TEXT_176 = NL + " return (";
+ protected final String TEXT_177 = ")get";
+ protected final String TEXT_178 = "().getEStructuralFeatures().get(";
+ protected final String TEXT_179 = "();";
+ protected final String TEXT_180 = NL + "\t/**" + NL + "\t * Returns the meta object for the '{@link ";
+ protected final String TEXT_181 = "(";
+ protected final String TEXT_182 = ") <em>";
+ protected final String TEXT_183 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the '<em>";
+ protected final String TEXT_184 = "</em>' operation." + NL + "\t * @see ";
+ protected final String TEXT_185 = ".getEOperations().get(";
+ protected final String TEXT_186 = NL + " return get";
+ protected final String TEXT_187 = "().getEOperations().get(";
+ protected final String TEXT_188 = NL + "\t/**" + NL
+ + "\t * Returns the factory that creates the instances of the model." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the factory that creates the instances of the model." + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_189 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_190 = "()" + NL + "\t{" + NL + "\t\treturn (";
+ protected final String TEXT_191 = ")getEFactoryInstance();" + NL + "\t}";
+ protected final String TEXT_192 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate boolean isCreated = false;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Creates the meta-model objects for the package. This method is" + NL
+ + "\t * guarded to have no affect on any invocation but its first." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_193 = NL + "\t@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_194 = NL + "\tpublic void createPackageContents()" + NL + "\t{" + NL
+ + "\t\tif (isCreated) return;" + NL + "\t\tisCreated = true;";
+ protected final String TEXT_195 = NL + NL + "\t\t// Create classes and their features";
+ protected final String TEXT_196 = " = create";
+ protected final String TEXT_197 = NL + "\t\tcreate";
+ protected final String TEXT_198 = ", ";
+ protected final String TEXT_199 = NL + "\t\tcreateEOperation(";
+ protected final String TEXT_200 = NL + NL + "\t\t// Create enums";
+ protected final String TEXT_201 = " = createEEnum(";
+ protected final String TEXT_202 = NL + NL + "\t\t// Create data types";
+ protected final String TEXT_203 = " = createEDataType(";
+ protected final String TEXT_204 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate boolean isInitialized = false;" + NL;
+ protected final String TEXT_205 = NL + "\t/**" + NL
+ + "\t * Complete the initialization of the package and its meta-model. This" + NL
+ + "\t * method is guarded to have no affect on any invocation but its first." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_206 = NL + "\tpublic void initializePackageContents()" + NL + "\t{" + NL
+ + "\t\tif (isInitialized) return;" + NL + "\t\tisInitialized = true;" + NL + "" + NL
+ + "\t\t// Initialize package" + NL + "\t\tsetName(eNAME);" + NL + "\t\tsetNsPrefix(eNS_PREFIX);" + NL
+ + "\t\tsetNsURI(eNS_URI);";
+ protected final String TEXT_207 = NL + NL + "\t\t// Obtain other dependent packages";
+ protected final String TEXT_208 = ".eNS_URI);";
+ protected final String TEXT_209 = NL + NL + "\t\t// Add subpackages";
+ protected final String TEXT_210 = NL + "\t\tgetESubpackages().add(";
+ protected final String TEXT_211 = NL + NL + "\t\t// Create type parameters";
+ protected final String TEXT_212 = "_";
+ protected final String TEXT_213 = " = addETypeParameter(";
+ protected final String TEXT_214 = ", \"";
+ protected final String TEXT_215 = "\");";
+ protected final String TEXT_216 = NL + "\t\taddETypeParameter(";
+ protected final String TEXT_217 = NL + NL + "\t\t// Set bounds for type parameters";
+ protected final String TEXT_218 = "g";
+ protected final String TEXT_219 = " = createEGenericType(";
+ protected final String TEXT_220 = NL + "\t\tg";
+ protected final String TEXT_221 = ".";
+ protected final String TEXT_222 = "(g";
+ protected final String TEXT_223 = ".getEBounds().add(g1);";
+ protected final String TEXT_224 = NL + NL + "\t\t// Add supertypes to classes";
+ protected final String TEXT_225 = ".getESuperTypes().add(";
+ protected final String TEXT_226 = ".get";
+ protected final String TEXT_227 = "());";
+ protected final String TEXT_228 = ".getEGenericSuperTypes().add(g1);";
+ protected final String TEXT_229 = NL + NL + "\t\t// Initialize classes";
+ protected final String TEXT_230 = ", features, and operations; add parameters";
+ protected final String TEXT_231 = " and features; add operations and parameters";
+ protected final String TEXT_232 = NL + "\t\tinitEClass(";
+ protected final String TEXT_233 = "null";
+ protected final String TEXT_234 = ".class";
+ protected final String TEXT_235 = "\", ";
+ protected final String TEXT_236 = "\"";
+ protected final String TEXT_237 = NL + "\t\tinitEReference(get";
+ protected final String TEXT_238 = "(), ";
+ protected final String TEXT_239 = "g1";
+ protected final String TEXT_240 = NL + "\t\tget";
+ protected final String TEXT_241 = "().getEKeys().add(";
+ protected final String TEXT_242 = NL + "\t\tinitEAttribute(get";
+ protected final String TEXT_243 = "initEOperation(get";
+ protected final String TEXT_244 = "addEOperation(";
+ protected final String TEXT_245 = "(), \"";
+ protected final String TEXT_246 = ", null, \"";
+ protected final String TEXT_247 = "addETypeParameter(op, \"";
+ protected final String TEXT_248 = NL + "\t\tt";
+ protected final String TEXT_249 = NL + "\t\taddEParameter(op, ";
+ protected final String TEXT_250 = NL + "\t\taddEException(op, g";
+ protected final String TEXT_251 = NL + "\t\taddEException(op, ";
+ protected final String TEXT_252 = NL + "\t\tinitEOperation(op, g1);";
+ protected final String TEXT_253 = NL + NL + "\t\t// Initialize enums and add enum literals";
+ protected final String TEXT_254 = NL + "\t\tinitEEnum(";
+ protected final String TEXT_255 = ".class, \"";
+ protected final String TEXT_256 = NL + "\t\taddEEnumLiteral(";
+ protected final String TEXT_257 = NL + NL + "\t\t// Initialize data types";
+ protected final String TEXT_258 = NL + "\t\tinitEDataType(";
+ protected final String TEXT_259 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource(";
+ protected final String TEXT_260 = NL + NL + "\t\t// Create annotations";
+ protected final String TEXT_261 = NL + "\t\t// ";
+ protected final String TEXT_262 = "Annotations();";
+ protected final String TEXT_263 = NL + "\t}" + NL;
+ protected final String TEXT_264 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>";
+ protected final String TEXT_265 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create";
+ protected final String TEXT_266 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = ";
+ protected final String TEXT_267 = "null;";
+ protected final String TEXT_268 = NL + "\t\taddAnnotation" + NL + "\t\t (";
+ protected final String TEXT_269 = "," + NL + "\t\t source," + NL + "\t\t new String[]" + NL + "\t\t {";
+ protected final String TEXT_270 = NL + "\t\t\t ";
+ protected final String TEXT_271 = NL + "\t\t }";
+ protected final String TEXT_272 = ",";
+ protected final String TEXT_273 = NL + "\t\t new ";
+ protected final String TEXT_274 = "[]" + NL + "\t\t {";
+ protected final String TEXT_275 = NL + "\t\t\t ";
+ protected final String TEXT_276 = ".createURI(";
+ protected final String TEXT_277 = "eNS_URI).appendFragment(\"";
+ protected final String TEXT_278 = "\")";
+ protected final String TEXT_279 = NL + "\t\t });";
+ protected final String TEXT_280 = "," + NL + "\t\t ";
+ protected final String TEXT_281 = "new boolean[] { ";
+ protected final String TEXT_282 = " }";
+ protected final String TEXT_283 = "null,";
+ protected final String TEXT_284 = "\",";
+ protected final String TEXT_285 = NL + "\t\t new String[]" + NL + "\t\t {";
+ protected final String TEXT_286 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate boolean isLoaded = false;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Laods the package and any sub-packages from their serialized form." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic void loadPackage()" + NL + "\t{" + NL + "\t\tif (isLoaded) return;" + NL
+ + "\t\tisLoaded = true;" + NL + "" + NL + "\t\t";
+ protected final String TEXT_287 = " url = getClass().getResource(packageFilename);" + NL + "\t\tif (url == null)"
+ + NL + "\t\t{" + NL
+ + "\t\t\tthrow new RuntimeException(\"Missing serialized package: \" + packageFilename);";
+ protected final String TEXT_288 = NL + "\t\t}" + NL + "\t\t";
+ protected final String TEXT_289 = " uri = ";
+ protected final String TEXT_290 = ".createURI(url.toString());" + NL + "\t\t";
+ protected final String TEXT_291 = " resource = new ";
+ protected final String TEXT_292 = "().createResource(uri);" + NL + "\t\ttry" + NL + "\t\t{" + NL
+ + "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch (";
+ protected final String TEXT_293 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
+ protected final String TEXT_294 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, (";
+ protected final String TEXT_295 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL
+ + "\t}" + NL;
+ protected final String TEXT_296 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate boolean isFixed = false;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Fixes up the loaded package, to make it appear as if it had been programmatically built." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic void fixPackageContents()" + NL + "\t{" + NL + "\t\tif (isFixed) return;" + NL
+ + "\t\tisFixed = true;" + NL + "\t\tfixEClassifiers();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Sets the instance class on the given classifier." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_297 = NL + "\tprotected void fixInstanceClass(";
+ protected final String TEXT_298 = " eClassifier)" + NL + "\t{" + NL
+ + "\t\tif (eClassifier.getInstanceClassName() == null)" + NL + "\t\t{";
+ protected final String TEXT_299 = NL + "\t\t\teClassifier.setInstanceClassName(\"";
+ protected final String TEXT_300 = ".\" + eClassifier.getName());";
+ protected final String TEXT_301 = NL + "\t\t\tsetGeneratedClassName(eClassifier);";
+ protected final String TEXT_302 = NL + "\t\t\tswitch (eClassifier.getClassifierID())" + NL + "\t\t\t{";
+ protected final String TEXT_303 = NL + "\t\t\t\tcase ";
+ protected final String TEXT_304 = ":";
+ protected final String TEXT_305 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tbreak;" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t\tdefault:" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\teClassifier.setInstanceClassName(\"";
+ protected final String TEXT_306 = NL + "\t\t\t\t\tsetGeneratedClassName(eClassifier);" + NL + "\t\t\t\t\tbreak;"
+ + NL + "\t\t\t\t}" + NL + "\t\t\t}";
+ protected final String TEXT_307 = NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_308 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_309 = " addEOperation(";
+ protected final String TEXT_310 = " owner, ";
+ protected final String TEXT_311 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"
+ + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_312 = " o = addEOperation(owner, type, name, lowerBound, upperBound);" + NL
+ + "\t\to.setUnique(isUnique);" + NL + "\t\to.setOrdered(isOrdered);" + NL + "\t\treturn o;" + NL + "\t}"
+ + NL;
+ protected final String TEXT_313 = " addEParameter(";
+ protected final String TEXT_314 = " p = ecoreFactory.createEParameter();" + NL + "\t\tp.setEType(type);" + NL
+ + "\t\tp.setName(name);" + NL + "\t\tp.setLowerBound(lowerBound);" + NL + "\t\tp.setUpperBound(upperBound);"
+ + NL + "\t\tp.setUnique(isUnique);" + NL + "\t\tp.setOrdered(isOrdered);" + NL
+ + "\t\towner.getEParameters().add(p);" + NL + "\t\treturn p;" + NL + "\t}" + NL;
+ protected final String TEXT_315 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * Defines literals for the meta objects that represent" + NL + "\t * <ul>" + NL
+ + "\t * <li>each class,</li>" + NL + "\t * <li>each feature of each class,</li>";
+ protected final String TEXT_316 = NL + "\t * <li>each operation of each class,</li>";
+ protected final String TEXT_317 = NL + "\t * <li>each enum,</li>" + NL + "\t * <li>and each data type</li>" + NL
+ + "\t * </ul>" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_318 = "public ";
+ protected final String TEXT_319 = "interface Literals" + NL + "\t{";
+ protected final String TEXT_320 = NL + "\t\t/**";
+ protected final String TEXT_321 = NL + "\t\t * The meta object literal for the '{@link ";
+ protected final String TEXT_322 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
+ protected final String TEXT_323 = "</em>}' enum." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
+ protected final String TEXT_324 = NL + "\t\t * The meta object literal for the '<em>";
+ protected final String TEXT_325 = "</em>' data type." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->";
+ protected final String TEXT_326 = NL + "\t\t * @see ";
+ protected final String TEXT_327 = NL + "\t\t * ";
+ protected final String TEXT_328 = NL + "\t\t * @generated" + NL + "\t\t */";
+ protected final String TEXT_329 = NL + "\t\t@Deprecated";
+ protected final String TEXT_330 = " = eINSTANCE.get";
+ protected final String TEXT_331 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";
+ protected final String TEXT_332 = " feature." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->";
+ protected final String TEXT_333 = "</b></em>' operation." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->";
+ protected final String TEXT_334 = NL + "} //";
+ protected final String TEXT_335 = NL;
+
+ public PackageClass() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_335);
+ stringBuffer.append(TEXT_335);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getModelDirectory();
+ packageName = genPackage.getReflectionClassPackageName();
+ className = genPackage.getPackageClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = ((Object[]) new Object[] {
+ new Object[] { genPackage,
+ genPackage.getGenModel().isSuppressEMFMetaData()
+ || genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE,
+ Boolean.TRUE } })[0];
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ final GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];
+ final GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+ boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+ boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()
+ && !(isInterface && isImplementation);
+ boolean packageNeedsSuppressDeprecation = isJDK50
+ && GenModelUtil.hasAPIDeprecatedTag(genPackage.getOrderedGenClassifiers())
+ && !genPackage.hasAPIDeprecatedTag() && !genModel.isSuppressEMFMetaData();
+ String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+ boolean needsAddEOperation = false;
+ boolean needsAddEParameter = false;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (isImplementation && !genModel.isSuppressInterfaces()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getClassPackageName());
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getReflectionPackageName());
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ genModel.markImportLocation(stringBuffer, genPackage);
+ if (isImplementation) {
+ genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Registry");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Descriptor");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.impl.EPackageImpl.EBasicWhiteList");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");
+ if (genPackage.isLiteralsInterface()) {
+ genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + ".Literals");
+ }
+ for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers())
+ genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + "."
+ + genPackage.getClassifierID(genClassifier));
+ }
+ if (isInterface) {
+ stringBuffer.append(TEXT_5);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_7);
+ if (genPackage.hasDocumentation()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genPackage.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName());
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genPackage.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_13);
+ }
+ }
+ stringBuffer.append(TEXT_14);
+ } else {
+ stringBuffer.append(TEXT_15);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_14);
+ }
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_17);
+ }
+ if (isImplementation) {
+ if (packageNeedsSuppressDeprecation) {
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl"));
+ if (!isInterface) {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ }
+ } else {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genPackage.getPackageInterfaceName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ }
+ stringBuffer.append(TEXT_23);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_4);
+ }
+ if (isInterface) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genPackage.getPackageName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genPackage.getNSURI());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genPackage.getNSName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ if (genPackage.isContentType()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genPackage.getContentTypeIdentifier());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genPackage.getPackageInterfaceName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genPackage.getQualifiedPackageClassName());
+ stringBuffer.append(TEXT_37);
+ for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {
+ stringBuffer.append(TEXT_38);
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ if (!genClass.isInterface()) {
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getQualifiedClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getQualifiedClassName());
+ } else {
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ }
+ } else if (genClassifier instanceof GenEnum) {
+ GenEnum genEnum = (GenEnum) genClassifier;
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genEnum.getQualifiedName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genEnum.getQualifiedName());
+ } else if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_44);
+ if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genDataType.getRawInstanceClassName());
+ }
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genPackage.getQualifiedPackageClassName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ if (genClassifier.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genPackage.getClassifierID(genClassifier));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genPackage.getClassifierValue(genClassifier));
+ stringBuffer.append(TEXT_54);
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_57);
+ if (genFeature.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_58);
+ if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getFeatureID(genFeature));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genClass.getFeatureValue(genFeature));
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_60);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_58);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getFeatureCountID());
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genClass.getFeatureCountValue());
+ stringBuffer.append(TEXT_54);
+ if (genModel.isOperationReflection()) {
+ for (GenOperation genOperation : genClass.getAllGenOperations(false)) {
+ if (genClass.getOverrideGenOperation(genOperation) == null) {
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_62);
+ if (genOperation.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(
+ genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_58);
+ if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getOperationID(genOperation, false));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genClass.getOperationValue(genOperation));
+ stringBuffer.append(TEXT_54);
+ }
+ }
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_60);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_58);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getOperationCountID());
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genClass.getOperationCountValue());
+ stringBuffer.append(TEXT_54);
+ }
+ }
+ }
+ }
+ if (isImplementation) {
+ if (genPackage.isLoadingInitialization()) {
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genPackage.getSerializedPackageFilename());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_4);
+ }
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ stringBuffer.append(TEXT_65);
+ if (genClassifier.hasAPITags(true)) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer), true));
+ }
+ stringBuffer.append(TEXT_49);
+ if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClassifier.getImportedMetaType());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_68);
+ }
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_71);
+ stringBuffer.append(genPackage.getQualifiedEFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_72);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_73);
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_74);
+ }
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_79);
+ if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_80);
+ }
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_89);
+ if (!genPackage.getPackageSimpleDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_90);
+ for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(dep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_92);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (!genPackage.getPackageInterDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_93);
+ for (ListIterator<GenPackage> i = genPackage.getPackageInterDependencies().listIterator(); i
+ .hasNext();) {
+ GenPackage interdep = i.next();
+ stringBuffer.append(TEXT_91);
+ if (i.previousIndex() == 0) {
+ stringBuffer.append(TEXT_94);
+ }
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(interdep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(interdep.getImportedPackageClassName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(interdep.getImportedPackageClassName());
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(interdep.getImportedPackageClassName());
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(interdep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_100);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_101);
+ if (genPackage.isLoadingInitialization()) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_103);
+ }
+ for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {
+ if (interdep.isLoadingInitialization()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+ stringBuffer.append(TEXT_103);
+ }
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_104);
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_105);
+ }
+ for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+ stringBuffer.append(TEXT_105);
+ }
+ stringBuffer.append(TEXT_106);
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_107);
+ }
+ for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+ stringBuffer.append(TEXT_107);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_108);
+ if (genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_109);
+ }
+ for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+ stringBuffer.append(TEXT_109);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (genPackage.hasConstraints()) {
+ stringBuffer.append(TEXT_110);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+ stringBuffer.append(TEXT_111);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+ stringBuffer.append(TEXT_113);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_114);
+ }
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(genPackage.getImportedValidatorClassName());
+ stringBuffer.append(TEXT_117);
+ }
+ if (!genPackage.isEcorePackage()) {
+ stringBuffer.append(TEXT_118);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_119);
+ }
+ stringBuffer.append(TEXT_120);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_123);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_124);
+ if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_125);
+ Set<String> helpers = new HashSet<String>();
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ if (!genClass.isDynamic()) {
+ String theClass = genClass.isMapEntry() ? genClass.getImportedClassName()
+ : genClass.getRawImportedInterfaceName();
+ if (helpers.add(theClass)) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(theClass);
+ stringBuffer.append(TEXT_127);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+ stringBuffer.append(TEXT_128);
+ stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()
+ : genClass.getRawImportedInterfaceName()
+ + genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_129);
+ stringBuffer.append(theClass);
+ stringBuffer.append(TEXT_130);
+ }
+ }
+ } else if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) {
+ String theClass = genDataType.getRawImportedInstanceClassName();
+ if (helpers.add(theClass)) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(theClass);
+ stringBuffer.append(TEXT_127);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+ stringBuffer.append(TEXT_128);
+ stringBuffer.append(theClass);
+ stringBuffer.append(TEXT_131);
+ if (genDataType.isArrayType()) {
+ String componentType = theClass;
+ String indices = "";
+ while (componentType.endsWith("[]")) {
+ componentType = componentType.substring(0, componentType.length() - 2);
+ indices += "[]";
+ }
+ stringBuffer.append(TEXT_132);
+ stringBuffer.append(componentType);
+ stringBuffer.append(TEXT_133);
+ stringBuffer.append(indices);
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_132);
+ stringBuffer.append(theClass);
+ stringBuffer.append(TEXT_134);
+ }
+ stringBuffer.append(TEXT_135);
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_136);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable"));
+ stringBuffer.append(TEXT_137);
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ if (!genClass.isDynamic()) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()
+ : genClass.getImportedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_54);
+ }
+ } else if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ if (!genDataType.isObjectType() && genDataType.isSerializable()) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genDataType.getImportedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_54);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_139);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE
+ stringBuffer.append(TEXT_4);
+ }
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ if (isInterface) {
+ stringBuffer.append(TEXT_38);
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ stringBuffer.append(TEXT_140);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_142);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ if (!genModel.isSuppressEMFModelTags()
+ && (genClass.isExternalInterface() || genClass.isDynamic())) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_143);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_144);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_145);
+ }
+ }
+ } else if (genClassifier instanceof GenEnum) {
+ GenEnum genEnum = (GenEnum) genClassifier;
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(genEnum.getQualifiedName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_147);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_142);
+ stringBuffer.append(genEnum.getQualifiedName());
+ } else if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_149);
+ } else {
+ stringBuffer.append(TEXT_150);
+ stringBuffer.append(genDataType.getRawInstanceClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_151);
+ }
+ stringBuffer.append(TEXT_152);
+ if (genDataType.hasDocumentation()) {
+ stringBuffer.append(TEXT_153);
+ stringBuffer.append(genDataType.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_154);
+ }
+ stringBuffer.append(TEXT_155);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_149);
+ if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genDataType.getRawInstanceClassName());
+ }
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genDataType.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_143);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_144);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_145);
+ }
+ }
+ }
+ if ((genClassifier instanceof GenClass || genClassifier instanceof GenEnum)
+ && genClassifier.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ } else {
+ stringBuffer.append(TEXT_65);
+ if (genClassifier.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ }
+ if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ if (isImplementation) {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genClassifier.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_159);
+ if (genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_160);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_161);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(genClassifier.getImportedMetaType());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_162);
+ stringBuffer.append(genPackage.getLocalClassifierIndex(genClassifier));
+ stringBuffer.append(TEXT_163);
+ }
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_165);
+ } else {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genClassifier.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_166);
+ }
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ if (isInterface) {
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genFeature.getGetAccessor());
+ }
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_170);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_171);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_142);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genClass.getClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ if (genFeature.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ } else {
+ stringBuffer.append(TEXT_65);
+ if (genFeature.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ }
+ if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ if (isImplementation) {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genFeature.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_159);
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genFeature.getImportedMetaType());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_174);
+ stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));
+ stringBuffer.append(TEXT_175);
+ } else {
+ stringBuffer.append(TEXT_176);
+ stringBuffer.append(genFeature.getImportedMetaType());
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_178);
+ stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_139);
+ } else {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genFeature.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_179);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (genModel.isOperationReflection()) {
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ if (isInterface) {
+ stringBuffer.append(TEXT_180);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_182);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_183);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_184);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_77);
+ if (genOperation.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer
+ .append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ } else {
+ stringBuffer.append(TEXT_65);
+ if (genOperation.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer
+ .append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ }
+ if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ if (isImplementation) {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genOperation.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_159);
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_185);
+ stringBuffer.append(genClass.getLocalOperationIndex(genOperation));
+ stringBuffer.append(TEXT_175);
+ } else {
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_187);
+ stringBuffer.append(genClass.getLocalOperationIndex(genOperation));
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_139);
+ } else {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genOperation.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_179);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ }
+ }
+ }
+ if (isInterface) {
+ stringBuffer.append(TEXT_188);
+ } else {
+ stringBuffer.append(TEXT_189);
+ }
+ if (isImplementation) {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genPackage.getFactoryName());
+ stringBuffer.append(TEXT_190);
+ stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+ stringBuffer.append(TEXT_191);
+ } else {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genPackage.getFactoryInterfaceName());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genPackage.getFactoryName());
+ stringBuffer.append(TEXT_179);
+ }
+ stringBuffer.append(TEXT_4);
+ if (isImplementation) {
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_192);
+ {
+ boolean needsSuppressDeprecation = false;
+ if (!packageNeedsSuppressDeprecation && isJDK50 && !genModel.isSuppressEMFMetaData()) {
+ LOOP: for (GenClass genClass : genPackage.getGenClasses()) {
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ if (genFeature.hasAPIDeprecatedTag()) {
+ needsSuppressDeprecation = true;
+ break LOOP;
+ }
+ }
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ if (genOperation.hasAPIDeprecatedTag()) {
+ needsSuppressDeprecation = true;
+ break LOOP;
+ }
+ }
+ }
+ if (needsSuppressDeprecation) {
+ stringBuffer.append(TEXT_193);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_194);
+ if (!genPackage.getGenClasses().isEmpty()) {
+ stringBuffer.append(TEXT_195);
+ for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {
+ GenClass genClass = c.next();
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_196);
+ stringBuffer.append(genClass.getMetaType());
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genClass.getClassifierID());
+ stringBuffer.append(TEXT_175);
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ stringBuffer.append(TEXT_197);
+ stringBuffer.append(genFeature.getMetaType());
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genClass.getFeatureID(genFeature));
+ stringBuffer.append(TEXT_175);
+ }
+ if (genModel.isOperationReflection()) {
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ stringBuffer.append(TEXT_199);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genClass.getOperationID(genOperation, false));
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ if (c.hasNext()) {
+ stringBuffer.append(TEXT_4);
+ }
+ }
+ }
+ if (!genPackage.getGenEnums().isEmpty()) {
+ stringBuffer.append(TEXT_200);
+ for (GenEnum genEnum : genPackage.getGenEnums()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genEnum.getClassifierInstanceName());
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genEnum.getClassifierID());
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ if (!genPackage.getGenDataTypes().isEmpty()) {
+ stringBuffer.append(TEXT_202);
+ for (GenDataType genDataType : genPackage.getGenDataTypes()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genDataType.getClassifierInstanceName());
+ stringBuffer.append(TEXT_203);
+ stringBuffer.append(genDataType.getClassifierID());
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ stringBuffer.append(TEXT_204);
+
+ ///////////////////////
+ class Information {
+ @SuppressWarnings("unused")
+ EGenericType eGenericType;
+ int depth;
+ String type;
+ String accessor;
+ }
+
+ class InformationIterator {
+ Iterator<Object> iterator;
+
+ InformationIterator(EGenericType eGenericType) {
+ iterator = EcoreUtil.getAllContents(Collections.singleton(eGenericType));
+ }
+
+ boolean hasNext() {
+ return iterator.hasNext();
+ }
+
+ Information next() {
+ Information information = new Information();
+ EGenericType eGenericType = information.eGenericType = (EGenericType) iterator.next();
+ for (EObject container = eGenericType
+ .eContainer(); container instanceof EGenericType; container = container.eContainer()) {
+ ++information.depth;
+ }
+ if (eGenericType.getEClassifier() != null) {
+ GenClassifier genClassifier = genModel.findGenClassifier(eGenericType.getEClassifier());
+ information.type = genPackage.getPackageInstanceVariable(genClassifier.getGenPackage())
+ + ".get" + genClassifier.getClassifierAccessorName() + "()";
+ } else if (eGenericType.getETypeParameter() != null) {
+ ETypeParameter eTypeParameter = eGenericType.getETypeParameter();
+ if (eTypeParameter.eContainer() instanceof EClass) {
+ information.type = genModel.findGenClassifier((EClass) eTypeParameter.eContainer())
+ .getClassifierInstanceName() + "_" + eGenericType.getETypeParameter().getName();
+ } else {
+ information.type = "t" + (((EOperation) eTypeParameter.eContainer())
+ .getETypeParameters().indexOf(eTypeParameter) + 1);
+ }
+ } else {
+ information.type = "";
+ }
+ if (information.depth > 0) {
+ if (eGenericType.eContainmentFeature().isMany()) {
+ information.accessor = "getE"
+ + eGenericType.eContainmentFeature().getName().substring(1) + "().add";
+ } else {
+ information.accessor = "setE"
+ + eGenericType.eContainmentFeature().getName().substring(1);
+ }
+ }
+ return information;
+ }
+ }
+ ///////////////////////
+ int maxGenericTypeAssignment = 0;
+
+ stringBuffer.append(TEXT_205);
+ {
+ boolean needsSuppressDeprecation = false;
+ if (!packageNeedsSuppressDeprecation && isJDK50) {
+ LOOP: for (GenEnum genEnum : genPackage.getGenEnums()) {
+ for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+ if (genEnumLiteral.hasAPIDeprecatedTag()) {
+ needsSuppressDeprecation = true;
+ break LOOP;
+ }
+ }
+ }
+ if (needsSuppressDeprecation) {
+ stringBuffer.append(TEXT_193);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_206);
+ if (!genPackage.getPackageInitializationDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_207);
+ for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(dep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(dep));
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(dep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(dep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_208);
+ }
+ }
+ if (!genPackage.getSubGenPackages().isEmpty()) {
+ stringBuffer.append(TEXT_209);
+ for (GenPackage sub : genPackage.getSubGenPackages()) {
+ stringBuffer.append(TEXT_210);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(sub));
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ if (!genPackage.getGenClasses().isEmpty()) {
+ boolean firstOperationAssignment = true;
+ int maxTypeParameterAssignment = 0;
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_211);
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {
+ if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()
+ || genTypeParameter.isUsed()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter"));
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(genTypeParameter.getName());
+ stringBuffer.append(TEXT_213);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genTypeParameter.getName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_216);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genTypeParameter.getName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ }
+ }
+ }
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_217);
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {
+ for (EGenericType bound : genTypeParameter.getEcoreTypeParameter().getEBounds()) {
+ for (InformationIterator i = new InformationIterator(bound); i.hasNext();) {
+ Information info = i.next();
+ String prefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+ + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(genTypeParameter.getName());
+ stringBuffer.append(TEXT_223);
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_224);
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.hasGenericSuperTypes()) {
+ for (GenClass baseGenClass : genClass.getBaseGenClasses()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_225);
+ stringBuffer
+ .append(genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(baseGenClass.getClassifierAccessorName());
+ stringBuffer.append(TEXT_227);
+ }
+ } else {
+ for (EGenericType superType : genClass.getEcoreClass().getEGenericSuperTypes()) {
+ for (InformationIterator i = new InformationIterator(superType); i.hasNext();) {
+ Information info = i.next();
+ String prefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_228);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_229);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_230);
+ } else {
+ stringBuffer.append(TEXT_231);
+ }
+ for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {
+ GenClass genClass = c.next();
+ boolean hasInstanceTypeName = genModel.useGenerics()
+ && genClass.getEcoreClass().getInstanceTypeName() != null
+ && genClass.getEcoreClass().getInstanceTypeName().contains("<");
+ stringBuffer.append(TEXT_232);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ if (genClass.isDynamic()) {
+ stringBuffer.append(TEXT_233);
+ } else {
+ stringBuffer.append(genClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_234);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genClass.getAbstractFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genClass.getInterfaceFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genClass.getGeneratedInstanceClassFlag());
+ if (hasInstanceTypeName) {
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genClass.getEcoreClass().getInstanceTypeName());
+ stringBuffer.append(TEXT_236);
+ }
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ if (hasInstanceTypeName) {
+ stringBuffer.append(genModel.getNonNLS(2));
+ }
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ if (genFeature.hasGenericType()) {
+ for (InformationIterator i = new InformationIterator(
+ genFeature.getEcoreFeature().getEGenericType()); i.hasNext();) {
+ Information info = i.next();
+ String prefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ }
+ if (genFeature.isReferenceType()) {
+ GenFeature reverseGenFeature = genFeature.getReverse();
+ String reverse = reverseGenFeature == null ? "null"
+ : genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage())
+ + ".get" + reverseGenFeature.getFeatureAccessorName() + "()";
+ stringBuffer.append(TEXT_237);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_238);
+ if (genFeature.hasGenericType()) {
+ stringBuffer.append(TEXT_239);
+ } else {
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genFeature.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(reverse);
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genFeature.getDefaultValue());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getContainerClass());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getTransientFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getVolatileFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getChangeableFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getContainmentFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getResolveProxiesFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUnsettableFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getDerivedFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));
+ for (GenFeature keyFeature : genFeature.getKeys()) {
+ stringBuffer.append(TEXT_240);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_241);
+ stringBuffer
+ .append(genPackage.getPackageInstanceVariable(keyFeature.getGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(keyFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_227);
+ }
+ } else {
+ stringBuffer.append(TEXT_242);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_238);
+ if (genFeature.hasGenericType()) {
+ stringBuffer.append(TEXT_239);
+ } else {
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genFeature.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genFeature.getDefaultValue());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getContainerClass());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getTransientFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getVolatileFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getChangeableFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUnsettableFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getIDFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getDerivedFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));
+ }
+ }
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ String prefix = "";
+ if (genOperation.hasGenericType() || !genOperation.getGenParameters().isEmpty()
+ || !genOperation.getGenExceptions().isEmpty()
+ || !genOperation.getGenTypeParameters().isEmpty()) {
+ if (firstOperationAssignment) {
+ firstOperationAssignment = false;
+ prefix = genModel.getImportedName("org.eclipse.emf.ecore.EOperation") + " op = ";
+ } else {
+ prefix = "op = ";
+ }
+ }
+ stringBuffer.append(TEXT_4);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_47);
+ } else {
+ stringBuffer.append(TEXT_244);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ }
+ stringBuffer.append(TEXT_198);
+ if (genOperation.isVoid() || genOperation.hasGenericType()) {
+ stringBuffer.append(TEXT_233);
+ } else {
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genOperation.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ } else if (!genOperation.isVoid()) {
+ if (!genOperation.getEcoreOperation().isOrdered()
+ || !genOperation.getEcoreOperation().isUnique()) {
+ needsAddEOperation = true;
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_47);
+ } else {
+ stringBuffer.append(TEXT_244);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ }
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_245);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genOperation.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_47);
+ } else {
+ stringBuffer.append(TEXT_244);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ }
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_245);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genOperation.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getUpperBound());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ } else {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_47);
+ } else {
+ stringBuffer.append(TEXT_244);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ }
+ stringBuffer.append(TEXT_246);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ if (genModel.useGenerics()) {
+ for (ListIterator<GenTypeParameter> t = genOperation.getGenTypeParameters()
+ .listIterator(); t.hasNext();) {
+ GenTypeParameter genTypeParameter = t.next();
+ String typeParameterVariable = "";
+ if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()
+ || genTypeParameter.isUsed()) {
+ if (maxTypeParameterAssignment <= t.previousIndex()) {
+ ++maxTypeParameterAssignment;
+ typeParameterVariable = genModel
+ .getImportedName("org.eclipse.emf.ecore.ETypeParameter") + " t"
+ + t.nextIndex() + " = ";
+ } else {
+ typeParameterVariable = "t" + t.nextIndex() + " = ";
+ }
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(typeParameterVariable);
+ stringBuffer.append(TEXT_247);
+ stringBuffer.append(genTypeParameter.getName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.getNonNLS());
+ for (EGenericType typeParameter : genTypeParameter.getEcoreTypeParameter()
+ .getEBounds()) {
+ for (InformationIterator i = new InformationIterator(typeParameter); i
+ .hasNext();) {
+ Information info = i.next();
+ String typePrefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ typePrefix = genModel
+ .getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(typePrefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ stringBuffer.append(TEXT_248);
+ stringBuffer.append(t.nextIndex());
+ stringBuffer.append(TEXT_223);
+ }
+ }
+ }
+ for (GenParameter genParameter : genOperation.getGenParameters()) {
+ if (genParameter.hasGenericType()) {
+ for (InformationIterator i = new InformationIterator(
+ genParameter.getEcoreParameter().getEGenericType()); i.hasNext();) {
+ Information info = i.next();
+ String typePrefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+ + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(typePrefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ }
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_249);
+ if (genParameter.hasGenericType()) {
+ stringBuffer.append(TEXT_239);
+ } else {
+ stringBuffer.append(genPackage
+ .getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genParameter.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genParameter.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ } else if (!genParameter.getEcoreParameter().isOrdered()
+ || !genParameter.getEcoreParameter().isUnique()) {
+ needsAddEParameter = true;
+ stringBuffer.append(TEXT_249);
+ if (genParameter.hasGenericType()) {
+ stringBuffer.append(TEXT_239);
+ } else {
+ stringBuffer.append(genPackage
+ .getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genParameter.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genParameter.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_249);
+ if (genParameter.hasGenericType()) {
+ stringBuffer.append(TEXT_239);
+ } else {
+ stringBuffer.append(genPackage
+ .getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genParameter.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genParameter.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getUpperBound());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ }
+ if (genOperation.hasGenericExceptions()) {
+ for (EGenericType genericExceptions : genOperation.getEcoreOperation()
+ .getEGenericExceptions()) {
+ for (InformationIterator i = new InformationIterator(genericExceptions); i
+ .hasNext();) {
+ Information info = i.next();
+ String typePrefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+ + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(typePrefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_250);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ } else {
+ for (GenClassifier genException : genOperation.getGenExceptions()) {
+ stringBuffer.append(TEXT_251);
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genException.getGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genException.getClassifierAccessorName());
+ stringBuffer.append(TEXT_227);
+ }
+ }
+ if (!genOperation.isVoid() && genOperation.hasGenericType()) {
+ for (InformationIterator i = new InformationIterator(
+ genOperation.getEcoreOperation().getEGenericType()); i.hasNext();) {
+ Information info = i.next();
+ String typePrefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+ + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(typePrefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ stringBuffer.append(TEXT_252);
+ }
+ }
+ if (c.hasNext()) {
+ stringBuffer.append(TEXT_4);
+ }
+ }
+ }
+ if (!genPackage.getGenEnums().isEmpty()) {
+ stringBuffer.append(TEXT_253);
+ for (Iterator<GenEnum> e = genPackage.getGenEnums().iterator(); e.hasNext();) {
+ GenEnum genEnum = e.next();
+ stringBuffer.append(TEXT_254);
+ stringBuffer.append(genEnum.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genEnum.getImportedName());
+ stringBuffer.append(TEXT_255);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.getNonNLS());
+ for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+ stringBuffer.append(TEXT_256);
+ stringBuffer.append(genEnum.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genEnum.getImportedName().equals(genEnum.getClassifierID())
+ ? genEnum.getQualifiedName()
+ : genEnum.getImportedName());
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+ stringBuffer.append(TEXT_175);
+ }
+ if (e.hasNext()) {
+ stringBuffer.append(TEXT_4);
+ }
+ }
+ }
+ if (!genPackage.getGenDataTypes().isEmpty()) {
+ stringBuffer.append(TEXT_257);
+ for (GenDataType genDataType : genPackage.getGenDataTypes()) {
+ boolean hasInstanceTypeName = genModel.useGenerics()
+ && genDataType.getEcoreDataType().getInstanceTypeName() != null
+ && genDataType.getEcoreDataType().getInstanceTypeName().contains("<");
+ stringBuffer.append(TEXT_258);
+ stringBuffer.append(genDataType.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genDataType.getRawImportedInstanceClassName());
+ stringBuffer.append(TEXT_255);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genDataType.getSerializableFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genDataType.getGeneratedInstanceClassFlag());
+ if (hasInstanceTypeName) {
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genDataType.getEcoreDataType().getInstanceTypeName());
+ stringBuffer.append(TEXT_236);
+ }
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ if (hasInstanceTypeName) {
+ stringBuffer.append(genModel.getNonNLS(2));
+ }
+ }
+ }
+ if (genPackage.getSuperGenPackage() == null) {
+ stringBuffer.append(TEXT_259);
+ stringBuffer.append(genPackage.getSchemaLocation());
+ stringBuffer.append(TEXT_175);
+ }
+ if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {
+ stringBuffer.append(TEXT_260);
+ for (String annotationSource : genPackage.getAnnotationSources()) {
+ stringBuffer.append(TEXT_261);
+ stringBuffer.append(annotationSource);
+ stringBuffer.append(TEXT_197);
+ stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));
+ stringBuffer.append(TEXT_262);
+ }
+ }
+ stringBuffer.append(TEXT_263);
+ for (String annotationSource : genPackage.getAnnotationSources()) {
+ stringBuffer.append(TEXT_264);
+ stringBuffer.append(annotationSource);
+ stringBuffer.append(TEXT_265);
+ stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));
+ stringBuffer.append(TEXT_266);
+ if (annotationSource == null) {
+ stringBuffer.append(TEXT_267);
+ } else {
+ stringBuffer.append(TEXT_236);
+ stringBuffer.append(annotationSource);
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) {
+ List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage
+ .getReferenceData(eAnnotation);
+ if (annotationSource == null ? eAnnotation.getSource() == null
+ : annotationSource.equals(eAnnotation.getSource())) {
+ stringBuffer.append(TEXT_268);
+ stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));
+ stringBuffer.append(TEXT_269);
+ for (Iterator<Map.Entry<String, String>> k = eAnnotation.getDetails().iterator(); k
+ .hasNext();) {
+ Map.Entry<String, String> detail = k.next();
+ String key = Literals.toStringLiteral(detail.getKey(), genModel);
+ String value = Literals.toStringLiteral(detail.getValue(), genModel);
+ stringBuffer.append(TEXT_270);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(value);
+ stringBuffer.append(k.hasNext() ? "," : "");
+ stringBuffer.append(genModel.getNonNLS(key + value));
+ }
+ stringBuffer.append(TEXT_271);
+ if (annotationReferenceDataList.isEmpty()) {
+ stringBuffer.append(TEXT_175);
+ } else {
+ stringBuffer.append(TEXT_272);
+ }
+ if (!annotationReferenceDataList.isEmpty()) {
+ stringBuffer.append(TEXT_273);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_274);
+ for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList
+ .iterator(); k.hasNext();) {
+ GenPackage.AnnotationReferenceData annotationReferenceData = k.next();
+ stringBuffer.append(TEXT_275);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_276);
+ if (annotationReferenceData.containingGenPackage != genPackage) {
+ stringBuffer.append(annotationReferenceData.containingGenPackage
+ .getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_221);
+ }
+ stringBuffer.append(TEXT_277);
+ stringBuffer.append(annotationReferenceData.uriFragment);
+ stringBuffer.append(TEXT_278);
+ if (k.hasNext()) {
+ stringBuffer.append(TEXT_272);
+ }
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_279);
+ }
+ for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {
+ String nestedAnnotationSource = nestedEAnnotation.getSource();
+ int depth = 0;
+ boolean nonContentAnnotation = false;
+ StringBuilder path = new StringBuilder();
+ for (EObject eContainer = nestedEAnnotation
+ .eContainer(), child = nestedEAnnotation; child != eAnnotation; child = eContainer, eContainer = eContainer
+ .eContainer()) {
+ boolean nonContentChild = child
+ .eContainmentFeature() != EcorePackage.Literals.EANNOTATION__CONTENTS;
+ if (path.length() != 0) {
+ path.insert(0, ", ");
+ }
+ path.insert(0, nonContentChild);
+ if (nonContentChild) {
+ nonContentAnnotation = true;
+ }
+ ++depth;
+ }
+ List<GenPackage.AnnotationReferenceData> nestedAnnotationReferenceDataList = genPackage
+ .getReferenceData(nestedEAnnotation);
+ stringBuffer.append(TEXT_268);
+ stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));
+ stringBuffer.append(TEXT_280);
+ if (nonContentAnnotation
+ && genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {
+ stringBuffer.append(TEXT_281);
+ stringBuffer.append(path.toString());
+ stringBuffer.append(TEXT_282);
+ } else {
+ stringBuffer.append(depth);
+ }
+ stringBuffer.append(TEXT_280);
+ if (nestedAnnotationSource == null) {
+ stringBuffer.append(TEXT_283);
+ } else {
+ stringBuffer.append(TEXT_236);
+ stringBuffer.append(nestedAnnotationSource);
+ stringBuffer.append(TEXT_284);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_285);
+ for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails()
+ .iterator(); l.hasNext();) {
+ Map.Entry<String, String> detail = l.next();
+ String key = Literals.toStringLiteral(detail.getKey(), genModel);
+ String value = Literals.toStringLiteral(detail.getValue(), genModel);
+ stringBuffer.append(TEXT_270);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(value);
+ stringBuffer.append(l.hasNext() ? "," : "");
+ stringBuffer.append(genModel.getNonNLS(key + value));
+ }
+ stringBuffer.append(TEXT_271);
+ if (nestedAnnotationReferenceDataList.isEmpty()) {
+ stringBuffer.append(TEXT_175);
+ } else {
+ stringBuffer.append(TEXT_272);
+ }
+ if (!nestedAnnotationReferenceDataList.isEmpty()) {
+ stringBuffer.append(TEXT_273);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_274);
+ for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList
+ .iterator(); l.hasNext();) {
+ GenPackage.AnnotationReferenceData annotationReferenceData = l.next();
+ stringBuffer.append(TEXT_275);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_276);
+ if (annotationReferenceData.containingGenPackage != genPackage) {
+ stringBuffer.append(annotationReferenceData.containingGenPackage
+ .getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_221);
+ }
+ stringBuffer.append(TEXT_277);
+ stringBuffer.append(annotationReferenceData.uriFragment);
+ stringBuffer.append(TEXT_278);
+ if (l.hasNext()) {
+ stringBuffer.append(TEXT_272);
+ }
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_279);
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_263);
+ }
+ } else {
+ if (genPackage.isLoadingInitialization()) {
+ stringBuffer.append(TEXT_286);
+ stringBuffer.append(genModel.getImportedName("java.net.URL"));
+ stringBuffer.append(TEXT_287);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_288);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_289);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_290);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));
+ stringBuffer.append(TEXT_291);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"));
+ stringBuffer.append(TEXT_292);
+ stringBuffer.append(genModel.getImportedName("java.io.IOException"));
+ stringBuffer.append(TEXT_293);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));
+ stringBuffer.append(TEXT_294);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_295);
+ }
+ stringBuffer.append(TEXT_296);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_297);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+ stringBuffer.append(TEXT_298);
+ ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>();
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (genClass.isDynamic()) {
+ dynamicGenClasses.add(genClass);
+ }
+ }
+ if (dynamicGenClasses.isEmpty()) {
+ stringBuffer.append(TEXT_299);
+ stringBuffer.append(genPackage.getInterfacePackageName());
+ stringBuffer.append(TEXT_300);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_301);
+ } else {
+ stringBuffer.append(TEXT_302);
+ for (GenClass genClass : dynamicGenClasses) {
+ if (genClass.isDynamic()) {
+ stringBuffer.append(TEXT_303);
+ stringBuffer.append(genPackage.getClassifierID(genClass));
+ stringBuffer.append(TEXT_304);
+ }
+ }
+ stringBuffer.append(TEXT_305);
+ stringBuffer.append(genPackage.getInterfacePackageName());
+ stringBuffer.append(TEXT_300);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_306);
+ }
+ stringBuffer.append(TEXT_307);
+ }
+ if (needsAddEOperation) {
+ stringBuffer.append(TEXT_308);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_309);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+ stringBuffer.append(TEXT_310);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+ stringBuffer.append(TEXT_311);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_312);
+ }
+ if (needsAddEParameter) {
+ stringBuffer.append(TEXT_308);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));
+ stringBuffer.append(TEXT_313);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_310);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+ stringBuffer.append(TEXT_311);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));
+ stringBuffer.append(TEXT_314);
+ }
+ }
+ if (isInterface && genPackage.isLiteralsInterface()) {
+ stringBuffer.append(TEXT_315);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_316);
+ }
+ stringBuffer.append(TEXT_317);
+ if (isImplementation) {
+ stringBuffer.append(TEXT_318);
+ }
+ stringBuffer.append(TEXT_319);
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ stringBuffer.append(TEXT_320);
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ if (!genClass.isInterface()) {
+ stringBuffer.append(TEXT_321);
+ stringBuffer.append(genClass.getQualifiedClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_322);
+ stringBuffer.append(genClass.getQualifiedClassName());
+ } else {
+ stringBuffer.append(TEXT_321);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_322);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ }
+ } else if (genClassifier instanceof GenEnum) {
+ GenEnum genEnum = (GenEnum) genClassifier;
+ stringBuffer.append(TEXT_321);
+ stringBuffer.append(genEnum.getQualifiedName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_323);
+ stringBuffer.append(genEnum.getQualifiedName());
+ } else if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ stringBuffer.append(TEXT_324);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_325);
+ if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_326);
+ stringBuffer.append(genDataType.getRawInstanceClassName());
+ }
+ }
+ stringBuffer.append(TEXT_326);
+ stringBuffer.append(genPackage.getQualifiedPackageClassName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ if (genClassifier.hasAPITags()) {
+ stringBuffer.append(TEXT_327);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_328);
+ if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_329);
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genClassifier.getImportedMetaType());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genPackage.getClassifierID(genClassifier));
+ stringBuffer.append(TEXT_330);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_166);
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ stringBuffer.append(TEXT_331);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_332);
+ if (genFeature.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_327);
+ stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_328);
+ if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_329);
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genFeature.getImportedMetaType());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClass.getFeatureID(genFeature));
+ stringBuffer.append(TEXT_330);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_166);
+ }
+ if (genModel.isOperationReflection()) {
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ stringBuffer.append(TEXT_331);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_333);
+ if (genOperation.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_327);
+ stringBuffer
+ .append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_328);
+ if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_329);
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genOperation.getImportedMetaType());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClass.getOperationID(genOperation, false));
+ stringBuffer.append(TEXT_330);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_166);
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_263);
+ }
+ stringBuffer.append(TEXT_334);
+ stringBuffer.append(isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genPackage.hasClassifiers());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java
new file mode 100644
index 000000000..023fcb7bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java
@@ -0,0 +1,2759 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PackageInterface extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized PackageInterface create(String lineSeparator) {
+ nl = lineSeparator;
+ PackageInterface result = new PackageInterface();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * The <b>Package</b> for the model." + NL + " * It contains accessors for the meta objects to represent"
+ + NL + " * <ul>" + NL + " * <li>each class,</li>" + NL + " * <li>each feature of each class,</li>";
+ protected final String TEXT_6 = NL + " * <li>each operation of each class,</li>";
+ protected final String TEXT_7 = NL + " * <li>each enum,</li>" + NL + " * <li>and each data type</li>" + NL
+ + " * </ul>" + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_8 = NL + " * <!-- begin-model-doc -->" + NL + " * ";
+ protected final String TEXT_9 = NL + " * <!-- end-model-doc -->";
+ protected final String TEXT_10 = NL + " * @see ";
+ protected final String TEXT_11 = NL + " * @model ";
+ protected final String TEXT_12 = NL + " * ";
+ protected final String TEXT_13 = NL + " * @model";
+ protected final String TEXT_14 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_15 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_16 = NL + " * ";
+ protected final String TEXT_17 = NL + "@Deprecated";
+ protected final String TEXT_18 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_19 = NL + "public class ";
+ protected final String TEXT_20 = " extends ";
+ protected final String TEXT_21 = " implements ";
+ protected final String TEXT_22 = NL + "public interface ";
+ protected final String TEXT_23 = NL + "{";
+ protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_25 = " copyright = ";
+ protected final String TEXT_26 = NL + "\t/**" + NL + "\t * The package name." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_27 = " eNAME = \"";
+ protected final String TEXT_28 = "\";";
+ protected final String TEXT_29 = NL + NL + "\t/**" + NL + "\t * The package namespace URI." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t";
+ protected final String TEXT_30 = " eNS_URI = \"";
+ protected final String TEXT_31 = NL + NL + "\t/**" + NL + "\t * The package namespace name." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t";
+ protected final String TEXT_32 = " eNS_PREFIX = \"";
+ protected final String TEXT_33 = NL + NL + "\t/**" + NL + "\t * The package content type ID." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t";
+ protected final String TEXT_34 = " eCONTENT_TYPE = \"";
+ protected final String TEXT_35 = NL + NL + "\t/**" + NL + "\t * The singleton instance of the package." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t";
+ protected final String TEXT_36 = " eINSTANCE = ";
+ protected final String TEXT_37 = ".init();" + NL;
+ protected final String TEXT_38 = NL + "\t/**";
+ protected final String TEXT_39 = NL + "\t * The meta object id for the '{@link ";
+ protected final String TEXT_40 = " <em>";
+ protected final String TEXT_41 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+ protected final String TEXT_42 = "</em>}' enum." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+ protected final String TEXT_43 = NL + "\t * The meta object id for the '<em>";
+ protected final String TEXT_44 = "</em>' data type." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_45 = NL + "\t * @see ";
+ protected final String TEXT_46 = "#get";
+ protected final String TEXT_47 = "()";
+ protected final String TEXT_48 = NL + "\t * ";
+ protected final String TEXT_49 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_50 = NL + "\t@Deprecated";
+ protected final String TEXT_51 = NL + "\t";
+ protected final String TEXT_52 = "int ";
+ protected final String TEXT_53 = " = ";
+ protected final String TEXT_54 = ";" + NL;
+ protected final String TEXT_55 = NL + "\t/**" + NL + "\t * The feature id for the '<em><b>";
+ protected final String TEXT_56 = "</b></em>' ";
+ protected final String TEXT_57 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_58 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_59 = NL + "\t/**" + NL + "\t * The number of structural features of the '<em>";
+ protected final String TEXT_60 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_61 = NL + "\t/**" + NL + "\t * The operation id for the '<em>";
+ protected final String TEXT_62 = "</em>' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_63 = NL + "\t/**" + NL + "\t * The number of operations of the '<em>";
+ protected final String TEXT_64 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected String packageFilename = \"";
+ protected final String TEXT_65 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_66 = NL + "\tprivate ";
+ protected final String TEXT_67 = " ";
+ protected final String TEXT_68 = " = null;" + NL;
+ protected final String TEXT_69 = NL + "\t/**" + NL
+ + "\t * Creates an instance of the model <b>Package</b>, registered with" + NL
+ + "\t * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package" + NL
+ + "\t * package URI value." + NL + "\t * <p>Note: the correct way to create the package is via the static"
+ + NL + "\t * factory method {@link #init init()}, which also performs" + NL
+ + "\t * initialization of the package, or returns the registered package," + NL
+ + "\t * if one already exists." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @see org.eclipse.emf.ecore.EPackage.Registry" + NL + "\t * @see ";
+ protected final String TEXT_70 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate ";
+ protected final String TEXT_71 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, ";
+ protected final String TEXT_72 = ");" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate static boolean isInited = false;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends."
+ + NL + "\t *" + NL + "\t * <p>This method is used to initialize {@link ";
+ protected final String TEXT_73 = "#eINSTANCE} when that field is accessed." + NL
+ + "\t * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #eNS_URI";
+ protected final String TEXT_74 = NL + "\t * @see #createPackageContents()" + NL
+ + "\t * @see #initializePackageContents()";
+ protected final String TEXT_75 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+ protected final String TEXT_76 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return (";
+ protected final String TEXT_77 = ")";
+ protected final String TEXT_78 = ".Registry.INSTANCE.getEPackage(";
+ protected final String TEXT_79 = ".eNS_URI);" + NL;
+ protected final String TEXT_80 = NL + "\t\tinitializeRegistryHelpers();" + NL;
+ protected final String TEXT_81 = NL + "\t\t// Obtain or create and register package" + NL + "\t\tObject registered";
+ protected final String TEXT_82 = ".Registry.INSTANCE.get(eNS_URI);" + NL + "\t\t";
+ protected final String TEXT_83 = " the";
+ protected final String TEXT_84 = " = registered";
+ protected final String TEXT_85 = " instanceof ";
+ protected final String TEXT_86 = " ? (";
+ protected final String TEXT_87 = ")registered";
+ protected final String TEXT_88 = " : new ";
+ protected final String TEXT_89 = "();" + NL + "" + NL + "\t\tisInited = true;" + NL;
+ protected final String TEXT_90 = NL + "\t\t// Initialize simple dependencies";
+ protected final String TEXT_91 = NL + "\t\t";
+ protected final String TEXT_92 = ".eINSTANCE.eClass();";
+ protected final String TEXT_93 = NL + "\t\t// Obtain or create and register interdependencies";
+ protected final String TEXT_94 = "Object ";
+ protected final String TEXT_95 = "registeredPackage = ";
+ protected final String TEXT_96 = ".eNS_URI);" + NL + "\t\t";
+ protected final String TEXT_97 = " = (";
+ protected final String TEXT_98 = ")(registeredPackage instanceof ";
+ protected final String TEXT_99 = " ? registeredPackage : ";
+ protected final String TEXT_100 = ".eINSTANCE);";
+ protected final String TEXT_101 = NL + "\t\t// Load packages";
+ protected final String TEXT_102 = NL + "\t\tthe";
+ protected final String TEXT_103 = ".loadPackage();";
+ protected final String TEXT_104 = NL + "\t\t// Create package meta-data objects";
+ protected final String TEXT_105 = ".createPackageContents();";
+ protected final String TEXT_106 = NL + NL + "\t\t// Initialize created meta-data";
+ protected final String TEXT_107 = ".initializePackageContents();";
+ protected final String TEXT_108 = NL + "\t\t// Fix loaded packages";
+ protected final String TEXT_109 = ".fixPackageContents();";
+ protected final String TEXT_110 = NL + "\t\t// Register package validator" + NL + "\t\t";
+ protected final String TEXT_111 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the";
+ protected final String TEXT_112 = "," + NL + "\t\t\t new ";
+ protected final String TEXT_113 = ".Descriptor()" + NL + "\t\t\t {";
+ protected final String TEXT_114 = NL + "\t\t\t\t @Override";
+ protected final String TEXT_115 = NL + "\t\t\t\t public ";
+ protected final String TEXT_116 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return ";
+ protected final String TEXT_117 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;
+ protected final String TEXT_118 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe";
+ protected final String TEXT_119 = ".freeze();" + NL;
+ protected final String TEXT_120 = NL + "\t\t// Update the registry and return the package" + NL + "\t\t";
+ protected final String TEXT_121 = ".Registry.INSTANCE.put(";
+ protected final String TEXT_122 = ".eNS_URI, the";
+ protected final String TEXT_123 = ");" + NL + "\t\treturn the";
+ protected final String TEXT_124 = ";" + NL + "\t}";
+ protected final String TEXT_125 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static void initializeRegistryHelpers()" + NL + "\t{";
+ protected final String TEXT_126 = ".register" + NL + "\t\t\t(";
+ protected final String TEXT_127 = ".class," + NL + "\t\t\t new ";
+ protected final String TEXT_128 = ".Helper()" + NL + "\t\t\t {" + NL
+ + "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL
+ + "\t\t\t\t\t return instance instanceof ";
+ protected final String TEXT_129 = ";" + NL + "\t\t\t\t }" + NL + "" + NL
+ + "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return new ";
+ protected final String TEXT_130 = "[size];" + NL + "\t\t\t\t }" + NL + "\t\t\t });";
+ protected final String TEXT_131 = ";" + NL + "\t\t\t\t }" + NL + "" + NL
+ + "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {";
+ protected final String TEXT_132 = NL + "\t\t\t\t\t return new ";
+ protected final String TEXT_133 = "[size]";
+ protected final String TEXT_134 = "[size];";
+ protected final String TEXT_135 = NL + "\t\t\t\t }" + NL + "\t\t});";
+ protected final String TEXT_136 = NL + "\t}" + NL + "" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static class WhiteList implements ";
+ protected final String TEXT_137 = ", EBasicWhiteList" + NL + "\t{";
+ protected final String TEXT_138 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+ protected final String TEXT_139 = NL + "\t}";
+ protected final String TEXT_140 = NL + "\t * Returns the meta object for class '{@link ";
+ protected final String TEXT_141 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for class '<em>";
+ protected final String TEXT_142 = "</em>'." + NL + "\t * @see ";
+ protected final String TEXT_143 = NL + "\t * @model ";
+ protected final String TEXT_144 = NL + "\t * ";
+ protected final String TEXT_145 = NL + "\t * @model";
+ protected final String TEXT_146 = NL + "\t * Returns the meta object for enum '{@link ";
+ protected final String TEXT_147 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for enum '<em>";
+ protected final String TEXT_148 = NL + "\t * Returns the meta object for data type '<em>";
+ protected final String TEXT_149 = "</em>'.";
+ protected final String TEXT_150 = NL + "\t * Returns the meta object for data type '{@link ";
+ protected final String TEXT_151 = "</em>}'.";
+ protected final String TEXT_152 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_153 = NL + " * <!-- begin-model-doc -->" + NL + " * ";
+ protected final String TEXT_154 = NL + " * <!-- end-model-doc -->";
+ protected final String TEXT_155 = NL + "\t * @return the meta object for data type '<em>";
+ protected final String TEXT_156 = NL + "\t@Override";
+ protected final String TEXT_157 = NL + "\tpublic ";
+ protected final String TEXT_158 = " get";
+ protected final String TEXT_159 = "()" + NL + "\t{";
+ protected final String TEXT_160 = NL + "\t\tif (";
+ protected final String TEXT_161 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_162 = ".eNS_URI).getEClassifiers().get(";
+ protected final String TEXT_163 = ");" + NL + "\t\t}";
+ protected final String TEXT_164 = NL + "\t\treturn ";
+ protected final String TEXT_165 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_166 = "();" + NL;
+ protected final String TEXT_167 = NL + "\t/**" + NL + "\t * Returns the meta object for the ";
+ protected final String TEXT_168 = " '{@link ";
+ protected final String TEXT_169 = "#";
+ protected final String TEXT_170 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the ";
+ protected final String TEXT_171 = " '<em>";
+ protected final String TEXT_172 = NL + "\t * @see #get";
+ protected final String TEXT_173 = NL + "\t\treturn (";
+ protected final String TEXT_174 = ".getEStructuralFeatures().get(";
+ protected final String TEXT_175 = ");";
+ protected final String TEXT_176 = NL + " return (";
+ protected final String TEXT_177 = ")get";
+ protected final String TEXT_178 = "().getEStructuralFeatures().get(";
+ protected final String TEXT_179 = "();";
+ protected final String TEXT_180 = NL + "\t/**" + NL + "\t * Returns the meta object for the '{@link ";
+ protected final String TEXT_181 = "(";
+ protected final String TEXT_182 = ") <em>";
+ protected final String TEXT_183 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the '<em>";
+ protected final String TEXT_184 = "</em>' operation." + NL + "\t * @see ";
+ protected final String TEXT_185 = ".getEOperations().get(";
+ protected final String TEXT_186 = NL + " return get";
+ protected final String TEXT_187 = "().getEOperations().get(";
+ protected final String TEXT_188 = NL + "\t/**" + NL
+ + "\t * Returns the factory that creates the instances of the model." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the factory that creates the instances of the model." + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_189 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_190 = "()" + NL + "\t{" + NL + "\t\treturn (";
+ protected final String TEXT_191 = ")getEFactoryInstance();" + NL + "\t}";
+ protected final String TEXT_192 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate boolean isCreated = false;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Creates the meta-model objects for the package. This method is" + NL
+ + "\t * guarded to have no affect on any invocation but its first." + NL + "\t * <!-- begin-user-doc -->"
+ + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_193 = NL + "\t@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_194 = NL + "\tpublic void createPackageContents()" + NL + "\t{" + NL
+ + "\t\tif (isCreated) return;" + NL + "\t\tisCreated = true;";
+ protected final String TEXT_195 = NL + NL + "\t\t// Create classes and their features";
+ protected final String TEXT_196 = " = create";
+ protected final String TEXT_197 = NL + "\t\tcreate";
+ protected final String TEXT_198 = ", ";
+ protected final String TEXT_199 = NL + "\t\tcreateEOperation(";
+ protected final String TEXT_200 = NL + NL + "\t\t// Create enums";
+ protected final String TEXT_201 = " = createEEnum(";
+ protected final String TEXT_202 = NL + NL + "\t\t// Create data types";
+ protected final String TEXT_203 = " = createEDataType(";
+ protected final String TEXT_204 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate boolean isInitialized = false;" + NL;
+ protected final String TEXT_205 = NL + "\t/**" + NL
+ + "\t * Complete the initialization of the package and its meta-model. This" + NL
+ + "\t * method is guarded to have no affect on any invocation but its first." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_206 = NL + "\tpublic void initializePackageContents()" + NL + "\t{" + NL
+ + "\t\tif (isInitialized) return;" + NL + "\t\tisInitialized = true;" + NL + "" + NL
+ + "\t\t// Initialize package" + NL + "\t\tsetName(eNAME);" + NL + "\t\tsetNsPrefix(eNS_PREFIX);" + NL
+ + "\t\tsetNsURI(eNS_URI);";
+ protected final String TEXT_207 = NL + NL + "\t\t// Obtain other dependent packages";
+ protected final String TEXT_208 = ".eNS_URI);";
+ protected final String TEXT_209 = NL + NL + "\t\t// Add subpackages";
+ protected final String TEXT_210 = NL + "\t\tgetESubpackages().add(";
+ protected final String TEXT_211 = NL + NL + "\t\t// Create type parameters";
+ protected final String TEXT_212 = "_";
+ protected final String TEXT_213 = " = addETypeParameter(";
+ protected final String TEXT_214 = ", \"";
+ protected final String TEXT_215 = "\");";
+ protected final String TEXT_216 = NL + "\t\taddETypeParameter(";
+ protected final String TEXT_217 = NL + NL + "\t\t// Set bounds for type parameters";
+ protected final String TEXT_218 = "g";
+ protected final String TEXT_219 = " = createEGenericType(";
+ protected final String TEXT_220 = NL + "\t\tg";
+ protected final String TEXT_221 = ".";
+ protected final String TEXT_222 = "(g";
+ protected final String TEXT_223 = ".getEBounds().add(g1);";
+ protected final String TEXT_224 = NL + NL + "\t\t// Add supertypes to classes";
+ protected final String TEXT_225 = ".getESuperTypes().add(";
+ protected final String TEXT_226 = ".get";
+ protected final String TEXT_227 = "());";
+ protected final String TEXT_228 = ".getEGenericSuperTypes().add(g1);";
+ protected final String TEXT_229 = NL + NL + "\t\t// Initialize classes";
+ protected final String TEXT_230 = ", features, and operations; add parameters";
+ protected final String TEXT_231 = " and features; add operations and parameters";
+ protected final String TEXT_232 = NL + "\t\tinitEClass(";
+ protected final String TEXT_233 = "null";
+ protected final String TEXT_234 = ".class";
+ protected final String TEXT_235 = "\", ";
+ protected final String TEXT_236 = "\"";
+ protected final String TEXT_237 = NL + "\t\tinitEReference(get";
+ protected final String TEXT_238 = "(), ";
+ protected final String TEXT_239 = "g1";
+ protected final String TEXT_240 = NL + "\t\tget";
+ protected final String TEXT_241 = "().getEKeys().add(";
+ protected final String TEXT_242 = NL + "\t\tinitEAttribute(get";
+ protected final String TEXT_243 = "initEOperation(get";
+ protected final String TEXT_244 = "addEOperation(";
+ protected final String TEXT_245 = "(), \"";
+ protected final String TEXT_246 = ", null, \"";
+ protected final String TEXT_247 = "addETypeParameter(op, \"";
+ protected final String TEXT_248 = NL + "\t\tt";
+ protected final String TEXT_249 = NL + "\t\taddEParameter(op, ";
+ protected final String TEXT_250 = NL + "\t\taddEException(op, g";
+ protected final String TEXT_251 = NL + "\t\taddEException(op, ";
+ protected final String TEXT_252 = NL + "\t\tinitEOperation(op, g1);";
+ protected final String TEXT_253 = NL + NL + "\t\t// Initialize enums and add enum literals";
+ protected final String TEXT_254 = NL + "\t\tinitEEnum(";
+ protected final String TEXT_255 = ".class, \"";
+ protected final String TEXT_256 = NL + "\t\taddEEnumLiteral(";
+ protected final String TEXT_257 = NL + NL + "\t\t// Initialize data types";
+ protected final String TEXT_258 = NL + "\t\tinitEDataType(";
+ protected final String TEXT_259 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource(";
+ protected final String TEXT_260 = NL + NL + "\t\t// Create annotations";
+ protected final String TEXT_261 = NL + "\t\t// ";
+ protected final String TEXT_262 = "Annotations();";
+ protected final String TEXT_263 = NL + "\t}" + NL;
+ protected final String TEXT_264 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>";
+ protected final String TEXT_265 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create";
+ protected final String TEXT_266 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = ";
+ protected final String TEXT_267 = "null;";
+ protected final String TEXT_268 = NL + "\t\taddAnnotation" + NL + "\t\t (";
+ protected final String TEXT_269 = "," + NL + "\t\t source," + NL + "\t\t new String[]" + NL + "\t\t {";
+ protected final String TEXT_270 = NL + "\t\t\t ";
+ protected final String TEXT_271 = NL + "\t\t }";
+ protected final String TEXT_272 = ",";
+ protected final String TEXT_273 = NL + "\t\t new ";
+ protected final String TEXT_274 = "[]" + NL + "\t\t {";
+ protected final String TEXT_275 = NL + "\t\t\t ";
+ protected final String TEXT_276 = ".createURI(";
+ protected final String TEXT_277 = "eNS_URI).appendFragment(\"";
+ protected final String TEXT_278 = "\")";
+ protected final String TEXT_279 = NL + "\t\t });";
+ protected final String TEXT_280 = "," + NL + "\t\t ";
+ protected final String TEXT_281 = "new boolean[] { ";
+ protected final String TEXT_282 = " }";
+ protected final String TEXT_283 = "null,";
+ protected final String TEXT_284 = "\",";
+ protected final String TEXT_285 = NL + "\t\t new String[]" + NL + "\t\t {";
+ protected final String TEXT_286 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate boolean isLoaded = false;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Laods the package and any sub-packages from their serialized form." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic void loadPackage()" + NL + "\t{" + NL + "\t\tif (isLoaded) return;" + NL
+ + "\t\tisLoaded = true;" + NL + "" + NL + "\t\t";
+ protected final String TEXT_287 = " url = getClass().getResource(packageFilename);" + NL + "\t\tif (url == null)"
+ + NL + "\t\t{" + NL
+ + "\t\t\tthrow new RuntimeException(\"Missing serialized package: \" + packageFilename);";
+ protected final String TEXT_288 = NL + "\t\t}" + NL + "\t\t";
+ protected final String TEXT_289 = " uri = ";
+ protected final String TEXT_290 = ".createURI(url.toString());" + NL + "\t\t";
+ protected final String TEXT_291 = " resource = new ";
+ protected final String TEXT_292 = "().createResource(uri);" + NL + "\t\ttry" + NL + "\t\t{" + NL
+ + "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch (";
+ protected final String TEXT_293 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
+ protected final String TEXT_294 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, (";
+ protected final String TEXT_295 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL
+ + "\t}" + NL;
+ protected final String TEXT_296 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprivate boolean isFixed = false;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Fixes up the loaded package, to make it appear as if it had been programmatically built." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic void fixPackageContents()" + NL + "\t{" + NL + "\t\tif (isFixed) return;" + NL
+ + "\t\tisFixed = true;" + NL + "\t\tfixEClassifiers();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Sets the instance class on the given classifier." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_297 = NL + "\tprotected void fixInstanceClass(";
+ protected final String TEXT_298 = " eClassifier)" + NL + "\t{" + NL
+ + "\t\tif (eClassifier.getInstanceClassName() == null)" + NL + "\t\t{";
+ protected final String TEXT_299 = NL + "\t\t\teClassifier.setInstanceClassName(\"";
+ protected final String TEXT_300 = ".\" + eClassifier.getName());";
+ protected final String TEXT_301 = NL + "\t\t\tsetGeneratedClassName(eClassifier);";
+ protected final String TEXT_302 = NL + "\t\t\tswitch (eClassifier.getClassifierID())" + NL + "\t\t\t{";
+ protected final String TEXT_303 = NL + "\t\t\t\tcase ";
+ protected final String TEXT_304 = ":";
+ protected final String TEXT_305 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tbreak;" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t\tdefault:" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\teClassifier.setInstanceClassName(\"";
+ protected final String TEXT_306 = NL + "\t\t\t\t\tsetGeneratedClassName(eClassifier);" + NL + "\t\t\t\t\tbreak;"
+ + NL + "\t\t\t\t}" + NL + "\t\t\t}";
+ protected final String TEXT_307 = NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_308 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_309 = " addEOperation(";
+ protected final String TEXT_310 = " owner, ";
+ protected final String TEXT_311 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"
+ + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_312 = " o = addEOperation(owner, type, name, lowerBound, upperBound);" + NL
+ + "\t\to.setUnique(isUnique);" + NL + "\t\to.setOrdered(isOrdered);" + NL + "\t\treturn o;" + NL + "\t}"
+ + NL;
+ protected final String TEXT_313 = " addEParameter(";
+ protected final String TEXT_314 = " p = ecoreFactory.createEParameter();" + NL + "\t\tp.setEType(type);" + NL
+ + "\t\tp.setName(name);" + NL + "\t\tp.setLowerBound(lowerBound);" + NL + "\t\tp.setUpperBound(upperBound);"
+ + NL + "\t\tp.setUnique(isUnique);" + NL + "\t\tp.setOrdered(isOrdered);" + NL
+ + "\t\towner.getEParameters().add(p);" + NL + "\t\treturn p;" + NL + "\t}" + NL;
+ protected final String TEXT_315 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * Defines literals for the meta objects that represent" + NL + "\t * <ul>" + NL
+ + "\t * <li>each class,</li>" + NL + "\t * <li>each feature of each class,</li>";
+ protected final String TEXT_316 = NL + "\t * <li>each operation of each class,</li>";
+ protected final String TEXT_317 = NL + "\t * <li>each enum,</li>" + NL + "\t * <li>and each data type</li>" + NL
+ + "\t * </ul>" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+ protected final String TEXT_318 = "public ";
+ protected final String TEXT_319 = "interface Literals" + NL + "\t{";
+ protected final String TEXT_320 = NL + "\t\t/**";
+ protected final String TEXT_321 = NL + "\t\t * The meta object literal for the '{@link ";
+ protected final String TEXT_322 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
+ protected final String TEXT_323 = "</em>}' enum." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
+ protected final String TEXT_324 = NL + "\t\t * The meta object literal for the '<em>";
+ protected final String TEXT_325 = "</em>' data type." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->";
+ protected final String TEXT_326 = NL + "\t\t * @see ";
+ protected final String TEXT_327 = NL + "\t\t * ";
+ protected final String TEXT_328 = NL + "\t\t * @generated" + NL + "\t\t */";
+ protected final String TEXT_329 = NL + "\t\t@Deprecated";
+ protected final String TEXT_330 = " = eINSTANCE.get";
+ protected final String TEXT_331 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";
+ protected final String TEXT_332 = " feature." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->";
+ protected final String TEXT_333 = "</b></em>' operation." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->";
+ protected final String TEXT_334 = NL + "} //";
+ protected final String TEXT_335 = NL;
+
+ public PackageInterface() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_335);
+ stringBuffer.append(TEXT_335);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getModelDirectory();
+ packageName = genPackage.getReflectionPackageName();
+ className = genPackage.getPackageInterfaceName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = ((Object[]) new Object[] { new Object[] { genPackage, Boolean.TRUE, Boolean.FALSE } })[0];
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ final GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];
+ final GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+ boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+ boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation()
+ && !(isInterface && isImplementation);
+ boolean packageNeedsSuppressDeprecation = isJDK50
+ && GenModelUtil.hasAPIDeprecatedTag(genPackage.getOrderedGenClassifiers())
+ && !genPackage.hasAPIDeprecatedTag() && !genModel.isSuppressEMFMetaData();
+ String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+ boolean needsAddEOperation = false;
+ boolean needsAddEParameter = false;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (isImplementation && !genModel.isSuppressInterfaces()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getClassPackageName());
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getReflectionPackageName());
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ genModel.markImportLocation(stringBuffer, genPackage);
+ if (isImplementation) {
+ genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Registry");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Descriptor");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.impl.EPackageImpl.EBasicWhiteList");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");
+ if (genPackage.isLiteralsInterface()) {
+ genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + ".Literals");
+ }
+ for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers())
+ genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + "."
+ + genPackage.getClassifierID(genClassifier));
+ }
+ if (isInterface) {
+ stringBuffer.append(TEXT_5);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_7);
+ if (genPackage.hasDocumentation()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genPackage.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName());
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genPackage.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_13);
+ }
+ }
+ stringBuffer.append(TEXT_14);
+ } else {
+ stringBuffer.append(TEXT_15);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_14);
+ }
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_17);
+ }
+ if (isImplementation) {
+ if (packageNeedsSuppressDeprecation) {
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl"));
+ if (!isInterface) {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ }
+ } else {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genPackage.getPackageInterfaceName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ }
+ stringBuffer.append(TEXT_23);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_4);
+ }
+ if (isInterface) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genPackage.getPackageName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genPackage.getNSURI());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genPackage.getNSName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ if (genPackage.isContentType()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genPackage.getContentTypeIdentifier());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genPackage.getPackageInterfaceName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genPackage.getQualifiedPackageClassName());
+ stringBuffer.append(TEXT_37);
+ for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {
+ stringBuffer.append(TEXT_38);
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ if (!genClass.isInterface()) {
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getQualifiedClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getQualifiedClassName());
+ } else {
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ }
+ } else if (genClassifier instanceof GenEnum) {
+ GenEnum genEnum = (GenEnum) genClassifier;
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genEnum.getQualifiedName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genEnum.getQualifiedName());
+ } else if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_44);
+ if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genDataType.getRawInstanceClassName());
+ }
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genPackage.getQualifiedPackageClassName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ if (genClassifier.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genPackage.getClassifierID(genClassifier));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genPackage.getClassifierValue(genClassifier));
+ stringBuffer.append(TEXT_54);
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_57);
+ if (genFeature.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_58);
+ if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getFeatureID(genFeature));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genClass.getFeatureValue(genFeature));
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_60);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_58);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getFeatureCountID());
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genClass.getFeatureCountValue());
+ stringBuffer.append(TEXT_54);
+ if (genModel.isOperationReflection()) {
+ for (GenOperation genOperation : genClass.getAllGenOperations(false)) {
+ if (genClass.getOverrideGenOperation(genOperation) == null) {
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_62);
+ if (genOperation.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(
+ genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_58);
+ if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getOperationID(genOperation, false));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genClass.getOperationValue(genOperation));
+ stringBuffer.append(TEXT_54);
+ }
+ }
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_60);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_58);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getOperationCountID());
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genClass.getOperationCountValue());
+ stringBuffer.append(TEXT_54);
+ }
+ }
+ }
+ }
+ if (isImplementation) {
+ if (genPackage.isLoadingInitialization()) {
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genPackage.getSerializedPackageFilename());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_4);
+ }
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ stringBuffer.append(TEXT_65);
+ if (genClassifier.hasAPITags(true)) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer), true));
+ }
+ stringBuffer.append(TEXT_49);
+ if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClassifier.getImportedMetaType());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_68);
+ }
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_71);
+ stringBuffer.append(genPackage.getQualifiedEFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_72);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_73);
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_74);
+ }
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_79);
+ if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_80);
+ }
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genPackage.getPackageClassName());
+ stringBuffer.append(TEXT_89);
+ if (!genPackage.getPackageSimpleDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_90);
+ for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(dep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_92);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (!genPackage.getPackageInterDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_93);
+ for (ListIterator<GenPackage> i = genPackage.getPackageInterDependencies().listIterator(); i
+ .hasNext();) {
+ GenPackage interdep = i.next();
+ stringBuffer.append(TEXT_91);
+ if (i.previousIndex() == 0) {
+ stringBuffer.append(TEXT_94);
+ }
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(interdep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(interdep.getImportedPackageClassName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(interdep.getImportedPackageClassName());
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(interdep.getImportedPackageClassName());
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(interdep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_100);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_101);
+ if (genPackage.isLoadingInitialization()) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_103);
+ }
+ for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {
+ if (interdep.isLoadingInitialization()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+ stringBuffer.append(TEXT_103);
+ }
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_104);
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_105);
+ }
+ for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+ stringBuffer.append(TEXT_105);
+ }
+ stringBuffer.append(TEXT_106);
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_107);
+ }
+ for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+ stringBuffer.append(TEXT_107);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_108);
+ if (genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_109);
+ }
+ for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+ stringBuffer.append(TEXT_109);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (genPackage.hasConstraints()) {
+ stringBuffer.append(TEXT_110);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+ stringBuffer.append(TEXT_111);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+ stringBuffer.append(TEXT_113);
+ if (genModel.useInterfaceOverrideAnnotation()) {
+ stringBuffer.append(TEXT_114);
+ }
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(genPackage.getImportedValidatorClassName());
+ stringBuffer.append(TEXT_117);
+ }
+ if (!genPackage.isEcorePackage()) {
+ stringBuffer.append(TEXT_118);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_119);
+ }
+ stringBuffer.append(TEXT_120);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_123);
+ stringBuffer.append(genPackage.getBasicPackageName());
+ stringBuffer.append(TEXT_124);
+ if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_125);
+ Set<String> helpers = new HashSet<String>();
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ if (!genClass.isDynamic()) {
+ String theClass = genClass.isMapEntry() ? genClass.getImportedClassName()
+ : genClass.getRawImportedInterfaceName();
+ if (helpers.add(theClass)) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(theClass);
+ stringBuffer.append(TEXT_127);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+ stringBuffer.append(TEXT_128);
+ stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()
+ : genClass.getRawImportedInterfaceName()
+ + genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_129);
+ stringBuffer.append(theClass);
+ stringBuffer.append(TEXT_130);
+ }
+ }
+ } else if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) {
+ String theClass = genDataType.getRawImportedInstanceClassName();
+ if (helpers.add(theClass)) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(theClass);
+ stringBuffer.append(TEXT_127);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+ stringBuffer.append(TEXT_128);
+ stringBuffer.append(theClass);
+ stringBuffer.append(TEXT_131);
+ if (genDataType.isArrayType()) {
+ String componentType = theClass;
+ String indices = "";
+ while (componentType.endsWith("[]")) {
+ componentType = componentType.substring(0, componentType.length() - 2);
+ indices += "[]";
+ }
+ stringBuffer.append(TEXT_132);
+ stringBuffer.append(componentType);
+ stringBuffer.append(TEXT_133);
+ stringBuffer.append(indices);
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_132);
+ stringBuffer.append(theClass);
+ stringBuffer.append(TEXT_134);
+ }
+ stringBuffer.append(TEXT_135);
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_136);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable"));
+ stringBuffer.append(TEXT_137);
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ if (!genClass.isDynamic()) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()
+ : genClass.getImportedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_54);
+ }
+ } else if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ if (!genDataType.isObjectType() && genDataType.isSerializable()) {
+ stringBuffer.append(TEXT_138);
+ stringBuffer.append(genDataType.getImportedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_54);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_139);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE
+ stringBuffer.append(TEXT_4);
+ }
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ if (isInterface) {
+ stringBuffer.append(TEXT_38);
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ stringBuffer.append(TEXT_140);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_142);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ if (!genModel.isSuppressEMFModelTags()
+ && (genClass.isExternalInterface() || genClass.isDynamic())) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_143);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_144);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_145);
+ }
+ }
+ } else if (genClassifier instanceof GenEnum) {
+ GenEnum genEnum = (GenEnum) genClassifier;
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(genEnum.getQualifiedName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_147);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_142);
+ stringBuffer.append(genEnum.getQualifiedName());
+ } else if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_149);
+ } else {
+ stringBuffer.append(TEXT_150);
+ stringBuffer.append(genDataType.getRawInstanceClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_151);
+ }
+ stringBuffer.append(TEXT_152);
+ if (genDataType.hasDocumentation()) {
+ stringBuffer.append(TEXT_153);
+ stringBuffer.append(genDataType.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_154);
+ }
+ stringBuffer.append(TEXT_155);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_149);
+ if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genDataType.getRawInstanceClassName());
+ }
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genDataType.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_143);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_144);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_145);
+ }
+ }
+ }
+ if ((genClassifier instanceof GenClass || genClassifier instanceof GenEnum)
+ && genClassifier.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ } else {
+ stringBuffer.append(TEXT_65);
+ if (genClassifier.hasAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ }
+ if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ if (isImplementation) {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genClassifier.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_159);
+ if (genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_160);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_161);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(genClassifier.getImportedMetaType());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_162);
+ stringBuffer.append(genPackage.getLocalClassifierIndex(genClassifier));
+ stringBuffer.append(TEXT_163);
+ }
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_165);
+ } else {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genClassifier.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_166);
+ }
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ if (isInterface) {
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_168);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genFeature.getGetAccessor());
+ }
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_170);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_171);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_142);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genClass.getClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ if (genFeature.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ } else {
+ stringBuffer.append(TEXT_65);
+ if (genFeature.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ }
+ if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ if (isImplementation) {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genFeature.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_159);
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(genFeature.getImportedMetaType());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_174);
+ stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));
+ stringBuffer.append(TEXT_175);
+ } else {
+ stringBuffer.append(TEXT_176);
+ stringBuffer.append(genFeature.getImportedMetaType());
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_178);
+ stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_139);
+ } else {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genFeature.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_179);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ if (genModel.isOperationReflection()) {
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ if (isInterface) {
+ stringBuffer.append(TEXT_180);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_182);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_183);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_184);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_77);
+ if (genOperation.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer
+ .append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ } else {
+ stringBuffer.append(TEXT_65);
+ if (genOperation.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer
+ .append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_49);
+ }
+ if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_50);
+ }
+ if (isImplementation) {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genOperation.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_159);
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_164);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_185);
+ stringBuffer.append(genClass.getLocalOperationIndex(genOperation));
+ stringBuffer.append(TEXT_175);
+ } else {
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_187);
+ stringBuffer.append(genClass.getLocalOperationIndex(genOperation));
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_139);
+ } else {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genOperation.getImportedMetaType());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_179);
+ }
+ stringBuffer.append(TEXT_4);
+ }
+ }
+ }
+ }
+ if (isInterface) {
+ stringBuffer.append(TEXT_188);
+ } else {
+ stringBuffer.append(TEXT_189);
+ }
+ if (isImplementation) {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genPackage.getFactoryName());
+ stringBuffer.append(TEXT_190);
+ stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+ stringBuffer.append(TEXT_191);
+ } else {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genPackage.getFactoryInterfaceName());
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(genPackage.getFactoryName());
+ stringBuffer.append(TEXT_179);
+ }
+ stringBuffer.append(TEXT_4);
+ if (isImplementation) {
+ if (!genPackage.isLoadedInitialization()) {
+ stringBuffer.append(TEXT_192);
+ {
+ boolean needsSuppressDeprecation = false;
+ if (!packageNeedsSuppressDeprecation && isJDK50 && !genModel.isSuppressEMFMetaData()) {
+ LOOP: for (GenClass genClass : genPackage.getGenClasses()) {
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ if (genFeature.hasAPIDeprecatedTag()) {
+ needsSuppressDeprecation = true;
+ break LOOP;
+ }
+ }
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ if (genOperation.hasAPIDeprecatedTag()) {
+ needsSuppressDeprecation = true;
+ break LOOP;
+ }
+ }
+ }
+ if (needsSuppressDeprecation) {
+ stringBuffer.append(TEXT_193);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_194);
+ if (!genPackage.getGenClasses().isEmpty()) {
+ stringBuffer.append(TEXT_195);
+ for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {
+ GenClass genClass = c.next();
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_196);
+ stringBuffer.append(genClass.getMetaType());
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genClass.getClassifierID());
+ stringBuffer.append(TEXT_175);
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ stringBuffer.append(TEXT_197);
+ stringBuffer.append(genFeature.getMetaType());
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genClass.getFeatureID(genFeature));
+ stringBuffer.append(TEXT_175);
+ }
+ if (genModel.isOperationReflection()) {
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ stringBuffer.append(TEXT_199);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genClass.getOperationID(genOperation, false));
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ if (c.hasNext()) {
+ stringBuffer.append(TEXT_4);
+ }
+ }
+ }
+ if (!genPackage.getGenEnums().isEmpty()) {
+ stringBuffer.append(TEXT_200);
+ for (GenEnum genEnum : genPackage.getGenEnums()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genEnum.getClassifierInstanceName());
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genEnum.getClassifierID());
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ if (!genPackage.getGenDataTypes().isEmpty()) {
+ stringBuffer.append(TEXT_202);
+ for (GenDataType genDataType : genPackage.getGenDataTypes()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genDataType.getClassifierInstanceName());
+ stringBuffer.append(TEXT_203);
+ stringBuffer.append(genDataType.getClassifierID());
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ stringBuffer.append(TEXT_204);
+
+ ///////////////////////
+ class Information {
+ @SuppressWarnings("unused")
+ EGenericType eGenericType;
+ int depth;
+ String type;
+ String accessor;
+ }
+
+ class InformationIterator {
+ Iterator<Object> iterator;
+
+ InformationIterator(EGenericType eGenericType) {
+ iterator = EcoreUtil.getAllContents(Collections.singleton(eGenericType));
+ }
+
+ boolean hasNext() {
+ return iterator.hasNext();
+ }
+
+ Information next() {
+ Information information = new Information();
+ EGenericType eGenericType = information.eGenericType = (EGenericType) iterator.next();
+ for (EObject container = eGenericType
+ .eContainer(); container instanceof EGenericType; container = container.eContainer()) {
+ ++information.depth;
+ }
+ if (eGenericType.getEClassifier() != null) {
+ GenClassifier genClassifier = genModel.findGenClassifier(eGenericType.getEClassifier());
+ information.type = genPackage.getPackageInstanceVariable(genClassifier.getGenPackage())
+ + ".get" + genClassifier.getClassifierAccessorName() + "()";
+ } else if (eGenericType.getETypeParameter() != null) {
+ ETypeParameter eTypeParameter = eGenericType.getETypeParameter();
+ if (eTypeParameter.eContainer() instanceof EClass) {
+ information.type = genModel.findGenClassifier((EClass) eTypeParameter.eContainer())
+ .getClassifierInstanceName() + "_" + eGenericType.getETypeParameter().getName();
+ } else {
+ information.type = "t" + (((EOperation) eTypeParameter.eContainer())
+ .getETypeParameters().indexOf(eTypeParameter) + 1);
+ }
+ } else {
+ information.type = "";
+ }
+ if (information.depth > 0) {
+ if (eGenericType.eContainmentFeature().isMany()) {
+ information.accessor = "getE"
+ + eGenericType.eContainmentFeature().getName().substring(1) + "().add";
+ } else {
+ information.accessor = "setE"
+ + eGenericType.eContainmentFeature().getName().substring(1);
+ }
+ }
+ return information;
+ }
+ }
+ ///////////////////////
+ int maxGenericTypeAssignment = 0;
+
+ stringBuffer.append(TEXT_205);
+ {
+ boolean needsSuppressDeprecation = false;
+ if (!packageNeedsSuppressDeprecation && isJDK50) {
+ LOOP: for (GenEnum genEnum : genPackage.getGenEnums()) {
+ for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+ if (genEnumLiteral.hasAPIDeprecatedTag()) {
+ needsSuppressDeprecation = true;
+ break LOOP;
+ }
+ }
+ }
+ if (needsSuppressDeprecation) {
+ stringBuffer.append(TEXT_193);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_206);
+ if (!genPackage.getPackageInitializationDependencies().isEmpty()) {
+ stringBuffer.append(TEXT_207);
+ for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(dep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(dep));
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(dep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(dep.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_208);
+ }
+ }
+ if (!genPackage.getSubGenPackages().isEmpty()) {
+ stringBuffer.append(TEXT_209);
+ for (GenPackage sub : genPackage.getSubGenPackages()) {
+ stringBuffer.append(TEXT_210);
+ stringBuffer.append(genPackage.getPackageInstanceVariable(sub));
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ if (!genPackage.getGenClasses().isEmpty()) {
+ boolean firstOperationAssignment = true;
+ int maxTypeParameterAssignment = 0;
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_211);
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {
+ if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()
+ || genTypeParameter.isUsed()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter"));
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(genTypeParameter.getName());
+ stringBuffer.append(TEXT_213);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genTypeParameter.getName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_216);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genTypeParameter.getName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ }
+ }
+ }
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_217);
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {
+ for (EGenericType bound : genTypeParameter.getEcoreTypeParameter().getEBounds()) {
+ for (InformationIterator i = new InformationIterator(bound); i.hasNext();) {
+ Information info = i.next();
+ String prefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+ + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genClassifier.getClassifierInstanceName());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(genTypeParameter.getName());
+ stringBuffer.append(TEXT_223);
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_224);
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.hasGenericSuperTypes()) {
+ for (GenClass baseGenClass : genClass.getBaseGenClasses()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_225);
+ stringBuffer
+ .append(genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(baseGenClass.getClassifierAccessorName());
+ stringBuffer.append(TEXT_227);
+ }
+ } else {
+ for (EGenericType superType : genClass.getEcoreClass().getEGenericSuperTypes()) {
+ for (InformationIterator i = new InformationIterator(superType); i.hasNext();) {
+ Information info = i.next();
+ String prefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_228);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_229);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_230);
+ } else {
+ stringBuffer.append(TEXT_231);
+ }
+ for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {
+ GenClass genClass = c.next();
+ boolean hasInstanceTypeName = genModel.useGenerics()
+ && genClass.getEcoreClass().getInstanceTypeName() != null
+ && genClass.getEcoreClass().getInstanceTypeName().contains("<");
+ stringBuffer.append(TEXT_232);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ if (genClass.isDynamic()) {
+ stringBuffer.append(TEXT_233);
+ } else {
+ stringBuffer.append(genClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_234);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genClass.getAbstractFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genClass.getInterfaceFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genClass.getGeneratedInstanceClassFlag());
+ if (hasInstanceTypeName) {
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genClass.getEcoreClass().getInstanceTypeName());
+ stringBuffer.append(TEXT_236);
+ }
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ if (hasInstanceTypeName) {
+ stringBuffer.append(genModel.getNonNLS(2));
+ }
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ if (genFeature.hasGenericType()) {
+ for (InformationIterator i = new InformationIterator(
+ genFeature.getEcoreFeature().getEGenericType()); i.hasNext();) {
+ Information info = i.next();
+ String prefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ }
+ if (genFeature.isReferenceType()) {
+ GenFeature reverseGenFeature = genFeature.getReverse();
+ String reverse = reverseGenFeature == null ? "null"
+ : genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage())
+ + ".get" + reverseGenFeature.getFeatureAccessorName() + "()";
+ stringBuffer.append(TEXT_237);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_238);
+ if (genFeature.hasGenericType()) {
+ stringBuffer.append(TEXT_239);
+ } else {
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genFeature.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(reverse);
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genFeature.getDefaultValue());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getContainerClass());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getTransientFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getVolatileFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getChangeableFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getContainmentFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getResolveProxiesFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUnsettableFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getDerivedFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));
+ for (GenFeature keyFeature : genFeature.getKeys()) {
+ stringBuffer.append(TEXT_240);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_241);
+ stringBuffer
+ .append(genPackage.getPackageInstanceVariable(keyFeature.getGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(keyFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_227);
+ }
+ } else {
+ stringBuffer.append(TEXT_242);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_238);
+ if (genFeature.hasGenericType()) {
+ stringBuffer.append(TEXT_239);
+ } else {
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genFeature.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genFeature.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genFeature.getDefaultValue());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getContainerClass());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getTransientFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getVolatileFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getChangeableFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUnsettableFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getIDFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getDerivedFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genFeature.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));
+ }
+ }
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ String prefix = "";
+ if (genOperation.hasGenericType() || !genOperation.getGenParameters().isEmpty()
+ || !genOperation.getGenExceptions().isEmpty()
+ || !genOperation.getGenTypeParameters().isEmpty()) {
+ if (firstOperationAssignment) {
+ firstOperationAssignment = false;
+ prefix = genModel.getImportedName("org.eclipse.emf.ecore.EOperation") + " op = ";
+ } else {
+ prefix = "op = ";
+ }
+ }
+ stringBuffer.append(TEXT_4);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_47);
+ } else {
+ stringBuffer.append(TEXT_244);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ }
+ stringBuffer.append(TEXT_198);
+ if (genOperation.isVoid() || genOperation.hasGenericType()) {
+ stringBuffer.append(TEXT_233);
+ } else {
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genOperation.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ } else if (!genOperation.isVoid()) {
+ if (!genOperation.getEcoreOperation().isOrdered()
+ || !genOperation.getEcoreOperation().isUnique()) {
+ needsAddEOperation = true;
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_47);
+ } else {
+ stringBuffer.append(TEXT_244);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ }
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_245);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genOperation.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_47);
+ } else {
+ stringBuffer.append(TEXT_244);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ }
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_245);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genOperation.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genOperation.getUpperBound());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ } else {
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(prefix);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_243);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_47);
+ } else {
+ stringBuffer.append(TEXT_244);
+ stringBuffer.append(genClass.getClassifierInstanceName());
+ }
+ stringBuffer.append(TEXT_246);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ if (genModel.useGenerics()) {
+ for (ListIterator<GenTypeParameter> t = genOperation.getGenTypeParameters()
+ .listIterator(); t.hasNext();) {
+ GenTypeParameter genTypeParameter = t.next();
+ String typeParameterVariable = "";
+ if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()
+ || genTypeParameter.isUsed()) {
+ if (maxTypeParameterAssignment <= t.previousIndex()) {
+ ++maxTypeParameterAssignment;
+ typeParameterVariable = genModel
+ .getImportedName("org.eclipse.emf.ecore.ETypeParameter") + " t"
+ + t.nextIndex() + " = ";
+ } else {
+ typeParameterVariable = "t" + t.nextIndex() + " = ";
+ }
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(typeParameterVariable);
+ stringBuffer.append(TEXT_247);
+ stringBuffer.append(genTypeParameter.getName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.getNonNLS());
+ for (EGenericType typeParameter : genTypeParameter.getEcoreTypeParameter()
+ .getEBounds()) {
+ for (InformationIterator i = new InformationIterator(typeParameter); i
+ .hasNext();) {
+ Information info = i.next();
+ String typePrefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ typePrefix = genModel
+ .getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(typePrefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ stringBuffer.append(TEXT_248);
+ stringBuffer.append(t.nextIndex());
+ stringBuffer.append(TEXT_223);
+ }
+ }
+ }
+ for (GenParameter genParameter : genOperation.getGenParameters()) {
+ if (genParameter.hasGenericType()) {
+ for (InformationIterator i = new InformationIterator(
+ genParameter.getEcoreParameter().getEGenericType()); i.hasNext();) {
+ Information info = i.next();
+ String typePrefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+ + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(typePrefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ }
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_249);
+ if (genParameter.hasGenericType()) {
+ stringBuffer.append(TEXT_239);
+ } else {
+ stringBuffer.append(genPackage
+ .getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genParameter.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genParameter.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ } else if (!genParameter.getEcoreParameter().isOrdered()
+ || !genParameter.getEcoreParameter().isUnique()) {
+ needsAddEParameter = true;
+ stringBuffer.append(TEXT_249);
+ if (genParameter.hasGenericType()) {
+ stringBuffer.append(TEXT_239);
+ } else {
+ stringBuffer.append(genPackage
+ .getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genParameter.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genParameter.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getUpperBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getUniqueFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getOrderedFlag());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_249);
+ if (genParameter.hasGenericType()) {
+ stringBuffer.append(TEXT_239);
+ } else {
+ stringBuffer.append(genPackage
+ .getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genParameter.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genParameter.getLowerBound());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genParameter.getUpperBound());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ }
+ if (genOperation.hasGenericExceptions()) {
+ for (EGenericType genericExceptions : genOperation.getEcoreOperation()
+ .getEGenericExceptions()) {
+ for (InformationIterator i = new InformationIterator(genericExceptions); i
+ .hasNext();) {
+ Information info = i.next();
+ String typePrefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+ + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(typePrefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ stringBuffer.append(TEXT_250);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ } else {
+ for (GenClassifier genException : genOperation.getGenExceptions()) {
+ stringBuffer.append(TEXT_251);
+ stringBuffer.append(
+ genPackage.getPackageInstanceVariable(genException.getGenPackage()));
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(genException.getClassifierAccessorName());
+ stringBuffer.append(TEXT_227);
+ }
+ }
+ if (!genOperation.isVoid() && genOperation.hasGenericType()) {
+ for (InformationIterator i = new InformationIterator(
+ genOperation.getEcoreOperation().getEGenericType()); i.hasNext();) {
+ Information info = i.next();
+ String typePrefix = "";
+ if (maxGenericTypeAssignment <= info.depth) {
+ ++maxGenericTypeAssignment;
+ typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+ + " ";
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(typePrefix);
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_219);
+ stringBuffer.append(info.type);
+ stringBuffer.append(TEXT_175);
+ if (info.depth > 0) {
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(info.depth);
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(info.accessor);
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(info.depth + 1);
+ stringBuffer.append(TEXT_175);
+ }
+ }
+ stringBuffer.append(TEXT_252);
+ }
+ }
+ if (c.hasNext()) {
+ stringBuffer.append(TEXT_4);
+ }
+ }
+ }
+ if (!genPackage.getGenEnums().isEmpty()) {
+ stringBuffer.append(TEXT_253);
+ for (Iterator<GenEnum> e = genPackage.getGenEnums().iterator(); e.hasNext();) {
+ GenEnum genEnum = e.next();
+ stringBuffer.append(TEXT_254);
+ stringBuffer.append(genEnum.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genEnum.getImportedName());
+ stringBuffer.append(TEXT_255);
+ stringBuffer.append(genEnum.getName());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(genModel.getNonNLS());
+ for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+ stringBuffer.append(TEXT_256);
+ stringBuffer.append(genEnum.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genEnum.getImportedName().equals(genEnum.getClassifierID())
+ ? genEnum.getQualifiedName()
+ : genEnum.getImportedName());
+ stringBuffer.append(TEXT_221);
+ stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+ stringBuffer.append(TEXT_175);
+ }
+ if (e.hasNext()) {
+ stringBuffer.append(TEXT_4);
+ }
+ }
+ }
+ if (!genPackage.getGenDataTypes().isEmpty()) {
+ stringBuffer.append(TEXT_257);
+ for (GenDataType genDataType : genPackage.getGenDataTypes()) {
+ boolean hasInstanceTypeName = genModel.useGenerics()
+ && genDataType.getEcoreDataType().getInstanceTypeName() != null
+ && genDataType.getEcoreDataType().getInstanceTypeName().contains("<");
+ stringBuffer.append(TEXT_258);
+ stringBuffer.append(genDataType.getClassifierInstanceName());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genDataType.getRawImportedInstanceClassName());
+ stringBuffer.append(TEXT_255);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_235);
+ stringBuffer.append(genDataType.getSerializableFlag());
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genDataType.getGeneratedInstanceClassFlag());
+ if (hasInstanceTypeName) {
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genDataType.getEcoreDataType().getInstanceTypeName());
+ stringBuffer.append(TEXT_236);
+ }
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genModel.getNonNLS());
+ if (hasInstanceTypeName) {
+ stringBuffer.append(genModel.getNonNLS(2));
+ }
+ }
+ }
+ if (genPackage.getSuperGenPackage() == null) {
+ stringBuffer.append(TEXT_259);
+ stringBuffer.append(genPackage.getSchemaLocation());
+ stringBuffer.append(TEXT_175);
+ }
+ if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {
+ stringBuffer.append(TEXT_260);
+ for (String annotationSource : genPackage.getAnnotationSources()) {
+ stringBuffer.append(TEXT_261);
+ stringBuffer.append(annotationSource);
+ stringBuffer.append(TEXT_197);
+ stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));
+ stringBuffer.append(TEXT_262);
+ }
+ }
+ stringBuffer.append(TEXT_263);
+ for (String annotationSource : genPackage.getAnnotationSources()) {
+ stringBuffer.append(TEXT_264);
+ stringBuffer.append(annotationSource);
+ stringBuffer.append(TEXT_265);
+ stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));
+ stringBuffer.append(TEXT_266);
+ if (annotationSource == null) {
+ stringBuffer.append(TEXT_267);
+ } else {
+ stringBuffer.append(TEXT_236);
+ stringBuffer.append(annotationSource);
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) {
+ List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage
+ .getReferenceData(eAnnotation);
+ if (annotationSource == null ? eAnnotation.getSource() == null
+ : annotationSource.equals(eAnnotation.getSource())) {
+ stringBuffer.append(TEXT_268);
+ stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));
+ stringBuffer.append(TEXT_269);
+ for (Iterator<Map.Entry<String, String>> k = eAnnotation.getDetails().iterator(); k
+ .hasNext();) {
+ Map.Entry<String, String> detail = k.next();
+ String key = Literals.toStringLiteral(detail.getKey(), genModel);
+ String value = Literals.toStringLiteral(detail.getValue(), genModel);
+ stringBuffer.append(TEXT_270);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(value);
+ stringBuffer.append(k.hasNext() ? "," : "");
+ stringBuffer.append(genModel.getNonNLS(key + value));
+ }
+ stringBuffer.append(TEXT_271);
+ if (annotationReferenceDataList.isEmpty()) {
+ stringBuffer.append(TEXT_175);
+ } else {
+ stringBuffer.append(TEXT_272);
+ }
+ if (!annotationReferenceDataList.isEmpty()) {
+ stringBuffer.append(TEXT_273);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_274);
+ for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList
+ .iterator(); k.hasNext();) {
+ GenPackage.AnnotationReferenceData annotationReferenceData = k.next();
+ stringBuffer.append(TEXT_275);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_276);
+ if (annotationReferenceData.containingGenPackage != genPackage) {
+ stringBuffer.append(annotationReferenceData.containingGenPackage
+ .getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_221);
+ }
+ stringBuffer.append(TEXT_277);
+ stringBuffer.append(annotationReferenceData.uriFragment);
+ stringBuffer.append(TEXT_278);
+ if (k.hasNext()) {
+ stringBuffer.append(TEXT_272);
+ }
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_279);
+ }
+ for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {
+ String nestedAnnotationSource = nestedEAnnotation.getSource();
+ int depth = 0;
+ boolean nonContentAnnotation = false;
+ StringBuilder path = new StringBuilder();
+ for (EObject eContainer = nestedEAnnotation
+ .eContainer(), child = nestedEAnnotation; child != eAnnotation; child = eContainer, eContainer = eContainer
+ .eContainer()) {
+ boolean nonContentChild = child
+ .eContainmentFeature() != EcorePackage.Literals.EANNOTATION__CONTENTS;
+ if (path.length() != 0) {
+ path.insert(0, ", ");
+ }
+ path.insert(0, nonContentChild);
+ if (nonContentChild) {
+ nonContentAnnotation = true;
+ }
+ ++depth;
+ }
+ List<GenPackage.AnnotationReferenceData> nestedAnnotationReferenceDataList = genPackage
+ .getReferenceData(nestedEAnnotation);
+ stringBuffer.append(TEXT_268);
+ stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));
+ stringBuffer.append(TEXT_280);
+ if (nonContentAnnotation
+ && genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {
+ stringBuffer.append(TEXT_281);
+ stringBuffer.append(path.toString());
+ stringBuffer.append(TEXT_282);
+ } else {
+ stringBuffer.append(depth);
+ }
+ stringBuffer.append(TEXT_280);
+ if (nestedAnnotationSource == null) {
+ stringBuffer.append(TEXT_283);
+ } else {
+ stringBuffer.append(TEXT_236);
+ stringBuffer.append(nestedAnnotationSource);
+ stringBuffer.append(TEXT_284);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_285);
+ for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails()
+ .iterator(); l.hasNext();) {
+ Map.Entry<String, String> detail = l.next();
+ String key = Literals.toStringLiteral(detail.getKey(), genModel);
+ String value = Literals.toStringLiteral(detail.getValue(), genModel);
+ stringBuffer.append(TEXT_270);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(value);
+ stringBuffer.append(l.hasNext() ? "," : "");
+ stringBuffer.append(genModel.getNonNLS(key + value));
+ }
+ stringBuffer.append(TEXT_271);
+ if (nestedAnnotationReferenceDataList.isEmpty()) {
+ stringBuffer.append(TEXT_175);
+ } else {
+ stringBuffer.append(TEXT_272);
+ }
+ if (!nestedAnnotationReferenceDataList.isEmpty()) {
+ stringBuffer.append(TEXT_273);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_274);
+ for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList
+ .iterator(); l.hasNext();) {
+ GenPackage.AnnotationReferenceData annotationReferenceData = l.next();
+ stringBuffer.append(TEXT_275);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_276);
+ if (annotationReferenceData.containingGenPackage != genPackage) {
+ stringBuffer.append(annotationReferenceData.containingGenPackage
+ .getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_221);
+ }
+ stringBuffer.append(TEXT_277);
+ stringBuffer.append(annotationReferenceData.uriFragment);
+ stringBuffer.append(TEXT_278);
+ if (l.hasNext()) {
+ stringBuffer.append(TEXT_272);
+ }
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_279);
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_263);
+ }
+ } else {
+ if (genPackage.isLoadingInitialization()) {
+ stringBuffer.append(TEXT_286);
+ stringBuffer.append(genModel.getImportedName("java.net.URL"));
+ stringBuffer.append(TEXT_287);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_288);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_289);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+ stringBuffer.append(TEXT_290);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));
+ stringBuffer.append(TEXT_291);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"));
+ stringBuffer.append(TEXT_292);
+ stringBuffer.append(genModel.getImportedName("java.io.IOException"));
+ stringBuffer.append(TEXT_293);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));
+ stringBuffer.append(TEXT_294);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_295);
+ }
+ stringBuffer.append(TEXT_296);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_156);
+ }
+ stringBuffer.append(TEXT_297);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+ stringBuffer.append(TEXT_298);
+ ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>();
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (genClass.isDynamic()) {
+ dynamicGenClasses.add(genClass);
+ }
+ }
+ if (dynamicGenClasses.isEmpty()) {
+ stringBuffer.append(TEXT_299);
+ stringBuffer.append(genPackage.getInterfacePackageName());
+ stringBuffer.append(TEXT_300);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_301);
+ } else {
+ stringBuffer.append(TEXT_302);
+ for (GenClass genClass : dynamicGenClasses) {
+ if (genClass.isDynamic()) {
+ stringBuffer.append(TEXT_303);
+ stringBuffer.append(genPackage.getClassifierID(genClass));
+ stringBuffer.append(TEXT_304);
+ }
+ }
+ stringBuffer.append(TEXT_305);
+ stringBuffer.append(genPackage.getInterfacePackageName());
+ stringBuffer.append(TEXT_300);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_306);
+ }
+ stringBuffer.append(TEXT_307);
+ }
+ if (needsAddEOperation) {
+ stringBuffer.append(TEXT_308);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_309);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+ stringBuffer.append(TEXT_310);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+ stringBuffer.append(TEXT_311);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_312);
+ }
+ if (needsAddEParameter) {
+ stringBuffer.append(TEXT_308);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));
+ stringBuffer.append(TEXT_313);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_310);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+ stringBuffer.append(TEXT_311);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));
+ stringBuffer.append(TEXT_314);
+ }
+ }
+ if (isInterface && genPackage.isLiteralsInterface()) {
+ stringBuffer.append(TEXT_315);
+ if (genModel.isOperationReflection()) {
+ stringBuffer.append(TEXT_316);
+ }
+ stringBuffer.append(TEXT_317);
+ if (isImplementation) {
+ stringBuffer.append(TEXT_318);
+ }
+ stringBuffer.append(TEXT_319);
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ stringBuffer.append(TEXT_320);
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ if (!genClass.isInterface()) {
+ stringBuffer.append(TEXT_321);
+ stringBuffer.append(genClass.getQualifiedClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_322);
+ stringBuffer.append(genClass.getQualifiedClassName());
+ } else {
+ stringBuffer.append(TEXT_321);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_322);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ }
+ } else if (genClassifier instanceof GenEnum) {
+ GenEnum genEnum = (GenEnum) genClassifier;
+ stringBuffer.append(TEXT_321);
+ stringBuffer.append(genEnum.getQualifiedName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genEnum.getFormattedName());
+ stringBuffer.append(TEXT_323);
+ stringBuffer.append(genEnum.getQualifiedName());
+ } else if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ stringBuffer.append(TEXT_324);
+ stringBuffer.append(genDataType.getFormattedName());
+ stringBuffer.append(TEXT_325);
+ if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+ stringBuffer.append(TEXT_326);
+ stringBuffer.append(genDataType.getRawInstanceClassName());
+ }
+ }
+ stringBuffer.append(TEXT_326);
+ stringBuffer.append(genPackage.getQualifiedPackageClassName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_47);
+ if (genClassifier.hasAPITags()) {
+ stringBuffer.append(TEXT_327);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_328);
+ if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_329);
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genClassifier.getImportedMetaType());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genPackage.getClassifierID(genClassifier));
+ stringBuffer.append(TEXT_330);
+ stringBuffer.append(genClassifier.getClassifierAccessorName());
+ stringBuffer.append(TEXT_166);
+ if (genClassifier instanceof GenClass) {
+ GenClass genClass = (GenClass) genClassifier;
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ stringBuffer.append(TEXT_331);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_332);
+ if (genFeature.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_327);
+ stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_328);
+ if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_329);
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genFeature.getImportedMetaType());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClass.getFeatureID(genFeature));
+ stringBuffer.append(TEXT_330);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_166);
+ }
+ if (genModel.isOperationReflection()) {
+ for (GenOperation genOperation : genClass.getGenOperations()) {
+ stringBuffer.append(TEXT_331);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_333);
+ if (genOperation.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_327);
+ stringBuffer
+ .append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_328);
+ if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_329);
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(publicStaticFinalFlag);
+ stringBuffer.append(genOperation.getImportedMetaType());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genClass.getOperationID(genOperation, false));
+ stringBuffer.append(TEXT_330);
+ stringBuffer.append(genOperation.getOperationAccessorName());
+ stringBuffer.append(TEXT_166);
+ }
+ }
+ }
+ }
+ stringBuffer.append(TEXT_263);
+ }
+ stringBuffer.append(TEXT_334);
+ stringBuffer.append(isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genPackage.hasClassifiers() && !genModel.isSuppressEMFMetaData()
+ && !genModel.isSuppressInterfaces());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java
new file mode 100644
index 000000000..6c078b434
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java
@@ -0,0 +1,320 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Plugin extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+ protected static String nl;
+
+ public static synchronized Plugin create(String lineSeparator) {
+ nl = lineSeparator;
+ Plugin result = new Plugin();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the central singleton for the ";
+ protected final String TEXT_5 = " model plugin." + NL + " * <!-- begin-user-doc -->" + NL
+ + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * ";
+ protected final String TEXT_7 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_8 = NL + "@Deprecated";
+ protected final String TEXT_9 = NL + "public final class ";
+ protected final String TEXT_10 = " extends EMFPlugin" + NL + "{";
+ protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_12 = " copyright = ";
+ protected final String TEXT_13 = ";";
+ protected final String TEXT_14 = NL;
+ protected final String TEXT_15 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static final ";
+ protected final String TEXT_16 = " INSTANCE = new ";
+ protected final String TEXT_17 = "();" + NL;
+ protected final String TEXT_18 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprivate static Implementation plugin;" + NL;
+ protected final String TEXT_19 = NL + "\t/**" + NL + "\t * Create the instance." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic ";
+ protected final String TEXT_20 = "()" + NL + "\t{" + NL + "\t\tsuper(new ResourceLocator [] {});" + NL + "\t}" + NL
+ + "" + NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_21 = NL + "\t@Override";
+ protected final String TEXT_22 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";
+ protected final String TEXT_23 = NL + "\t\treturn null;";
+ protected final String TEXT_24 = NL + "\t\treturn plugin;";
+ protected final String TEXT_25 = NL + "\t}" + NL;
+ protected final String TEXT_26 = NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static Implementation getPlugin()" + NL + "\t{" + NL + "\t\treturn plugin;" + NL + "\t}" + NL
+ + "" + NL + "\t/**" + NL + "\t * The actual implementation of the Eclipse <b>Plugin</b>." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static class Implementation extends EclipsePlugin" + NL + "\t{" + NL + "\t\t/**" + NL
+ + "\t\t * Creates an instance." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->";
+ protected final String TEXT_27 = NL + "\t\t * @param descriptor the description of the plugin.";
+ protected final String TEXT_28 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";
+ protected final String TEXT_29 = " descriptor";
+ protected final String TEXT_30 = ")" + NL + "\t\t{" + NL + "\t\t\tsuper(";
+ protected final String TEXT_31 = "descriptor";
+ protected final String TEXT_32 = ");" + NL + "" + NL + "\t\t\t// Remember the static instance." + NL + "\t\t\t//"
+ + NL + "\t\t\tplugin = this;" + NL + "\t\t}";
+ protected final String TEXT_33 = NL + "\t" + NL + "\t\t/**" + NL
+ + "\t\t * The actual implementation of the purely OSGi-compatible <b>Bundle Activator</b>." + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tpublic static final class Activator extends ";
+ protected final String TEXT_34 = ".OSGiDelegatingBundleActivator" + NL + "\t\t{";
+ protected final String TEXT_35 = NL + "\t\t\t@Override";
+ protected final String TEXT_36 = NL + "\t\t\tprotected ";
+ protected final String TEXT_37 = " createBundle()" + NL + "\t\t\t{" + NL + "\t\t\t\treturn new Implementation();"
+ + NL + "\t\t\t}" + NL + "\t\t}";
+ protected final String TEXT_38 = NL + "}";
+ protected final String TEXT_39 = NL;
+
+ public Plugin() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(TEXT_39);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPath = genModel.getModelDirectory();
+ packageName = genModel.getModelPluginPackageName();
+ className = genModel.getModelPluginClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getModelPluginPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.addImport("org.eclipse.emf.common.EMFPlugin");
+ genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_5);
+ if (genModel.hasAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (isJDK50 && genModel.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getModelPluginClassName());
+ stringBuffer.append(TEXT_10);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getModelPluginClassName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genModel.getModelPluginClassName());
+ stringBuffer.append(TEXT_17);
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getModelPluginClassName());
+ stringBuffer.append(TEXT_20);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_22);
+ if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_23);
+ } else {
+ stringBuffer.append(TEXT_24);
+ }
+ stringBuffer.append(TEXT_25);
+ if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+ stringBuffer.append(TEXT_26);
+ if (genModel.needsRuntimeCompatibility()) {
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_28);
+ if (genModel.needsRuntimeCompatibility()) {
+ stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));
+ stringBuffer.append(TEXT_29);
+ }
+ stringBuffer.append(TEXT_30);
+ if (genModel.needsRuntimeCompatibility()) {
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_32);
+ if (genModel.isOSGiCompatible()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.EMFPlugin"));
+ stringBuffer.append(TEXT_34);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_35);
+ }
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genModel.getImportedName("org.osgi.framework.BundleActivator"));
+ stringBuffer.append(TEXT_37);
+ }
+ stringBuffer.append(TEXT_25);
+ }
+ stringBuffer.append(TEXT_38);
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_14);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genModel.hasModelPluginClass());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java
new file mode 100644
index 000000000..c60eca977
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java
@@ -0,0 +1,201 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {
+ protected static String nl;
+
+ public static synchronized PluginProperties create(String lineSeparator) {
+ nl = lineSeparator;
+ PluginProperties result = new PluginProperties();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + NL + "pluginName = ";
+ protected final String TEXT_3 = NL + "providerName = ";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "_UI_";
+ protected final String TEXT_6 = "_content_type = ";
+ protected final String TEXT_7 = " File";
+ protected final String TEXT_8 = NL;
+
+ public PluginProperties() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(TEXT_8);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getModelProjectDirectory() + "/" + genModel.getModelBundleLocalization()
+ + ".properties";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getModelBundleName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getModelBundleVendorName());
+ boolean first = true;
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ if (genPackage.isContentType()) {
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_4);
+ }
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_7);
+ }
+ }
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genModel.hasPluginSupport());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java
new file mode 100644
index 000000000..1781b275d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java
@@ -0,0 +1,338 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized PluginXML create(String lineSeparator) {
+ nl = lineSeparator;
+ PluginXML result = new PluginXML();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"
+ + NL;
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "<plugin>";
+ protected final String TEXT_4 = NL + "<plugin" + NL + " name=\"%pluginName\"" + NL + " id=\"";
+ protected final String TEXT_5 = "\"" + NL + " version=\"1.0.0\"";
+ protected final String TEXT_6 = NL + " provider-name=\"%providerName\"" + NL + " class=\"";
+ protected final String TEXT_7 = "$Implementation\">";
+ protected final String TEXT_8 = NL + " provider-name=\"%providerName\">";
+ protected final String TEXT_9 = NL + NL + " <requires>";
+ protected final String TEXT_10 = NL + " <import plugin=\"";
+ protected final String TEXT_11 = "\"";
+ protected final String TEXT_12 = " export=\"true\"";
+ protected final String TEXT_13 = "/>";
+ protected final String TEXT_14 = NL + " </requires>" + NL + "" + NL + " <runtime>";
+ protected final String TEXT_15 = NL + " <library name=\"";
+ protected final String TEXT_16 = ".jar\">";
+ protected final String TEXT_17 = NL + " <library name=\".\">";
+ protected final String TEXT_18 = NL + " <export name=\"*\"/>" + NL + " </library>" + NL
+ + " </runtime>";
+ protected final String TEXT_19 = NL + NL + " <extension point=\"org.eclipse.emf.ecore.generated_package\">";
+ protected final String TEXT_20 = NL + " <!-- @generated ";
+ protected final String TEXT_21 = " -->";
+ protected final String TEXT_22 = NL + " <package" + NL + " uri=\"";
+ protected final String TEXT_23 = NL + " class=\"";
+ protected final String TEXT_24 = "\"" + NL + " genModel=\"";
+ protected final String TEXT_25 = "\"/>";
+ protected final String TEXT_26 = NL + " </extension>";
+ protected final String TEXT_27 = NL + NL + " <extension point=\"org.eclipse.emf.ecore.content_parser\">";
+ protected final String TEXT_28 = NL + " <parser" + NL + " contentTypeIdentifier=\"";
+ protected final String TEXT_29 = "\"" + NL + " class=\"";
+ protected final String TEXT_30 = "\"/>" + NL + " </extension>" + NL + "" + NL
+ + " <extension point=\"org.eclipse.core.contenttype.contentTypes\">";
+ protected final String TEXT_31 = NL + " <content-type" + NL + " base-type=\"";
+ protected final String TEXT_32 = "\"" + NL + " file-extensions=\"";
+ protected final String TEXT_33 = "\"" + NL + " id=\"";
+ protected final String TEXT_34 = "\"" + NL + " name=\"%_UI_";
+ protected final String TEXT_35 = "_content_type\"" + NL + " priority=\"normal\">" + NL
+ + " <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";
+ protected final String TEXT_36 = NL + " <parameter name=\"namespace\" value=\"";
+ protected final String TEXT_37 = NL + " <parameter name=\"kind\" value=\"xmi\"/>";
+ protected final String TEXT_38 = NL + " </describer>" + NL + " </content-type>" + NL
+ + " </extension>";
+ protected final String TEXT_39 = NL + NL + " <extension point=\"org.eclipse.emf.ecore.extension_parser\">";
+ protected final String TEXT_40 = NL + " <parser" + NL + " type=\"";
+ protected final String TEXT_41 = NL + NL + "</plugin>" + NL;
+ protected final String TEXT_42 = NL;
+
+ public PluginXML() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(TEXT_42);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getModelProjectDirectory() + "/plugin.xml";
+ overwrite = true;
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ String key = genModel.getPluginKey();
+ boolean hasKey = key != null && !key.equals("");
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ if (genModel.isBundleManifest()) {
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getModelPluginID());
+ stringBuffer.append(TEXT_5);
+ if (genModel.hasModelPluginClass()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getQualifiedModelPluginClassName());
+ stringBuffer.append(TEXT_7);
+ } else {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ for (String pluginID : genModel.getModelRequiredPlugins()) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(pluginID);
+ stringBuffer.append(TEXT_11);
+ if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+ stringBuffer.append(TEXT_12);
+ }
+ stringBuffer.append(TEXT_13);
+ }
+ stringBuffer.append(TEXT_14);
+ if (genModel.isRuntimeJar()) {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getModelPluginID());
+ stringBuffer.append(TEXT_16);
+ } else {
+ stringBuffer.append(TEXT_17);
+ }
+ stringBuffer.append(TEXT_18);
+ }
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ stringBuffer.append(TEXT_19);
+ if (hasKey) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genPackage.getNSURI());
+ stringBuffer.append(TEXT_11);
+ if (genModel.hasLocalGenModel()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getRelativeGenModelLocation());
+ stringBuffer.append(TEXT_25);
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_25);
+ }
+ stringBuffer.append(TEXT_26);
+ if (genPackage.isContentType()) {
+ stringBuffer.append(TEXT_27);
+ if (hasKey) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genPackage.getContentTypeIdentifier());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());
+ stringBuffer.append(TEXT_30);
+ if (hasKey) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(
+ genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml");
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genPackage.getFileExtensions());
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genPackage.getContentTypeIdentifier());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genPackage.getPrefix());
+ stringBuffer.append(TEXT_35);
+ if (genPackage.hasTargetNamespace()) {
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genPackage.getNSURI());
+ stringBuffer.append(TEXT_25);
+ }
+ if (genPackage.isXMIResource()) {
+ stringBuffer.append(TEXT_37);
+ }
+ stringBuffer.append(TEXT_38);
+ } else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {
+ stringBuffer.append(TEXT_39);
+ if (hasKey) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(key);
+ stringBuffer.append(TEXT_21);
+ }
+ for (String fileExtension : genPackage.getFileExtensionList()) {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(fileExtension);
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());
+ stringBuffer.append(TEXT_25);
+ }
+ stringBuffer.append(TEXT_26);
+ }
+ }
+ stringBuffer.append(TEXT_41);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT)
+ && (genModel.hasPluginSupport() && !genModel.sameModelEditProject()
+ && !genModel.sameModelEditorProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java
new file mode 100644
index 000000000..b1140c4da
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java
@@ -0,0 +1,852 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ResourceClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized ResourceClass create(String lineSeparator) {
+ nl = lineSeparator;
+ ResourceClass result = new ResourceClass();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * The <b>Resource </b> associated with the package." + NL + " * <!-- end-user-doc -->" + NL
+ + " * @see ";
+ protected final String TEXT_5 = NL + " * ";
+ protected final String TEXT_6 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_7 = NL + "@Deprecated";
+ protected final String TEXT_8 = NL + "public class ";
+ protected final String TEXT_9 = " extends ";
+ protected final String TEXT_10 = NL + "{";
+ protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_12 = " copyright = ";
+ protected final String TEXT_13 = ";";
+ protected final String TEXT_14 = NL;
+ protected final String TEXT_15 = NL + "\t/**" + NL + "\t * Creates an instance of the resource." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @param uri the URI of the new resource." + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_16 = "(URI uri)" + NL + "\t{" + NL + "\t\tsuper(uri);";
+ protected final String TEXT_17 = NL + "\t}" + NL;
+ protected final String TEXT_18 = NL + "\t/**" + NL
+ + "\t * A load option that turns of the use of the generate data converters." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static final String OPTION_USE_DATA_CONVERTER = \"USE_DATA_CONVERTER\";" + NL + "" + NL
+ + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated"
+ + NL + "\t */";
+ protected final String TEXT_19 = NL + "\t@Override";
+ protected final String TEXT_20 = NL + "\tpublic void doLoad(InputStream inputStream, ";
+ protected final String TEXT_21 = " options) throws IOException" + NL + "\t{" + NL
+ + "\t\tif (options != null && Boolean.TRUE.equals(options.get(OPTION_USE_DATA_CONVERTER)))" + NL + "\t\t{"
+ + NL + "\t\t getContents().add" + NL + "\t\t\t (load" + NL + "\t\t\t\t (new InputSource(inputStream), "
+ + NL + "\t\t\t\t (";
+ protected final String TEXT_22 = ")options.get(XMLResource.OPTION_PARSER_FEATURES), " + NL + "\t\t\t\t (";
+ protected final String TEXT_23 = ")options.get(XMLResource.OPTION_PARSER_PROPERTIES), " + NL
+ + "\t\t\t\t Boolean.TRUE.equals(options.get(XMLResource.OPTION_USE_LEXICAL_HANDLER))).eContainer());" + NL
+ + "\t\t}" + NL + "\t\telse" + NL + "\t\t{ " + NL + "\t\t\tsuper.doLoad(inputStream, options);" + NL
+ + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_24 = NL + "\tpublic void doLoad(InputSource inputSource, ";
+ protected final String TEXT_25 = " options) throws IOException" + NL + "\t{" + NL
+ + "\t\tif (options != null && Boolean.TRUE.equals(options.get(OPTION_USE_DATA_CONVERTER)))" + NL + "\t\t{"
+ + NL + "\t\t getContents().add" + NL + "\t\t\t (load" + NL + "\t\t\t\t (inputSource," + NL + "\t\t\t\t (";
+ protected final String TEXT_26 = ")options.get(XMLResource.OPTION_PARSER_PROPERTIES), " + NL
+ + "\t\t\t\t Boolean.TRUE.equals(options.get(XMLResource.OPTION_USE_LEXICAL_HANDLER))).eContainer());" + NL
+ + "\t\t}" + NL + "\t\telse" + NL + "\t\t{ " + NL + "\t\t\tsuper.doLoad(inputSource, options);" + NL
+ + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected static final XMLParserPool parserPool = new XMLParserPoolImpl();" + NL + "" + NL + "\t/**"
+ + NL + "\t * Loads an instance from the input." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @param inputSource the input from which to load." + NL
+ + "\t * @param features a map of the parser features and their values." + NL
+ + "\t * @param properties a map of a parser properties and their values." + NL
+ + "\t * @param useLexicalHandler whether a lexical handler should be used during loading." + NL
+ + "\t * @return the root object; for the case of a document root, the child of that document root is return."
+ + NL + "\t * @throws ParserConfigurationException" + NL + "\t * @throws SAXException" + NL
+ + "\t * @generated" + NL + "\t */" + NL + "\tpublic static EObject load(InputSource inputSource, ";
+ protected final String TEXT_27 = " features, ";
+ protected final String TEXT_28 = " properties, boolean useLexicalHandler) throws IOException" + NL + "\t{" + NL
+ + "\t\t";
+ protected final String TEXT_29 = " requiredFeatures = new ";
+ protected final String TEXT_30 = "();" + NL
+ + "\t\trequiredFeatures.put(\"http://xml.org/sax/features/namespaces\", Boolean.TRUE); " + NL
+ + "\t\tif (features != null)" + NL + "\t\t{" + NL + "\t\t\trequiredFeatures.putAll(features);" + NL
+ + "\t\t}" + NL + "\t\t" + NL + "\t\tif (properties == null)" + NL + "\t\t{" + NL
+ + "\t\t\tproperties = Collections.";
+ protected final String TEXT_31 = "emptyMap()";
+ protected final String TEXT_32 = "EMPTY_MAP";
+ protected final String TEXT_33 = ";" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\tSAXParser saxParser = null;" + NL
+ + "\t\ttry" + NL + "\t\t{" + NL
+ + "\t\t\tsaxParser = parserPool.get(requiredFeatures, properties, useLexicalHandler);" + NL
+ + "\t\t\tfinal FrameFactory.DocumentRootStackFrame documentRoot = FrameFactory.INSTANCE.pushDocumentRoot(null, null);"
+ + NL + "\t\t\tXMLTypeResourceImpl.Handler handler = new XMLTypeResourceImpl.Handler(documentRoot);" + NL
+ + "\t\t\tsaxParser.parse(inputSource, handler);";
+ protected final String TEXT_34 = NL
+ + "\t\t\treturn (EObject)((EObject)FrameFactory.INSTANCE.popDocumentRoot(documentRoot)).eContents().get(0);";
+ protected final String TEXT_35 = NL
+ + "\t\t\treturn FrameFactory.INSTANCE.popDocumentRoot(documentRoot).eContents().get(0);";
+ protected final String TEXT_36 = NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL
+ + "\t\t\tthrow new IOWrappedException(exception);" + NL + "\t\t}" + NL + "\t\tfinally" + NL + "\t\t{" + NL
+ + "\t\t\tparserPool.release(saxParser, requiredFeatures, properties, useLexicalHandler);" + NL + "\t\t}"
+ + NL + "\t}" + NL;
+ protected final String TEXT_37 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic final static class FrameFactory" + NL + "\t{" + NL + "\t\t/**" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tpublic static final FrameFactory INSTANCE = new FrameFactory();" + NL + "\t";
+ protected final String TEXT_38 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+ protected final String TEXT_39 = "StackFrame ";
+ protected final String TEXT_40 = " ";
+ protected final String TEXT_41 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";
+ protected final String TEXT_42 = "StackFrame push";
+ protected final String TEXT_43 = "(";
+ protected final String TEXT_44 = " previous, Attributes attributes)" + NL + "\t\t{" + NL + "\t\t\t ";
+ protected final String TEXT_45 = "StackFrame result";
+ protected final String TEXT_46 = " = ";
+ protected final String TEXT_47 = " == null ? new ";
+ protected final String TEXT_48 = "StackFrame() : ";
+ protected final String TEXT_49 = ";" + NL + "\t\t\t ";
+ protected final String TEXT_50 = " = null;" + NL + "\t\t\t result";
+ protected final String TEXT_51 = ".pushOnto(previous);" + NL + "\t\t\t result";
+ protected final String TEXT_52 = ".handleAttributes(attributes);" + NL + "\t\t\t return result";
+ protected final String TEXT_53 = ";" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tpublic ";
+ protected final String TEXT_54 = " pop";
+ protected final String TEXT_55 = ")" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_56 = " result";
+ protected final String TEXT_57 = "Value = ";
+ protected final String TEXT_58 = ".pop";
+ protected final String TEXT_59 = "();" + NL + "\t\t\tthis.";
+ protected final String TEXT_60 = ";" + NL + "\t\t\treturn result";
+ protected final String TEXT_61 = "Value;" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+ + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+ + "\t\t */" + NL + "\t\tpublic static class ";
+ protected final String TEXT_62 = "StackFrame extends ";
+ protected final String TEXT_63 = NL + "\t\t{" + NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+ + "\t\t\tprotected ";
+ protected final String TEXT_64 = " the";
+ protected final String TEXT_65 = ";" + NL + "\t\t";
+ protected final String TEXT_66 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+ + "\t\t\tprotected ";
+ protected final String TEXT_67 = ".FrameFactory.";
+ protected final String TEXT_68 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+ + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */";
+ protected final String TEXT_69 = NL + "\t\t\t@Override";
+ protected final String TEXT_70 = NL + "\t\t\tpublic void handleAttributes(Attributes attributes)" + NL + "\t\t\t{";
+ protected final String TEXT_71 = NL + "\t\t\t\tString theValue = attributes.getValue(";
+ protected final String TEXT_72 = ", \"";
+ protected final String TEXT_73 = "\");";
+ protected final String TEXT_74 = NL + "\t\t\t\ttheValue = attributes.getValue(";
+ protected final String TEXT_75 = NL + "\t\t\t\tif (theValue != null)" + NL + "\t\t\t\t{";
+ protected final String TEXT_76 = NL + "\t\t\t\t\tthe";
+ protected final String TEXT_77 = ".set";
+ protected final String TEXT_78 = ".create";
+ protected final String TEXT_79 = "(theValue));";
+ protected final String TEXT_80 = "((";
+ protected final String TEXT_81 = ")";
+ protected final String TEXT_82 = ".createFromString(";
+ protected final String TEXT_83 = ", theValue));";
+ protected final String TEXT_84 = NL + "\t\t\t\t}";
+ protected final String TEXT_85 = NL + "\t\t\t\t// There are attributes to handle.";
+ protected final String TEXT_86 = NL + "\t\t\t}" + NL + "\t\t" + NL + "\t\t\t/**" + NL
+ + "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"
+ + NL + "\t\t\t */";
+ protected final String TEXT_87 = NL + "\t\t\tpublic ";
+ protected final String TEXT_88 = " startElement(String namespace, String localName, String qName, Attributes attributes) throws SAXException"
+ + NL + "\t\t\t{";
+ protected final String TEXT_89 = NL + "\t\t\t\t";
+ protected final String TEXT_90 = "else ";
+ protected final String TEXT_91 = "if (\"";
+ protected final String TEXT_92 = "\".equals(localName) && ";
+ protected final String TEXT_93 = ".equals(namespace))" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\treturn ";
+ protected final String TEXT_94 = ".FrameFactory.INSTANCE.push";
+ protected final String TEXT_95 = "(this, attributes);" + NL + "\t\t\t\t}";
+ protected final String TEXT_96 = NL + "\t\t\t\treturn super.startElement(namespace, localName, qName, attributes);";
+ protected final String TEXT_97 = NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\treturn super.startElement(namespace, localName, qName, attributes);" + NL + "\t\t\t\t}";
+ protected final String TEXT_98 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t/**" + NL
+ + "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"
+ + NL + "\t\t\t */";
+ protected final String TEXT_99 = NL + "\t\t\tpublic void endElement(";
+ protected final String TEXT_100 = " child) throws SAXException" + NL + "\t\t\t{";
+ protected final String TEXT_101 = "if (child == ";
+ protected final String TEXT_102 = ")" + NL + "\t\t\t\t{";
+ protected final String TEXT_103 = ".";
+ protected final String TEXT_104 = "().add(";
+ protected final String TEXT_105 = ".FrameFactory.INSTANCE.pop";
+ protected final String TEXT_106 = "));";
+ protected final String TEXT_107 = NL + "\t\t\t\t\t";
+ protected final String TEXT_108 = " = null;" + NL + "\t\t\t\t}";
+ protected final String TEXT_109 = NL + "\t\t\t\tsuper.endElement(child);";
+ protected final String TEXT_110 = NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tsuper.endElement(child);"
+ + NL + "\t\t\t\t}";
+ protected final String TEXT_111 = NL + "\t\t\tpublic void create()" + NL + "\t\t\t{" + NL + "\t\t\t\tthe";
+ protected final String TEXT_112 = "();" + NL + "\t\t\t}" + NL + "\t\t" + NL + "\t\t\t/**" + NL
+ + "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"
+ + NL + "\t\t\t */" + NL + "\t\t\tprotected ";
+ protected final String TEXT_113 = "()" + NL + "\t\t\t{" + NL + "\t\t\t\tpop();" + NL + "\t\t\t\t";
+ protected final String TEXT_114 = "Value = the";
+ protected final String TEXT_115 = ";" + NL + "\t\t\t\tthe";
+ protected final String TEXT_116 = " = null;" + NL + "\t\t\t\treturn result";
+ protected final String TEXT_117 = "Value;" + NL + "\t\t\t}" + NL + "\t\t" + NL + "\t\t}" + NL;
+ protected final String TEXT_118 = " push";
+ protected final String TEXT_119 = "() : ";
+ protected final String TEXT_120 = ")" + NL + "\t\t{";
+ protected final String TEXT_121 = NL + "\t\t\t";
+ protected final String TEXT_122 = ".popValue());";
+ protected final String TEXT_123 = "Value = ((";
+ protected final String TEXT_124 = ", ";
+ protected final String TEXT_125 = ".popValue())).";
+ protected final String TEXT_126 = "();";
+ protected final String TEXT_127 = "Value = (";
+ protected final String TEXT_128 = NL + "\t\t\tthis.";
+ protected final String TEXT_129 = "Value;" + NL + "\t\t}" + NL;
+ protected final String TEXT_130 = NL + "} //";
+ protected final String TEXT_131 = NL;
+
+ public ResourceClass() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_131);
+ stringBuffer.append(TEXT_131);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getModelDirectory();
+ packageName = genPackage.getUtilitiesPackageName();
+ className = genPackage.getResourceClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ ExtendedMetaData extendedMetaData = genModel.getExtendedMetaData();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getUtilitiesPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.getImportedName("org.eclipse.emf.common.util.URI");
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_6);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genPackage.getResourceClassName());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genPackage.getImportedResourceBaseClassName());
+ stringBuffer.append(TEXT_10);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genPackage.getResourceClassName());
+ stringBuffer.append(TEXT_16);
+ if (genPackage.getResource() == GenResourceKind.XML_LITERAL) { // Do nothing
+ }
+ stringBuffer.append(TEXT_17);
+ if (genPackage.isDataTypeConverters() && (genPackage.hasDocumentRoot()
+ || org.eclipse.emf.ecore.xml.type.XMLTypePackage.eNS_URI.equals(genPackage.getNSURI()))) {
+ boolean isXMLTypePackage = org.eclipse.emf.ecore.xml.type.XMLTypePackage.eNS_URI
+ .equals(genPackage.getNSURI());
+ final String _Map = genModel.useGenerics() ? "Map<?, ?>" : "Map";
+ final String _MapStringBoolean = genModel.useGenerics() ? "Map<String, Boolean>" : "Map";
+ final String _MapStringWildcard = genModel.useGenerics() ? "Map<String, ?>" : "Map";
+ if (!isXMLTypePackage) {
+ genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource");
+ genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLParserPool");
+ genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl");
+ genModel.getImportedName("java.io.InputStream");
+ genModel.getImportedName("java.io.IOException");
+ genModel.getImportedName("org.eclipse.emf.ecore.EObject");
+ genModel.getImportedName("java.util.Collections");
+ genModel.getImportedName("java.util.HashMap");
+ genModel.getImportedName("java.util.Map");
+ genModel.getImportedName("org.xml.sax.InputSource");
+ genModel.getImportedName("javax.xml.parsers.SAXParser");
+ }
+ genModel.getImportedName("org.xml.sax.Attributes");
+ genModel.getImportedName("org.xml.sax.SAXException");
+ String _StackFrame = genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeResourceImpl")
+ + ".StackFrame";
+ String _DataFrame = genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeResourceImpl")
+ + ".DataFrame";
+ if (!isXMLTypePackage) {
+ stringBuffer.append(TEXT_18);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(_Map);
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(_MapStringBoolean);
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(_MapStringWildcard);
+ stringBuffer.append(TEXT_23);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(_Map);
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(_MapStringBoolean);
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(_MapStringWildcard);
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(_MapStringBoolean);
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(_MapStringWildcard);
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(_MapStringBoolean);
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(_MapStringBoolean.replaceAll("Map", "HashMap"));
+ stringBuffer.append(TEXT_30);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_31);
+ } else {
+ stringBuffer.append(TEXT_32);
+ }
+ stringBuffer.append(TEXT_33);
+ if (genModel.isSuppressEMFTypes()) {
+ stringBuffer.append(TEXT_34);
+ } else {
+ stringBuffer.append(TEXT_35);
+ }
+ stringBuffer.append(TEXT_36);
+ }
+ stringBuffer.append(TEXT_37);
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_3);
+ }
+ for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(_DataFrame);
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_3);
+ }
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ List<EStructuralFeature> attributes = extendedMetaData.getAllAttributes(genClass.getEcoreClass());
+ List<EStructuralFeature> elements = extendedMetaData.getAllElements(genClass.getEcoreClass());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(_StackFrame);
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(_StackFrame);
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_65);
+ for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+ String name = extendedMetaData.getName(genFeature.getEcoreFeature());
+ if ((elements.contains(genFeature.getEcoreFeature())
+ || attributes.contains(genFeature.getEcoreFeature())) && name.indexOf(":") == -1) {
+ if (genFeature.isReferenceType()) {
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(
+ genFeature.getTypeGenClass().getGenPackage().getImportedResourceClassName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(genFeature.getTypeGenClass().getName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(_DataFrame);
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_65);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_68);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_69);
+ }
+ stringBuffer.append(TEXT_70);
+ int count = 0;
+ for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+ String name = extendedMetaData.getName(genFeature.getEcoreFeature());
+ if (attributes.contains(genFeature.getEcoreFeature()) && !genFeature.isDerived()
+ && name.indexOf(":") == -1) {
+ String namespace = Literals
+ .toStringLiteral(extendedMetaData.getNamespace(genFeature.getEcoreFeature()), genModel);
+ if ("null".equals(namespace))
+ namespace = "\"\"";
+ if (!genFeature.isReferenceType()) {
+ GenClassifier genClassifier = genFeature.getTypeGenClassifier();
+ if (count++ == 0) {
+ stringBuffer.append(TEXT_71);
+ stringBuffer.append(namespace);
+ stringBuffer.append(TEXT_72);
+ stringBuffer.append(name);
+ stringBuffer.append(TEXT_73);
+ } else {
+ stringBuffer.append(TEXT_74);
+ stringBuffer.append(namespace);
+ stringBuffer.append(TEXT_72);
+ stringBuffer.append(name);
+ stringBuffer.append(TEXT_73);
+ }
+ stringBuffer.append(TEXT_75);
+ if (genClassifier.getGenPackage().isDataTypeConverters()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer
+ .append(genClassifier.getGenPackage().getQualifiedFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClassifier.getName());
+ stringBuffer.append(TEXT_79);
+ } else {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genFeature.getImportedType(null));
+ stringBuffer.append(TEXT_81);
+ stringBuffer
+ .append(genClassifier.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_83);
+ }
+ stringBuffer.append(TEXT_84);
+ }
+ }
+ }
+ if (count == 0) {
+ stringBuffer.append(TEXT_85);
+ }
+ stringBuffer.append(TEXT_86);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_69);
+ }
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(_StackFrame);
+ stringBuffer.append(TEXT_88);
+ count = 0;
+ for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+ String name = extendedMetaData.getName(genFeature.getEcoreFeature());
+ if (elements.contains(genFeature.getEcoreFeature()) && name.indexOf(":") == -1) {
+ String namespace = Literals
+ .toStringLiteral(extendedMetaData.getNamespace(genFeature.getEcoreFeature()), genModel);
+ if ("null".equals(namespace))
+ namespace = "\"\"";
+ stringBuffer.append(TEXT_89);
+ if (count++ != 0) {
+ stringBuffer.append(TEXT_90);
+ }
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(name);
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(namespace);
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(
+ genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName());
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genFeature.getTypeGenClassifier().getName());
+ stringBuffer.append(TEXT_95);
+ }
+ }
+ if (count == 0) {
+ stringBuffer.append(TEXT_96);
+ } else {
+ stringBuffer.append(TEXT_97);
+ }
+ stringBuffer.append(TEXT_98);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_69);
+ }
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(_StackFrame);
+ stringBuffer.append(TEXT_100);
+ count = 0;
+ for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+ String name = extendedMetaData.getName(genFeature.getEcoreFeature());
+ if (elements.contains(genFeature.getEcoreFeature()) && name.indexOf(":") == -1) {
+ stringBuffer.append(TEXT_89);
+ if (count++ != 0) {
+ stringBuffer.append(TEXT_90);
+ }
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_102);
+ if (genFeature.isListType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_103);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(
+ genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName());
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(genFeature.getTypeGenClassifier().getName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_106);
+ } else {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(
+ genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName());
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(genFeature.getTypeGenClassifier().getName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_106);
+ }
+ stringBuffer.append(TEXT_107);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_108);
+ }
+ }
+ if (count == 0) {
+ stringBuffer.append(TEXT_109);
+ } else {
+ stringBuffer.append(TEXT_110);
+ }
+ stringBuffer.append(TEXT_98);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_69);
+ }
+ stringBuffer.append(TEXT_111);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genPackage.getQualifiedFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_113);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_114);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_117);
+ }
+ for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(_DataFrame);
+ stringBuffer.append(TEXT_118);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(_StackFrame);
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(_DataFrame);
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(_DataFrame);
+ stringBuffer.append(TEXT_119);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(_DataFrame);
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_120);
+ if (genDataType.getGenPackage().isDataTypeConverters()) {
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genDataType.getGenPackage().getQualifiedFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_122);
+ } else if (genDataType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_123);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_124);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_125);
+ stringBuffer.append(genDataType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_126);
+ } else {
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_127);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_124);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_122);
+ }
+ stringBuffer.append(TEXT_128);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_129);
+ }
+ stringBuffer.append(TEXT_17);
+ }
+ stringBuffer.append(TEXT_130);
+ stringBuffer.append(genPackage.getResourceClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_14);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genPackage.getResource() != GenResourceKind.NONE_LITERAL);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java
new file mode 100644
index 000000000..8419acaac
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java
@@ -0,0 +1,303 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ResourceFactoryClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized ResourceFactoryClass create(String lineSeparator) {
+ nl = lineSeparator;
+ ResourceFactoryClass result = new ResourceFactoryClass();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * The <b>Resource Factory</b> associated with the package." + NL + " * <!-- end-user-doc -->" + NL
+ + " * @see ";
+ protected final String TEXT_5 = NL + " * ";
+ protected final String TEXT_6 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_7 = NL + "@Deprecated";
+ protected final String TEXT_8 = NL + "public class ";
+ protected final String TEXT_9 = " extends ";
+ protected final String TEXT_10 = NL + "{";
+ protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_12 = " copyright = ";
+ protected final String TEXT_13 = ";";
+ protected final String TEXT_14 = NL;
+ protected final String TEXT_15 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_16 = " extendedMetaData;" + NL;
+ protected final String TEXT_17 = " xmlMap = new ";
+ protected final String TEXT_18 = "();" + NL;
+ protected final String TEXT_19 = NL + "\t/**" + NL + "\t * Creates an instance of the resource factory." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic ";
+ protected final String TEXT_20 = "()" + NL + "\t{" + NL + "\t\tsuper();";
+ protected final String TEXT_21 = NL + "\t\textendedMetaData = new ";
+ protected final String TEXT_22 = "(new ";
+ protected final String TEXT_23 = "(";
+ protected final String TEXT_24 = ".Registry.INSTANCE));" + NL + "\t\textendedMetaData.putPackage(null, ";
+ protected final String TEXT_25 = ".eINSTANCE);";
+ protected final String TEXT_26 = NL + "\t\txmlMap.setNoNamespacePackage(";
+ protected final String TEXT_27 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Creates an instance of the resource." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_28 = NL + "\t@Override";
+ protected final String TEXT_29 = NL + "\tpublic Resource createResource(URI uri)" + NL + "\t{";
+ protected final String TEXT_30 = NL + "\t}" + NL + "" + NL + "} //";
+ protected final String TEXT_31 = NL;
+
+ public ResourceFactoryClass() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(TEXT_31);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getModelDirectory();
+ packageName = genPackage.getUtilitiesPackageName();
+ className = genPackage.getResourceFactoryClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getUtilitiesPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.getImportedName("org.eclipse.emf.common.util.URI");
+ genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource");
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genPackage.getQualifiedResourceClassName());
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_6);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genPackage.getResourceFactoryClassName());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genPackage.getImportedResourceFactoryBaseClassName());
+ stringBuffer.append(TEXT_10);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_14);
+ }
+ if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+ stringBuffer.append(TEXT_16);
+ } else if (genPackage.hasXMLMap()) {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource$XMLMap"));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.XMLMapImpl"));
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genPackage.getResourceFactoryClassName());
+ stringBuffer.append(TEXT_20);
+ if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.BasicExtendedMetaData"));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl"));
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_25);
+ } else if (genPackage.hasXMLMap() && !genPackage.hasTargetNamespace()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_25);
+ }
+ stringBuffer.append(TEXT_27);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_28);
+ }
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(TEXT_14);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass.ResourceFactoryClass.createResource.override" args="genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uqqgWJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //ResourceFactoryClass/createResource.override.javajetinc
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genPackage.getResourceFactoryClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_14);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genPackage.getResource() != GenResourceKind.NONE_LITERAL);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java
new file mode 100644
index 000000000..4a75b3801
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java
@@ -0,0 +1,510 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class SwitchClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized SwitchClass create(String lineSeparator) {
+ nl = lineSeparator;
+ SwitchClass result = new SwitchClass();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * The <b>Switch</b> for the model's inheritance hierarchy." + NL
+ + " * It supports the call {@link #doSwitch(EObject) doSwitch(object)}" + NL
+ + " * to invoke the <code>caseXXX</code> method for each class of the model," + NL
+ + " * starting with the actual class of the object" + NL + " * and proceeding up the inheritance hierarchy"
+ + NL + " * until a non-null result is returned," + NL + " * which is the result of the switch." + NL
+ + " * <!-- end-user-doc -->" + NL + " * @see ";
+ protected final String TEXT_5 = NL + " * ";
+ protected final String TEXT_6 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_7 = NL + "@Deprecated";
+ protected final String TEXT_8 = NL + "\t@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_9 = NL + "public class ";
+ protected final String TEXT_10 = " extends Switch";
+ protected final String TEXT_11 = NL + "{";
+ protected final String TEXT_12 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_13 = " copyright = ";
+ protected final String TEXT_14 = ";";
+ protected final String TEXT_15 = NL;
+ protected final String TEXT_16 = NL + "\t/**" + NL + "\t * The cached model package" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected static ";
+ protected final String TEXT_17 = " modelPackage;" + NL + "" + NL + "\t/**" + NL
+ + "\t * Creates an instance of the switch." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_18 = "()" + NL + "\t{" + NL + "\t\tif (modelPackage == null)" + NL + "\t\t{" + NL
+ + "\t\t\tmodelPackage = ";
+ protected final String TEXT_19 = ".eINSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL;
+ protected final String TEXT_20 = NL + "\t/**" + NL + "\t * Checks whether this is a switch for the given package."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @param ePackage the package in question." + NL
+ + "\t * @return whether this is a switch for the given package." + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\t@Override" + NL + "\tprotected boolean isSwitchFor(EPackage ePackage)" + NL + "\t{" + NL
+ + "\t\treturn ePackage == modelPackage;" + NL + "\t}";
+ protected final String TEXT_21 = NL + "\t/**" + NL
+ + "\t * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the first non-null result returned by a <code>caseXXX</code> call." + NL + "\t * @generated"
+ + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_22 = " doSwitch(EObject theEObject)" + NL + "\t{" + NL
+ + "\t\treturn doSwitch(theEObject.eClass(), theEObject);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the first non-null result returned by a <code>caseXXX</code> call." + NL + "\t * @generated"
+ + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_23 = " doSwitch(EClass theEClass, EObject theEObject)" + NL + "\t{" + NL
+ + "\t\tif (theEClass.eContainer() == modelPackage)" + NL + "\t\t{" + NL
+ + "\t\t\treturn doSwitch(theEClass.getClassifierID(), theEObject);" + NL + "\t\t}";
+ protected final String TEXT_24 = NL + "\t\telse" + NL + "\t\t{";
+ protected final String TEXT_25 = NL + "\t\t";
+ protected final String TEXT_26 = "<";
+ protected final String TEXT_27 = ">";
+ protected final String TEXT_28 = " eSuperTypes = theEClass.getESuperTypes();" + NL + "\t\t";
+ protected final String TEXT_29 = "return" + NL + "\t\t";
+ protected final String TEXT_30 = "\teSuperTypes.isEmpty() ?" + NL + "\t\t";
+ protected final String TEXT_31 = "\t\tdefaultCase(theEObject) :" + NL + "\t\t";
+ protected final String TEXT_32 = "\t\tdoSwitch(";
+ protected final String TEXT_33 = "(EClass)";
+ protected final String TEXT_34 = "eSuperTypes.get(0), theEObject);";
+ protected final String TEXT_35 = NL + "\t\t}";
+ protected final String TEXT_36 = NL + "\t}";
+ protected final String TEXT_37 = NL + NL + "\t/**" + NL
+ + "\t * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return the first non-null result returned by a <code>caseXXX</code> call." + NL + "\t * @generated"
+ + NL + "\t */";
+ protected final String TEXT_38 = NL + "\t@Override";
+ protected final String TEXT_39 = NL + "\tprotected ";
+ protected final String TEXT_40 = " doSwitch(int classifierID, EObject theEObject)" + NL + "\t{" + NL
+ + "\t\tswitch (classifierID)" + NL + "\t\t{";
+ protected final String TEXT_41 = NL + "\t\t\tcase ";
+ protected final String TEXT_42 = ".";
+ protected final String TEXT_43 = ":" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+ protected final String TEXT_44 = "@SuppressWarnings(\"unchecked\") ";
+ protected final String TEXT_45 = " ";
+ protected final String TEXT_46 = " = (";
+ protected final String TEXT_47 = ")theEObject;" + NL + "\t\t\t\t";
+ protected final String TEXT_48 = " = case";
+ protected final String TEXT_49 = "(";
+ protected final String TEXT_50 = ");";
+ protected final String TEXT_51 = NL + "\t\t\t\tif (";
+ protected final String TEXT_52 = " == null) ";
+ protected final String TEXT_53 = " = ";
+ protected final String TEXT_54 = ")";
+ protected final String TEXT_55 = "case";
+ protected final String TEXT_56 = " = defaultCase(theEObject);" + NL + "\t\t\t\treturn ";
+ protected final String TEXT_57 = ";" + NL + "\t\t\t}";
+ protected final String TEXT_58 = NL + "\t\t\tdefault: return defaultCase(theEObject);" + NL + "\t\t}" + NL + "\t}";
+ protected final String TEXT_59 = NL + NL + "\t/**" + NL
+ + "\t * Returns the result of interpreting the object as an instance of '<em>";
+ protected final String TEXT_60 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * This implementation returns null;" + NL
+ + "\t * returning a non-null result will terminate the switch." + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @param object the target of the switch." + NL
+ + "\t * @return the result of interpreting the object as an instance of '<em>";
+ protected final String TEXT_61 = "</em>'." + NL
+ + "\t * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)";
+ protected final String TEXT_62 = NL + "\t * ";
+ protected final String TEXT_63 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_64 = NL + "\t@Deprecated";
+ protected final String TEXT_65 = NL + "\tpublic ";
+ protected final String TEXT_66 = " case";
+ protected final String TEXT_67 = " object)" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}";
+ protected final String TEXT_68 = NL + NL + "\t/**" + NL
+ + "\t * Returns the result of interpreting the object as an instance of '<em>EObject</em>'." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * This implementation returns null;" + NL
+ + "\t * returning a non-null result will terminate the switch, but this is the last case anyway." + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @param object the target of the switch." + NL
+ + "\t * @return the result of interpreting the object as an instance of '<em>EObject</em>'." + NL
+ + "\t * @see #doSwitch(org.eclipse.emf.ecore.EObject)" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_69 = " defaultCase(EObject object)" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}"
+ + NL + "" + NL + "} //";
+ protected final String TEXT_70 = NL;
+
+ public SwitchClass() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(TEXT_70);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getModelDirectory();
+ packageName = genPackage.getUtilitiesPackageName();
+ className = genPackage.getSwitchClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ boolean supportsComposition = genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF27_VALUE;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getUtilitiesPackageName());
+ stringBuffer.append(TEXT_3);
+ if (supportsComposition) {
+ genModel.addImport("org.eclipse.emf.ecore.EObject");
+ genModel.addImport("org.eclipse.emf.ecore.EPackage");
+ genModel.addImport("org.eclipse.emf.ecore.util.Switch");
+ } else {
+ genModel.addImport("org.eclipse.emf.ecore.EClass");
+ genModel.addImport("org.eclipse.emf.ecore.EObject");
+ }
+ if (!genPackage.hasJavaLangConflict()
+ && !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName()))
+ genModel.addImport(genPackage.getInterfacePackageName() + ".*");
+
+ String templateParameterName = null;
+ if (genModel.useGenerics()) {
+ Set<String> usedNames = new HashSet<String>();
+ for (GenEnum genEnum : genPackage.getGenEnums()) {
+ usedNames.add(genEnum.getName());
+ }
+ for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {
+ if (!genClass.isDynamic() && !genClass.isExternalInterface()) {
+ usedNames.add(genClass.getName());
+ }
+ for (GenTypeParameter genTypeParameter : genClass.getGenTypeParameters()) {
+ usedNames.add(genTypeParameter.getName());
+ }
+ }
+ templateParameterName = "T";
+ for (int i = 1; usedNames.contains(templateParameterName); ++i) {
+ templateParameterName = "T" + i;
+ }
+ }
+
+ String templateParameters = genModel.useGenerics() ? "<" + templateParameterName + ">" : "";
+ String returnType = genModel.useGenerics() ? templateParameterName
+ : genModel.getImportedName("java.lang.Object");
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_6);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ } else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClasses())) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genPackage.getSwitchClassName());
+ stringBuffer.append(templateParameters);
+ if (supportsComposition) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(templateParameters);
+ }
+ stringBuffer.append(TEXT_11);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_15);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genPackage.getSwitchClassName());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_19);
+ if (supportsComposition) {
+ stringBuffer.append(TEXT_20);
+ } else {
+ boolean isUnnecessaryElse = genModel.isUnnecessaryElse();
+ String indent = isUnnecessaryElse ? "" : "\t";
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(returnType);
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(returnType);
+ stringBuffer.append(TEXT_23);
+ if (!isUnnecessaryElse) {
+ stringBuffer.append(TEXT_24);
+ }
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(indent);
+ stringBuffer.append(genModel.getImportedName("java.util.List"));
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(indent);
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(indent);
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(indent);
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(indent);
+ stringBuffer.append(TEXT_32);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_33);
+ }
+ stringBuffer.append(TEXT_34);
+ if (!isUnnecessaryElse) {
+ stringBuffer.append(TEXT_35);
+ }
+ stringBuffer.append(TEXT_36);
+ }
+ stringBuffer.append(TEXT_37);
+ if (supportsComposition) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(returnType);
+ stringBuffer.append(TEXT_40);
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.isEObject()) {
+ String result = "result".equals(genClass.getSafeUncapName()) ? "theResult" : "result";
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genPackage.getClassifierID(genClass));
+ stringBuffer.append(TEXT_43);
+ if (genClass.isUncheckedCast() || genClass.isMapEntry() && isJDK50) {
+ stringBuffer.append(TEXT_44);
+ }
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(returnType);
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genPackage.getClassUniqueName(genClass));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_50);
+ for (GenClass baseGenClass : genClass.getSwitchGenClasses()) {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_53);
+ if (genClass.isRawBaseClass(baseGenClass)) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(returnType);
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genPackage.getClassUniqueName(baseGenClass));
+ stringBuffer.append(TEXT_49);
+ if (genClass.isMapEntry()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(baseGenClass.getImportedInterfaceName());
+ stringBuffer.append(baseGenClass.getInterfaceTypeArguments());
+ stringBuffer.append(TEXT_54);
+ }
+ stringBuffer.append(genClass.getSafeUncapName());
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_57);
+ }
+ }
+ stringBuffer.append(TEXT_58);
+ for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_61);
+ if (genClass.hasAPITags()) {
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_63);
+ if (isJDK50 && genClass.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_64);
+ }
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClass.getTypeParameters());
+ stringBuffer.append(returnType);
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genPackage.getClassUniqueName(genClass));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceTypeArguments());
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_68);
+ if (supportsComposition) {
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(returnType);
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genPackage.getSwitchClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_15);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isAdapterFactory()
+ && !genPackage.getGenClasses().isEmpty());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java
new file mode 100644
index 000000000..df0075999
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java
@@ -0,0 +1,1911 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ValidatorClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized ValidatorClass create(String lineSeparator) {
+ nl = lineSeparator;
+ ValidatorClass result = new ValidatorClass();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * The <b>Validator</b> for the model." + NL + " * <!-- end-user-doc -->" + NL + " * @see ";
+ protected final String TEXT_5 = NL + " * ";
+ protected final String TEXT_6 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_7 = NL + "@Deprecated";
+ protected final String TEXT_8 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_9 = NL + "public class ";
+ protected final String TEXT_10 = " extends ";
+ protected final String TEXT_11 = NL + "{";
+ protected final String TEXT_12 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_13 = " copyright = ";
+ protected final String TEXT_14 = ";";
+ protected final String TEXT_15 = NL;
+ protected final String TEXT_16 = NL + "\t/**" + NL + "\t * The cached model package" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static final ";
+ protected final String TEXT_17 = " INSTANCE = new ";
+ protected final String TEXT_18 = "();" + NL + "" + NL + "\t/**" + NL
+ + "\t * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @see org.eclipse.emf.common.util.Diagnostic#getSource()" + NL
+ + "\t * @see org.eclipse.emf.common.util.Diagnostic#getCode()" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static final String DIAGNOSTIC_SOURCE = \"";
+ protected final String TEXT_19 = "\";";
+ protected final String TEXT_20 = NL + "\t/**" + NL
+ + "\t * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint '";
+ protected final String TEXT_21 = "' of '";
+ protected final String TEXT_22 = "'." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final int ";
+ protected final String TEXT_23 = " = ";
+ protected final String TEXT_24 = NL + "\t/**" + NL
+ + "\t * A constant with a fixed name that can be used as the base value for additional hand written constants."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprivate static final int GENERATED_DIAGNOSTIC_CODE_COUNT = ";
+ protected final String TEXT_25 = ";" + NL + "" + NL + "\t/**" + NL
+ + "\t * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tprotected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;"
+ + NL;
+ protected final String TEXT_26 = NL + "\t/**" + NL + "\t * The cached base package validator." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tprotected ";
+ protected final String TEXT_27 = " ";
+ protected final String TEXT_28 = "Validator;" + NL;
+ protected final String TEXT_29 = NL + "\t/**" + NL
+ + "\t * Delegates evaluation of the given invariant expression against the object in the given context."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */" + NL + "\tpublic static boolean validate(";
+ protected final String TEXT_30 = " eClass, ";
+ protected final String TEXT_31 = " eObject, DiagnosticChain diagnostics, ";
+ protected final String TEXT_32 = " context, ";
+ protected final String TEXT_33 = " validationDelegate, ";
+ protected final String TEXT_34 = " invariant, ";
+ protected final String TEXT_35 = " expression, int severity, ";
+ protected final String TEXT_36 = " source, int code)" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_37 = ".validate(eClass, eObject, diagnostics, context, validationDelegate, invariant, expression, severity, source, code);"
+ + NL + "\t}" + NL;
+ protected final String TEXT_38 = NL + "\t/**" + NL + "\t * Creates an instance of the switch." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic ";
+ protected final String TEXT_39 = "()" + NL + "\t{" + NL + "\t\tsuper();";
+ protected final String TEXT_40 = NL + "\t\t";
+ protected final String TEXT_41 = "Validator = ";
+ protected final String TEXT_42 = ".INSTANCE;";
+ protected final String TEXT_43 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Returns the package of this validator switch." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_44 = NL + "\t@Override";
+ protected final String TEXT_45 = NL + "\tprotected EPackage getEPackage()" + NL + "\t{" + NL + "\t return ";
+ protected final String TEXT_46 = ".eINSTANCE;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * Calls <code>validateXXX</code> for the corresponding classifier of the model." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_47 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_48 = NL
+ + "\tprotected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, ";
+ protected final String TEXT_49 = " context)" + NL + "\t{" + NL + "\t\tswitch (classifierID)" + NL + "\t\t{";
+ protected final String TEXT_50 = NL + "\t\t\tcase ";
+ protected final String TEXT_51 = ".";
+ protected final String TEXT_52 = ":";
+ protected final String TEXT_53 = NL + "\t\t\t\treturn validate";
+ protected final String TEXT_54 = "(((";
+ protected final String TEXT_55 = ")value).";
+ protected final String TEXT_56 = "(), diagnostics, context);";
+ protected final String TEXT_57 = "((";
+ protected final String TEXT_58 = ")value, diagnostics, context);";
+ protected final String TEXT_59 = "(value, diagnostics, context);";
+ protected final String TEXT_60 = NL + "\t\t\tdefault:" + NL + "\t\t\t\treturn true;" + NL + "\t\t}" + NL + "\t}"
+ + NL;
+ protected final String TEXT_61 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_62 = NL + "\t * ";
+ protected final String TEXT_63 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_64 = NL + "\t@Deprecated";
+ protected final String TEXT_65 = NL + "\tpublic boolean validate";
+ protected final String TEXT_66 = "(";
+ protected final String TEXT_67 = ", DiagnosticChain ";
+ protected final String TEXT_68 = ", ";
+ protected final String TEXT_69 = ")" + NL + "\t{";
+ protected final String TEXT_70 = NL + "\t\treturn true;";
+ protected final String TEXT_71 = NL + "\t\treturn validate_EveryDefaultConstraint(";
+ protected final String TEXT_72 = ")";
+ protected final String TEXT_73 = ");";
+ protected final String TEXT_74 = NL + "\t\tif (!validate_NoCircularContainment(";
+ protected final String TEXT_75 = ")) return false;";
+ protected final String TEXT_76 = NL + "\t\tboolean ";
+ protected final String TEXT_77 = "validate";
+ protected final String TEXT_78 = "_";
+ protected final String TEXT_79 = NL + "\t\tif (";
+ protected final String TEXT_80 = " || ";
+ protected final String TEXT_81 = " != null) ";
+ protected final String TEXT_82 = " &= ";
+ protected final String TEXT_83 = NL + "\t\treturn ";
+ protected final String TEXT_84 = NL + "\t}" + NL;
+ protected final String TEXT_85 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";
+ protected final String TEXT_86 = NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_87 = "__VALUE = ";
+ protected final String TEXT_88 = "__UPPER_BOUND = ";
+ protected final String TEXT_89 = ";" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";
+ protected final String TEXT_90 = "__LOWER_BOUND = ";
+ protected final String TEXT_91 = NL + "\t */" + NL + "\tpublic static final PatternMatcher [][] ";
+ protected final String TEXT_92 = "__VALUES =" + NL + "\t\tnew PatternMatcher [][]" + NL + "\t\t{";
+ protected final String TEXT_93 = NL + "\t\t\tnew PatternMatcher []" + NL + "\t\t\t{";
+ protected final String TEXT_94 = NL + "\t\t\t\t";
+ protected final String TEXT_95 = ".createPatternMatcher(";
+ protected final String TEXT_96 = NL + "\t\t\t}";
+ protected final String TEXT_97 = NL + "\t\t};" + NL;
+ protected final String TEXT_98 = NL + "\t */";
+ protected final String TEXT_99 = NL + "\tpublic static final ";
+ protected final String TEXT_100 = "__VALUES =" + NL + "\t\twrapEnumerationValues" + NL + "\t\t\t(new Object[]" + NL
+ + "\t\t\t {";
+ protected final String TEXT_101 = NL + "\t\t\t\t ";
+ protected final String TEXT_102 = "new ";
+ protected final String TEXT_103 = NL + "\t\t\t });" + NL;
+ protected final String TEXT_104 = NL + "\t/**" + NL + "\t * The cached validation expression for the ";
+ protected final String TEXT_105 = " constraint of '<em>";
+ protected final String TEXT_106 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected static final ";
+ protected final String TEXT_107 = "__";
+ protected final String TEXT_108 = "__EEXPRESSION = \"";
+ protected final String TEXT_109 = NL + "\t/**" + NL + "\t * Validates the ";
+ protected final String TEXT_110 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic boolean validate";
+ protected final String TEXT_111 = " = true;" + NL + "\t\tfor (";
+ protected final String TEXT_112 = " i = ";
+ protected final String TEXT_113 = ".iterator(); i.hasNext() && (result || diagnostics != null); )" + NL + "\t\t{"
+ + NL + "\t\t\tObject item = i.next();";
+ protected final String TEXT_114 = NL + "\t\t\tif (";
+ protected final String TEXT_115 = ".isInstance(item))" + NL + "\t\t\t{" + NL + "\t\t\t\tresult &= ";
+ protected final String TEXT_116 = ").";
+ protected final String TEXT_117 = "()";
+ protected final String TEXT_118 = ");" + NL + "\t\t\t}" + NL + "\t\t\telse";
+ protected final String TEXT_119 = NL + "\t\t\tif (!";
+ protected final String TEXT_120 = ".isInstance(item))";
+ protected final String TEXT_121 = NL + "\t\t\t{" + NL + "\t\t\t\tresult = false;" + NL
+ + "\t\t\t\treportDataValueTypeViolation(";
+ protected final String TEXT_122 = ", item, ";
+ protected final String TEXT_123 = ");" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn result;";
+ protected final String TEXT_124 = NL + "\t\tif (diagnostics != null)" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_125 = " tempDiagnostics = new BasicDiagnostic();";
+ protected final String TEXT_126 = ", tempDiagnostics, ";
+ protected final String TEXT_127 = ")) return true;";
+ protected final String TEXT_128 = ".isInstance(";
+ protected final String TEXT_129 = "))" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+ protected final String TEXT_130 = "if (";
+ protected final String TEXT_131 = ")) ";
+ protected final String TEXT_132 = "return true;" + NL + "\t\t\t}";
+ protected final String TEXT_133 = NL + "\t\t\tfor (";
+ protected final String TEXT_134 = " diagnostic : tempDiagnostics.getChildren())" + NL + "\t\t\t{" + NL
+ + "\t\t\t\tdiagnostics.add(diagnostic);" + NL + "\t\t\t}";
+ protected final String TEXT_135 = NL + "\t\t\t";
+ protected final String TEXT_136 = " children = tempDiagnostics.getChildren();" + NL
+ + "\t\t\tfor (int i = 0; i < children.size(); i++)" + NL + "\t\t\t{" + NL + "\t\t\t\tdiagnostics.add((";
+ protected final String TEXT_137 = ")children.get(i));" + NL + "\t\t\t}";
+ protected final String TEXT_138 = NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{";
+ protected final String TEXT_139 = ", null, ";
+ protected final String TEXT_140 = NL + "\t\t}" + NL + "\t\treturn false;";
+ protected final String TEXT_141 = NL + "\t\treturn validatePattern(";
+ protected final String TEXT_142 = "__VALUES, ";
+ protected final String TEXT_143 = " = new ";
+ protected final String TEXT_144 = "__VALUES.contains(";
+ protected final String TEXT_145 = ");" + NL + "\t\tif (!";
+ protected final String TEXT_146 = " && ";
+ protected final String TEXT_147 = " != null)" + NL + "\t\t\treportEnumerationViolation(";
+ protected final String TEXT_148 = ");" + NL + "\t\treturn ";
+ protected final String TEXT_149 = "__VALUE;" + NL + "\t\tif (!";
+ protected final String TEXT_150 = " != null)";
+ protected final String TEXT_151 = NL + "\t\t\treportMinViolation(";
+ protected final String TEXT_152 = ", new ";
+ protected final String TEXT_153 = "), new ";
+ protected final String TEXT_154 = "__VALUE), ";
+ protected final String TEXT_155 = "__VALUE, ";
+ protected final String TEXT_156 = NL + "\t\tint ";
+ protected final String TEXT_157 = ".compareCalendar(";
+ protected final String TEXT_158 = "__VALUE);" + NL + "\t\tboolean ";
+ protected final String TEXT_159 = " == 0 || ";
+ protected final String TEXT_160 = " == 1;";
+ protected final String TEXT_161 = ".compareDuration(";
+ protected final String TEXT_162 = ".compareTo(";
+ protected final String TEXT_163 = "__VALUE) ";
+ protected final String TEXT_164 = " 0;";
+ protected final String TEXT_165 = NL + "\t\tif (!";
+ protected final String TEXT_166 = " != null)" + NL + "\t\t\treportMinViolation(";
+ protected final String TEXT_167 = NL + "\t\t\treportMaxViolation(";
+ protected final String TEXT_168 = " == -1;";
+ protected final String TEXT_169 = " != null)" + NL + "\t\t\treportMaxViolation(";
+ protected final String TEXT_170 = NL + "\t\tint length = ";
+ protected final String TEXT_171 = ";" + NL + "\t\tboolean ";
+ protected final String TEXT_172 = " = length >= ";
+ protected final String TEXT_173 = ";" + NL + "\t\tif (!";
+ protected final String TEXT_174 = " != null)" + NL + "\t\t\treportMinLengthViolation(";
+ protected final String TEXT_175 = ", length, ";
+ protected final String TEXT_176 = " = length <= ";
+ protected final String TEXT_177 = " != null)" + NL + "\t\t\treportMaxLengthViolation(";
+ protected final String TEXT_178 = " > ";
+ protected final String TEXT_179 = "__LOWER_BOUND && ";
+ protected final String TEXT_180 = " < ";
+ protected final String TEXT_181 = "__UPPER_BOUND;" + NL + "\t\tif (!";
+ protected final String TEXT_182 = NL + "\t\t\treportTotalDigitsViolation(";
+ protected final String TEXT_183 = "), ";
+ protected final String TEXT_184 = NL + "\t\tint scale = ";
+ protected final String TEXT_185 = ".scale();" + NL + "\t\tint totalDigits = scale < 0 ? ";
+ protected final String TEXT_186 = ".precision() - scale : ";
+ protected final String TEXT_187 = ".precision();" + NL + "\t\tboolean ";
+ protected final String TEXT_188 = " = totalDigits <= ";
+ protected final String TEXT_189 = " != null)" + NL + "\t\t\treportTotalDigitsViolation(";
+ protected final String TEXT_190 = "__LOWER_BOUND) > 0 && ";
+ protected final String TEXT_191 = "__UPPER_BOUND) < 0;" + NL + "\t\tif (!";
+ protected final String TEXT_192 = ".scale() <= ";
+ protected final String TEXT_193 = " != null)" + NL + "\t\t\treportFractionDigitsViolation(";
+ protected final String TEXT_194 = NL + "\t\t// TODO override the constraint, if desired" + NL
+ + "\t\t// -> uncomment the scaffolding" + NL
+ + "\t\t// -> specify the condition that violates the constraint" + NL
+ + "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL
+ + "\t\t{" + NL + "\t\t\tif (";
+ protected final String TEXT_195 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+ protected final String TEXT_196 = ".add";
+ protected final String TEXT_197 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t(";
+ protected final String TEXT_198 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL
+ + "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\",";
+ protected final String TEXT_199 = NL + "\t\t\t\t\t\t new Object[] { \"";
+ protected final String TEXT_200 = "\", getValueLabel(";
+ protected final String TEXT_201 = ") },";
+ protected final String TEXT_202 = NL + "\t\t\t\t\t\t new Object[] { ";
+ protected final String TEXT_203 = " }," + NL + "\t\t\t\t\t\t context));";
+ protected final String TEXT_204 = NL + "\t\t\t\t\t(new ";
+ protected final String TEXT_205 = NL + "\t\t\t\t\t\t(";
+ protected final String TEXT_206 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL
+ + "\t\t\t\t\t\t ";
+ protected final String TEXT_207 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \"";
+ protected final String TEXT_208 = ") }),";
+ protected final String TEXT_209 = " }));";
+ protected final String TEXT_210 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn ";
+ protected final String TEXT_211 = NL + "\t\treturn" + NL + "\t\t\tvalidate" + NL + "\t\t\t\t(";
+ protected final String TEXT_212 = "," + NL + "\t\t\t\t ";
+ protected final String TEXT_213 = "," + NL + "\t\t\t\t \"";
+ protected final String TEXT_214 = "\",";
+ protected final String TEXT_215 = NL + "\t\t\t\t \"";
+ protected final String TEXT_216 = "__EEXPRESSION," + NL + "\t\t\t\t ";
+ protected final String TEXT_217 = ".ERROR," + NL + "\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t 0);";
+ protected final String TEXT_218 = NL + "\t\t// TODO implement the constraint" + NL
+ + "\t\t// -> specify the condition that violates the constraint" + NL
+ + "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL
+ + "\t\t{" + NL + "\t\t\tif (";
+ protected final String TEXT_219 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL
+ + "\t\treturn true;";
+ protected final String TEXT_220 = "\", getObjectLabel(";
+ protected final String TEXT_221 = NL + "\t/**" + NL
+ + "\t * Returns the resource locator that will be used to fetch messages for this validator's diagnostics."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t */";
+ protected final String TEXT_222 = NL + "\tpublic ";
+ protected final String TEXT_223 = " getResourceLocator()" + NL + "\t{";
+ protected final String TEXT_224 = NL + "\t\t// TODO" + NL
+ + "\t\t// Specialize this to return a resource locator for messages specific to this validator." + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\treturn super.getResourceLocator();";
+ protected final String TEXT_225 = NL + "} //";
+ protected final String TEXT_226 = NL;
+
+ public ValidatorClass() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_226);
+ stringBuffer.append(TEXT_226);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getModelDirectory();
+ packageName = genPackage.getUtilitiesPackageName();
+ className = genPackage.getValidatorClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2002-2013 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ final String singleWildcard = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50 ? "<?>" : "";
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getUtilitiesPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.addImport("java.util.Map");
+ final String _Map = genModel.useGenerics()
+ ? "Map<" + genModel.getImportedName("java.lang.Object") + ", "
+ + genModel.getImportedName("java.lang.Object") + ">"
+ : "Map";
+ final String objectArgument = genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ">"
+ : "";
+ genModel.addImport("org.eclipse.emf.common.util.DiagnosticChain");
+ genModel.addImport("org.eclipse.emf.ecore.EPackage");
+ if (!genPackage.hasJavaLangConflict()
+ && !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName()))
+ genModel.addImport(genPackage.getInterfacePackageName() + ".*");
+ genModel.markImportLocation(stringBuffer);
+ genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.Descriptor");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.Registry");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider");
+ genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.PatternMatcher");
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_6);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ } else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClassifiers())) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genPackage.getValidatorClassName());
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));
+ stringBuffer.append(TEXT_11);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_15);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genPackage.getValidatorClassName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genPackage.getValidatorClassName());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genPackage.getInterfacePackageName());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_15);
+ int count = 0;
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ for (GenOperation genOperation : genClass.getInvariantOperations()) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getOperationID(genOperation));
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(++count);
+ stringBuffer.append(TEXT_3);
+ }
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(count);
+ stringBuffer.append(TEXT_25);
+ for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(baseGenPackage.getImportedValidatorClassName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genPackage.getValidatorPackageUniqueSafeName(baseGenPackage));
+ stringBuffer.append(TEXT_28);
+ }
+ if (genPackage.hasInvariantExpressions()) {
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(_Map);
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));
+ stringBuffer.append(TEXT_37);
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genPackage.getValidatorClassName());
+ stringBuffer.append(TEXT_39);
+ for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genPackage.getValidatorPackageUniqueSafeName(baseGenPackage));
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(baseGenPackage.getImportedValidatorClassName());
+ stringBuffer.append(TEXT_42);
+ }
+ stringBuffer.append(TEXT_43);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_44);
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_46);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_44);
+ }
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ if (genClassifier.isUncheckedCast()) {
+ stringBuffer.append(TEXT_47);
+ break;
+ }
+ }
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(_Map);
+ stringBuffer.append(TEXT_49);
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genPackage.getClassifierID(genClassifier));
+ stringBuffer.append(TEXT_52);
+ if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ if (genDataType.isPrimitiveType()) {
+ if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genDataType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_56);
+ } else {
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_58);
+ }
+ } else if (genDataType.isObjectType()) {
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_59);
+ } else {
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genDataType.getObjectType().getImportedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_58);
+ }
+ } else {
+ GenClass genClass = (GenClass) genClassifier;
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genClass.getImportedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_58);
+ }
+ }
+ stringBuffer.append(TEXT_60);
+ for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+ String result = "result".equals(genClassifier.getSafeUncapName()) ? "theResult" : "result";
+ String diagnostics = "diagnostics".equals(genClassifier.getSafeUncapName()) ? "theDiagnostics"
+ : "diagnostics";
+ String item = "item".equals(genClassifier.getSafeUncapName()) ? "theItem" : "item";
+ String context = "context".equals(genClassifier.getSafeUncapName()) ? "theContext" : "context";
+ stringBuffer.append(TEXT_61);
+ if (genClassifier.hasAPITags()) {
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_63);
+ if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_64);
+ }
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClassifier.getName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClassifier.getImportedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(_Map);
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_69);
+ if (genClassifier.getAllGenConstraints().isEmpty()) {
+ stringBuffer.append(TEXT_70);
+ } else if (genClassifier.hasOnlyDefaultConstraints()) {
+ stringBuffer.append(TEXT_71);
+ if (!((GenClass) genClassifier).isEObjectExtension()) {
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ } else {
+ boolean first = true;
+ for (String constraint : genClassifier.getAllGenConstraints()) {
+ GenClassifier constraintImplementor = genClassifier.getConstraintImplementor(constraint);
+ String delegate = constraintImplementor == null
+ || constraintImplementor.getGenPackage() == genPackage ? ""
+ : genPackage.getValidatorPackageUniqueSafeName(
+ constraintImplementor.getGenPackage()) + "Validator.";
+ String cast = constraintImplementor == null && genClassifier instanceof GenClass
+ && !((GenClass) genClassifier).isEObjectExtension()
+ ? "(" + genModel.getImportedName("org.eclipse.emf.ecore.EObject") + ")"
+ : "";
+ String accessor = constraintImplementor != null && genClassifier instanceof GenDataType
+ && !((GenDataType) genClassifier).isPrimitiveType()
+ && ((GenDataType) constraintImplementor).isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50
+ ? "." + ((GenDataType) constraintImplementor).getPrimitiveValueFunction() + "()"
+ : "";
+ if ("NoCircularContainment".equals(constraint)) {
+ stringBuffer.append(TEXT_74);
+ if (!((GenClass) genClassifier).isEObjectExtension()) {
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_75);
+ } else if (first) {
+ first = false;
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(delegate);
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(constraintImplementor == null ? "" : constraintImplementor.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(cast);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(accessor);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ } else {
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(delegate);
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(constraintImplementor == null ? "" : constraintImplementor.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(cast);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(accessor);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ }
+ }
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_84);
+ for (String constraint : genClassifier.getGenConstraints()) {
+ GenClassifier constraintDelegate = genClassifier.getConstraintDelegate(constraint);
+ String constant = genClassifier.getClassifierID() + "__"
+ + CodeGenUtil.format(constraint, '_', null, false, false)
+ .toUpperCase(genClassifier.getGenModel().getLocale());
+ String delegate = constraintDelegate == null || constraintDelegate.getGenPackage() == genPackage ? ""
+ : genPackage.getValidatorPackageUniqueSafeName(constraintDelegate.getGenPackage())
+ + "Validator.";
+ String cast = constraintDelegate == null && genClassifier instanceof GenClass
+ && !((GenClass) genClassifier).isEObjectExtension()
+ ? "(" + genModel.getImportedName("org.eclipse.emf.ecore.EObject") + ")"
+ : "";
+ String accessor = constraintDelegate != null && genClassifier instanceof GenDataType
+ && !((GenDataType) genClassifier).isPrimitiveType()
+ && ((GenDataType) constraintDelegate).isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50
+ ? "." + ((GenDataType) constraintDelegate).getPrimitiveValueFunction() + "()"
+ : "";
+ if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ if (constraint.equals("Min") && genDataType.getMinLiteral() != null) {
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genDataType.getStaticValue(genDataType.getMinLiteral()));
+ stringBuffer.append(TEXT_3);
+ } else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genDataType.getStaticValue(genDataType.getMaxLiteral()));
+ stringBuffer.append(TEXT_3);
+ } else if (constraint.equals("TotalDigits") && genDataType.getTotalDigits() != -1
+ && !"java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {
+ String value = "1";
+ for (int digitCount = genDataType.getTotalDigits(); digitCount > 0; --digitCount)
+ value += "0";
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genDataType.getStaticValue(value));
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genDataType.getImportedInstanceClassName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(genDataType.getStaticValue("-" + value));
+ stringBuffer.append(TEXT_3);
+ } else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_92);
+ for (Iterator<List<String>> k = genDataType.getPatterns().iterator(); k.hasNext();) {
+ List<String> patternList = k.next();
+ stringBuffer.append(TEXT_93);
+ for (Iterator<String> p = patternList.iterator(); p.hasNext();) {
+ String pattern = p.next();
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(pattern);
+ stringBuffer.append(TEXT_72);
+ stringBuffer.append(p.hasNext() ? "," : "");
+ }
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(k.hasNext() ? "," : "");
+ }
+ stringBuffer.append(TEXT_97);
+ } else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) {
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genDataType.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_98);
+ if (genDataType.isUncheckedCast()) {
+ stringBuffer.append(TEXT_47);
+ }
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+ stringBuffer.append(objectArgument);
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_100);
+ for (Iterator<String> k = genDataType.getEnumerationLiterals().iterator(); k.hasNext();) {
+ String literal = k.next();
+ stringBuffer.append(TEXT_101);
+ if (genDataType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_66);
+ }
+ stringBuffer.append(genDataType.getStaticValue(literal, false));
+ if (genDataType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(k.hasNext() ? "," : "");
+ }
+ stringBuffer.append(TEXT_103);
+ }
+ }
+ if (genClassifier.hasConstraintExpression(constraint)) {
+ stringBuffer.append(TEXT_104);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(genClassifier.getFormattedName());
+ stringBuffer.append(TEXT_106);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genClassifier.getClassifierID());
+ stringBuffer.append(TEXT_107);
+ stringBuffer.append(CodeGenUtil.upperName(constraint));
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(genClassifier.getConstraintExpression(constraint, "\t\t"));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_15);
+ }
+ stringBuffer.append(TEXT_109);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(genClassifier.getFormattedName());
+ stringBuffer.append(TEXT_110);
+ stringBuffer.append(genClassifier.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClassifier.getImportedWildcardInstanceClassName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_67);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(_Map);
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_69);
+ if (genClassifier instanceof GenDataType) {
+ GenDataType genDataType = (GenDataType) genClassifier;
+ if (constraint.equals("ItemType") && genDataType.getItemType() != null) {
+ GenDataType itemType = genDataType.getItemType();
+ String itemDelegate = itemType.getGenPackage() == genPackage ? ""
+ : genPackage.getValidatorPackageUniqueSafeName(itemType.getGenPackage()) + "Validator.";
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_111);
+ stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_113);
+ if (itemType.getGenPackage().hasConstraints()) {
+ stringBuffer.append(TEXT_114);
+ stringBuffer.append(itemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(itemDelegate);
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(itemType.getName());
+ stringBuffer.append(TEXT_66);
+ if (itemType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_66);
+ }
+ if (!itemType.isObjectType()) {
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(itemType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(item);
+ if (itemType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(itemType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_117);
+ }
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_118);
+ } else {
+ stringBuffer.append(TEXT_119);
+ stringBuffer.append(itemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_120);
+ }
+ stringBuffer.append(TEXT_121);
+ stringBuffer.append(itemType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_122);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_123);
+ } else if (constraint.equals("MemberTypes") && !genDataType.getMemberTypes().isEmpty()) {
+ stringBuffer.append(TEXT_124);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+ stringBuffer.append(TEXT_125);
+ for (ListIterator<GenDataType> k = genDataType.getMemberTypes().listIterator(); k.hasNext();) {
+ GenDataType memberType = k.next();
+ String memberDelegate = memberType.getGenPackage() == genPackage ? ""
+ : genPackage.getValidatorPackageUniqueSafeName(memberType.getGenPackage())
+ + "Validator.";
+ if (genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_114);
+ stringBuffer.append(memberDelegate);
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(memberType.getName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_127);
+ } else {
+ stringBuffer.append(TEXT_114);
+ stringBuffer.append(memberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_128);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_129);
+ if (memberType.getGenPackage().hasConstraints()) {
+ stringBuffer.append(TEXT_130);
+ stringBuffer.append(memberDelegate);
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(memberType.getName());
+ stringBuffer.append(TEXT_66);
+ if (memberType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_66);
+ }
+ if (!memberType.isObjectType() && !memberType.getQualifiedInstanceClassName()
+ .equals(genDataType.getQualifiedInstanceClassName())) {
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(memberType.getImportedWildcardObjectInstanceClassName());
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ if (memberType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(memberType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_117);
+ }
+ stringBuffer.append(TEXT_126);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_131);
+ }
+ stringBuffer.append(TEXT_132);
+ }
+ }
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_133);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_134);
+ } else {
+ stringBuffer.append(TEXT_135);
+ stringBuffer.append(genModel.getImportedName("java.util.List"));
+ stringBuffer.append(TEXT_136);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_137);
+ }
+ stringBuffer.append(TEXT_138);
+ for (ListIterator<GenDataType> k = genDataType.getMemberTypes().listIterator(); k.hasNext();) {
+ GenDataType memberType = k.next();
+ String memberDelegate = memberType.getGenPackage() == genPackage ? ""
+ : genPackage.getValidatorPackageUniqueSafeName(memberType.getGenPackage())
+ + "Validator.";
+ if (genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_114);
+ stringBuffer.append(memberDelegate);
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(memberType.getName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_139);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_127);
+ } else {
+ stringBuffer.append(TEXT_114);
+ stringBuffer.append(memberType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_128);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_129);
+ if (memberType.getGenPackage().hasConstraints()) {
+ stringBuffer.append(TEXT_130);
+ stringBuffer.append(memberDelegate);
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(memberType.getName());
+ stringBuffer.append(TEXT_66);
+ if (memberType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_66);
+ }
+ if (!memberType.isObjectType() && !memberType.getQualifiedInstanceClassName()
+ .equals(genDataType.getQualifiedInstanceClassName())) {
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(memberType.getImportedWildcardObjectInstanceClassName());
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ if (memberType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_116);
+ stringBuffer.append(memberType.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_117);
+ }
+ stringBuffer.append(TEXT_139);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_131);
+ }
+ stringBuffer.append(TEXT_132);
+ }
+ }
+ stringBuffer.append(TEXT_140);
+ } else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {
+ stringBuffer.append(TEXT_141);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ if (genDataType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_66);
+ }
+ stringBuffer.append(genDataType.getSafeUncapName());
+ if (genDataType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_142);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ } else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) {
+ String variable = genDataType.getSafeUncapName();
+ if (genDataType.isPrimitiveType()
+ && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ variable = variable + "Object";
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(variable);
+ stringBuffer.append(TEXT_143);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_73);
+ }
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_144);
+ stringBuffer.append(variable);
+ stringBuffer.append(TEXT_145);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_147);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(variable);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_142);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_14);
+ } else if (constraint.equals("Min") && genDataType.getMinLiteral() != null) {
+ if (genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genDataType.isMinInclusive() ? ">=" : ">");
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_149);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_150);
+ if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_151);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_152);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_153);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_154);
+ stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ } else {
+ stringBuffer.append(TEXT_151);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_155);
+ stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ }
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_14);
+ } else {
+ String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison"
+ : "comparison";
+ if (genDataType.isXMLCalendar()) {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ if (genDataType.isMinInclusive()) {
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_159);
+ }
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_160);
+ } else if (genDataType.isXMLDuration()) {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));
+ stringBuffer.append(TEXT_161);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ if (genDataType.isMinInclusive()) {
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_159);
+ }
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_160);
+ } else {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_162);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_163);
+ stringBuffer.append(genDataType.isMinInclusive() ? ">=" : ">");
+ stringBuffer.append(TEXT_164);
+ }
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_166);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_155);
+ stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_14);
+ }
+ } else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {
+ if (genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genDataType.isMaxInclusive() ? "<=" : "<");
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_149);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_150);
+ if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_152);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_153);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_154);
+ stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ } else {
+ stringBuffer.append(TEXT_167);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_155);
+ stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ }
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_14);
+ } else {
+ String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison"
+ : "comparison";
+ if (genDataType.isXMLCalendar()) {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));
+ stringBuffer.append(TEXT_157);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ if (genDataType.isMaxInclusive()) {
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_159);
+ }
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_168);
+ } else if (genDataType.isXMLDuration()) {
+ stringBuffer.append(TEXT_156);
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));
+ stringBuffer.append(TEXT_161);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_158);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ if (genDataType.isMaxInclusive()) {
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_159);
+ }
+ stringBuffer.append(comparison);
+ stringBuffer.append(TEXT_168);
+ } else {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_162);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_163);
+ stringBuffer.append(genDataType.isMaxInclusive() ? "<=" : "<");
+ stringBuffer.append(TEXT_164);
+ }
+ stringBuffer.append(TEXT_165);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_169);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_155);
+ stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_14);
+ }
+ } else if (constraint.equals("MinLength") && genDataType.getMinLength() != -1) {
+ stringBuffer.append(TEXT_170);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genDataType.getLengthAccessorFunction());
+ stringBuffer.append(TEXT_171);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_172);
+ stringBuffer.append(genDataType.getMinLength());
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_174);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genDataType.getMinLength());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_14);
+ } else if (constraint.equals("MaxLength") && genDataType.getMaxLength() != -1) {
+ stringBuffer.append(TEXT_170);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genDataType.getLengthAccessorFunction());
+ stringBuffer.append(TEXT_171);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_176);
+ stringBuffer.append(genDataType.getMaxLength());
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_177);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_175);
+ stringBuffer.append(genDataType.getMaxLength());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_14);
+ } else if (constraint.equals("TotalDigits") && genDataType.getTotalDigits() != -1) {
+ if (genDataType.isPrimitiveType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_178);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_179);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_180);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_181);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_150);
+ if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_182);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_152);
+ stringBuffer.append(genDataType.getObjectInstanceClassName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_183);
+ stringBuffer.append(genDataType.getTotalDigits());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ } else {
+ stringBuffer.append(TEXT_182);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getTotalDigits());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ }
+ } else if ("java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {
+ stringBuffer.append(TEXT_184);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_185);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_186);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_187);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_188);
+ stringBuffer.append(genDataType.getTotalDigits());
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_189);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getTotalDigits());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ } else {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_162);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_190);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_162);
+ stringBuffer.append(constant);
+ stringBuffer.append(TEXT_191);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_189);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getTotalDigits());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ }
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_14);
+ } else if (constraint.equals("FractionDigits") && genDataType.getFractionDigits() != -1
+ && "java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_192);
+ stringBuffer.append(genDataType.getFractionDigits());
+ stringBuffer.append(TEXT_173);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_146);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_193);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genDataType.getFractionDigits());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_148);
+ stringBuffer.append(result);
+ stringBuffer.append(TEXT_14);
+ } else if (constraintDelegate != null) {
+ stringBuffer.append(TEXT_194);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_195);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_196);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+ stringBuffer.append(TEXT_197);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_199);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_200);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_203);
+ } else {
+ stringBuffer.append(TEXT_204);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+ stringBuffer.append(TEXT_207);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_200);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_208);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_209);
+ }
+ stringBuffer.append(TEXT_210);
+ stringBuffer.append(delegate);
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(constraintDelegate.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(accessor);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ } else {
+ if (genClassifier.hasConstraintExpression(constraint)) {
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_213);
+ stringBuffer.append(genClassifier.getValidationDelegate(constraint));
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genClassifier.getClassifierID());
+ stringBuffer.append(TEXT_107);
+ stringBuffer.append(CodeGenUtil.upperName(constraint));
+ stringBuffer.append(TEXT_216);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_217);
+ } else {
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_195);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_196);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+ stringBuffer.append(TEXT_197);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_199);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_200);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_203);
+ } else {
+ stringBuffer.append(TEXT_204);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_206);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+ stringBuffer.append(TEXT_207);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_200);
+ stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_208);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_209);
+ }
+ stringBuffer.append(TEXT_219);
+ }
+ }
+ } else {
+ GenOperation genOperation = ((GenClass) genClassifier).getInvariantOperation(constraint);
+ if (genOperation != null) {
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ } else if (constraintDelegate != null) {
+ stringBuffer.append(TEXT_194);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_195);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_196);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+ stringBuffer.append(TEXT_197);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_199);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_203);
+ } else {
+ stringBuffer.append(TEXT_204);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_206);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+ stringBuffer.append(TEXT_207);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_208);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_209);
+ }
+ stringBuffer.append(TEXT_210);
+ stringBuffer.append(delegate);
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(constraintDelegate.getName());
+ stringBuffer.append(TEXT_78);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(cast);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_73);
+ } else {
+ if (genClassifier.hasConstraintExpression(constraint)) {
+ stringBuffer.append(TEXT_211);
+ stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_212);
+ if (!((GenClass) genClassifier).isEObjectExtension()) {
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+ stringBuffer.append(TEXT_72);
+ }
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_212);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_213);
+ stringBuffer.append(genClassifier.getValidationDelegate(constraint));
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_215);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_214);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genClassifier.getClassifierID());
+ stringBuffer.append(TEXT_107);
+ stringBuffer.append(CodeGenUtil.upperName(constraint));
+ stringBuffer.append(TEXT_216);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_217);
+ } else {
+ stringBuffer.append(TEXT_218);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_195);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_196);
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+ stringBuffer.append(TEXT_197);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_198);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_199);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_201);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_203);
+ } else {
+ stringBuffer.append(TEXT_204);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+ stringBuffer.append(TEXT_205);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_206);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+ stringBuffer.append(TEXT_207);
+ stringBuffer.append(constraint);
+ stringBuffer.append(TEXT_220);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_208);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_202);
+ stringBuffer.append(genClassifier.getSafeUncapName());
+ stringBuffer.append(TEXT_209);
+ }
+ stringBuffer.append(TEXT_219);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_84);
+ }
+ }
+ if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+ stringBuffer.append(TEXT_221);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_44);
+ }
+ stringBuffer.append(TEXT_222);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));
+ stringBuffer.append(TEXT_223);
+ if (genModel.hasModelPluginClass()) {
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genModel.getImportedName(genModel.getQualifiedModelPluginClassName()));
+ stringBuffer.append(TEXT_42);
+ } else {
+ stringBuffer.append(TEXT_224);
+ }
+ stringBuffer.append(TEXT_84);
+ }
+ stringBuffer.append(TEXT_15);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.ValidatorClass.ValidatorClass.insert" args="genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,singleWildcard:singleWildcard,_Map:_Map,objectArgument:objectArgument,count:count"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("_Map", _Map);
+ callParameters.put("objectArgument", objectArgument);
+ callParameters.put("count", count);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_omcocbM-EeKd56X4hcZPSw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_225);
+ stringBuffer.append(genPackage.getValidatorClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_15);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.hasConstraints());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java
new file mode 100644
index 000000000..ab6ba13d8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java
@@ -0,0 +1,289 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class XMLProcessorClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized XMLProcessorClass create(String lineSeparator) {
+ nl = lineSeparator;
+ XMLProcessorClass result = new XMLProcessorClass();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL
+ + " * This class contains helper methods to serialize and deserialize XML documents" + NL
+ + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_5 = NL + " * ";
+ protected final String TEXT_6 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_7 = NL + "@Deprecated";
+ protected final String TEXT_8 = NL + "public class ";
+ protected final String TEXT_9 = " extends ";
+ protected final String TEXT_10 = NL + "{";
+ protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_12 = " copyright = ";
+ protected final String TEXT_13 = ";";
+ protected final String TEXT_14 = NL;
+ protected final String TEXT_15 = NL + NL + "\t/**" + NL + "\t * Public constructor to instantiate the helper." + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic ";
+ protected final String TEXT_16 = "()" + NL + "\t{";
+ protected final String TEXT_17 = NL + "\t\tsuper(new ";
+ protected final String TEXT_18 = "(";
+ protected final String TEXT_19 = ".Registry.INSTANCE));" + NL + "\t\textendedMetaData.putPackage(null, ";
+ protected final String TEXT_20 = ".eINSTANCE);";
+ protected final String TEXT_21 = NL + "\t\tsuper((";
+ protected final String TEXT_22 = ".Registry.INSTANCE));" + NL + "\t\t";
+ protected final String TEXT_23 = ".eINSTANCE.eClass();";
+ protected final String TEXT_24 = NL + "\t}" + NL + "\t" + NL + "\t/**" + NL
+ + "\t * Register for \"*\" and \"xml\" file extensions the ";
+ protected final String TEXT_25 = " factory." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_26 = NL + "\t@Override";
+ protected final String TEXT_27 = NL + "\tprotected Map";
+ protected final String TEXT_28 = "<";
+ protected final String TEXT_29 = ", ";
+ protected final String TEXT_30 = ".Factory>";
+ protected final String TEXT_31 = " getRegistrations()" + NL + "\t{" + NL + "\t\tif (registrations == null)" + NL
+ + "\t\t{" + NL + "\t\t\tsuper.getRegistrations();" + NL + "\t\t\tregistrations.put(XML_EXTENSION, new ";
+ protected final String TEXT_32 = "());" + NL + "\t\t\tregistrations.put(STAR_EXTENSION, new ";
+ protected final String TEXT_33 = "());" + NL + "\t\t}" + NL + "\t\treturn registrations;" + NL + "\t}" + NL + ""
+ + NL + "} //";
+ protected final String TEXT_34 = NL;
+
+ public XMLProcessorClass() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(TEXT_34);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getModelDirectory();
+ packageName = genPackage.getUtilitiesPackageName();
+ className = genPackage.getXMLProcessorClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+ GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getUtilitiesPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.getImportedName("java.util.Map");
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_6);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genPackage.getXMLProcessorClassName());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genPackage.getImportedXMLProcessorBaseClassName());
+ stringBuffer.append(TEXT_10);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genPackage.getXMLProcessorClassName());
+ stringBuffer.append(TEXT_16);
+ if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl"));
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_20);
+ } else {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genPackage.getResourceFactoryClassName());
+ stringBuffer.append(TEXT_25);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_26);
+ }
+ stringBuffer.append(TEXT_27);
+ if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genPackage.getResourceFactoryClassName());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genPackage.getResourceFactoryClassName());
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genPackage.getXMLProcessorClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_14);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+ canGenerate = canGenerate
+ && (genPackage.hasClassifiers() && genPackage.getResource().getValue() == GenResourceKind.XML);
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..4077a7aaa
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java
@@ -0,0 +1,326 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicGetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized ClassbasicGetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicGetGenFeatureTODOoverride result = new ClassbasicGetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL + "\t\t// -> do not perform proxy resolution" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public ClassbasicGetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..b144db447
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicGetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized ClassbasicGetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicGetGenFeatureannotationsinsert result = new ClassbasicGetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassbasicGetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java
new file mode 100644
index 000000000..1b7b41c9e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java
@@ -0,0 +1,539 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicGetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ClassbasicGetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicGetGenFeatureoverride result = new ClassbasicGetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_2 = NL + "\t * ";
+ protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "\t@Deprecated";
+ protected final String TEXT_6 = NL + "\tpublic ";
+ protected final String TEXT_7 = " basicGet";
+ protected final String TEXT_8 = "()" + NL + "\t{";
+ protected final String TEXT_9 = NL + "\t\treturn (";
+ protected final String TEXT_10 = ")eDynamicGet(";
+ protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";
+ protected final String TEXT_12 = ", ";
+ protected final String TEXT_13 = ", false, ";
+ protected final String TEXT_14 = ");";
+ protected final String TEXT_15 = NL + "\t\treturn ";
+ protected final String TEXT_16 = "(";
+ protected final String TEXT_17 = ")";
+ protected final String TEXT_18 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)";
+ protected final String TEXT_19 = ").";
+ protected final String TEXT_20 = "()";
+ protected final String TEXT_21 = ";";
+ protected final String TEXT_22 = NL + "\t\tif (eContainerFeatureID() != ";
+ protected final String TEXT_23 = ") return null;" + NL + "\t\treturn (";
+ protected final String TEXT_24 = ")eInternalContainer();";
+ protected final String TEXT_25 = ")eVirtualGet(";
+ protected final String TEXT_26 = ")((";
+ protected final String TEXT_27 = ".Internal.Wrapper)get";
+ protected final String TEXT_28 = "()).featureMap().get(";
+ protected final String TEXT_29 = ", false);";
+ protected final String TEXT_30 = ")get";
+ protected final String TEXT_31 = "().get(";
+ protected final String TEXT_32 = NL + "\t\t";
+ protected final String TEXT_33 = NL + "\t}" + NL + NL;
+ protected final String TEXT_34 = NL;
+
+ public ClassbasicGetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(TEXT_34);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_3);
+ if (isJDK50) { //Class/basicGetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0l364GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mBr4GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());
+ stringBuffer.append(TEXT_14);
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_18);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ } else if (genFeature.isContainer()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_24);
+ } else if (!genFeature.isVolatile()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_14);
+ } else {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ }
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_29);
+ } else {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_29);
+ }
+ } else if (genFeature.hasGetterBody()) {
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mK10GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/basicGetGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_33);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java
new file mode 100644
index 000000000..cf1ae7789
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicGetGenFeaturepreinsert {
+ protected static String nl;
+
+ public static synchronized ClassbasicGetGenFeaturepreinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicGetGenFeaturepreinsert result = new ClassbasicGetGenFeaturepreinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassbasicGetGenFeaturepreinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..d79acfdc3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java
@@ -0,0 +1,329 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicSetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized ClassbasicSetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicSetGenFeatureTODOoverride result = new ClassbasicSetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the contained '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL
+ + "\t\t// -> this method is automatically invoked to keep the containment relationship in synch" + NL
+ + "\t\t// -> do not modify other features" + NL
+ + "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"
+ + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public ClassbasicSetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..2c101426e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicSetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized ClassbasicSetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicSetGenFeatureannotationsinsert result = new ClassbasicSetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassbasicSetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java
new file mode 100644
index 000000000..afd7a6b15
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java
@@ -0,0 +1,812 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicSetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ClassbasicSetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicSetGenFeatureoverride result = new ClassbasicSetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_2 = NL + "\t * ";
+ protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "\t@Deprecated";
+ protected final String TEXT_6 = NL + "\tpublic ";
+ protected final String TEXT_7 = " basicSet";
+ protected final String TEXT_8 = "(";
+ protected final String TEXT_9 = " new";
+ protected final String TEXT_10 = ", ";
+ protected final String TEXT_11 = " msgs)" + NL + "\t{";
+ protected final String TEXT_12 = NL + "\t\tmsgs = eBasicSetContainer(";
+ protected final String TEXT_13 = ", msgs);";
+ protected final String TEXT_14 = NL + "\t\treturn msgs;";
+ protected final String TEXT_15 = NL + "\t\tmsgs = eDynamicInverseAdd(";
+ protected final String TEXT_16 = NL + "\t\tObject old";
+ protected final String TEXT_17 = " = eVirtualSet(";
+ protected final String TEXT_18 = ", new";
+ protected final String TEXT_19 = ");";
+ protected final String TEXT_20 = NL + "\t\t";
+ protected final String TEXT_21 = " old";
+ protected final String TEXT_22 = " = ";
+ protected final String TEXT_23 = ";" + NL + "\t\t";
+ protected final String TEXT_24 = " = new";
+ protected final String TEXT_25 = ";";
+ protected final String TEXT_26 = NL + "\t\tboolean isSetChange = old";
+ protected final String TEXT_27 = " == EVIRTUAL_NO_VALUE;";
+ protected final String TEXT_28 = NL + "\t\tboolean old";
+ protected final String TEXT_29 = "ESet = (";
+ protected final String TEXT_30 = " & ";
+ protected final String TEXT_31 = "_ESETFLAG) != 0;";
+ protected final String TEXT_32 = " |= ";
+ protected final String TEXT_33 = "_ESETFLAG;";
+ protected final String TEXT_34 = "ESet = ";
+ protected final String TEXT_35 = "ESet;";
+ protected final String TEXT_36 = "ESet = true;";
+ protected final String TEXT_37 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{";
+ protected final String TEXT_38 = NL + "\t\t\t";
+ protected final String TEXT_39 = " notification = new ";
+ protected final String TEXT_40 = "(this, ";
+ protected final String TEXT_41 = ".SET, ";
+ protected final String TEXT_42 = "isSetChange ? null : old";
+ protected final String TEXT_43 = "old";
+ protected final String TEXT_44 = "isSetChange";
+ protected final String TEXT_45 = "!old";
+ protected final String TEXT_46 = "ESet";
+ protected final String TEXT_47 = " == EVIRTUAL_NO_VALUE ? null : old";
+ protected final String TEXT_48 = NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);"
+ + NL + "\t\t}";
+ protected final String TEXT_49 = NL + "\t\treturn ((";
+ protected final String TEXT_50 = ".Internal)((";
+ protected final String TEXT_51 = ".Internal.Wrapper)get";
+ protected final String TEXT_52 = "()).featureMap()).basicAdd(";
+ protected final String TEXT_53 = ".Internal)get";
+ protected final String TEXT_54 = "()).basicAdd(";
+ protected final String TEXT_55 = NL + "\t}" + NL + NL;
+ protected final String TEXT_56 = NL;
+
+ public ClassbasicSetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(TEXT_56);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_3);
+ if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mnhwGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getImportedInternalType(genClass));
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_11);
+ if (genFeature.isContainer()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxSwGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxS1GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_14);
+ } else if (genModel.isDynamicDelegation()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxSwGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxS1GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_14);
+ } else if (!genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxSwGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_19);
+ } else {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_25);
+ }
+ if (genFeature.isUnsettable()) {
+ if (genModel.isVirtualDelegation()) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_27);
+ }
+ } else if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_31);
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_33);
+ }
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_35);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_36);
+ }
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_37);
+ if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_10);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_10);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_19);
+ } else {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_10);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_48);
+ }
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxS1GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_14);
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_13);
+ } else {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_13);
+ }
+ } else {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0m6cwGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/basicSetGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_55);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java
new file mode 100644
index 000000000..d6976e48d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicSetGenFeaturepostinsert {
+ protected static String nl;
+
+ public static synchronized ClassbasicSetGenFeaturepostinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicSetGenFeaturepostinsert result = new ClassbasicSetGenFeaturepostinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassbasicSetGenFeaturepostinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java
new file mode 100644
index 000000000..5c13d9cc5
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicSetGenFeaturepreinsert {
+ protected static String nl;
+
+ public static synchronized ClassbasicSetGenFeaturepreinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicSetGenFeaturepreinsert result = new ClassbasicSetGenFeaturepreinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassbasicSetGenFeaturepreinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..496cf1530
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java
@@ -0,0 +1,329 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicUnsetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized ClassbasicUnsetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicUnsetGenFeatureTODOoverride result = new ClassbasicUnsetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the contained '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL
+ + "\t\t// -> this method is automatically invoked to keep the containment relationship in synch" + NL
+ + "\t\t// -> do not modify other features" + NL
+ + "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"
+ + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public ClassbasicUnsetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..ad7ce5803
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicUnsetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized ClassbasicUnsetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicUnsetGenFeatureannotationsinsert result = new ClassbasicUnsetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassbasicUnsetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java
new file mode 100644
index 000000000..254fb7f3e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java
@@ -0,0 +1,550 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicUnsetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ClassbasicUnsetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassbasicUnsetGenFeatureoverride result = new ClassbasicUnsetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_2 = NL + "\t * ";
+ protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "\t@Deprecated";
+ protected final String TEXT_6 = NL + "\tpublic ";
+ protected final String TEXT_7 = " basicUnset";
+ protected final String TEXT_8 = "(";
+ protected final String TEXT_9 = " msgs)" + NL + "\t{";
+ protected final String TEXT_10 = NL + "\t\treturn eDynamicInverseRemove(";
+ protected final String TEXT_11 = "basicGet";
+ protected final String TEXT_12 = "(), ";
+ protected final String TEXT_13 = ", msgs);";
+ protected final String TEXT_14 = "Object old";
+ protected final String TEXT_15 = " = ";
+ protected final String TEXT_16 = "eVirtualUnset(";
+ protected final String TEXT_17 = ");";
+ protected final String TEXT_18 = NL + "\t\t";
+ protected final String TEXT_19 = " old";
+ protected final String TEXT_20 = ";";
+ protected final String TEXT_21 = " = null;";
+ protected final String TEXT_22 = NL + "\t\tboolean isSetChange = old";
+ protected final String TEXT_23 = " != EVIRTUAL_NO_VALUE;";
+ protected final String TEXT_24 = NL + "\t\tboolean old";
+ protected final String TEXT_25 = "ESet = (";
+ protected final String TEXT_26 = " & ";
+ protected final String TEXT_27 = "_ESETFLAG) != 0;";
+ protected final String TEXT_28 = " &= ~";
+ protected final String TEXT_29 = "_ESETFLAG;";
+ protected final String TEXT_30 = "ESet = ";
+ protected final String TEXT_31 = "ESet;";
+ protected final String TEXT_32 = "ESet = false;";
+ protected final String TEXT_33 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_34 = " notification = new ";
+ protected final String TEXT_35 = "(this, ";
+ protected final String TEXT_36 = ".UNSET, ";
+ protected final String TEXT_37 = ", ";
+ protected final String TEXT_38 = "isSetChange ? old";
+ protected final String TEXT_39 = " : null";
+ protected final String TEXT_40 = "old";
+ protected final String TEXT_41 = ", null, ";
+ protected final String TEXT_42 = "isSetChange";
+ protected final String TEXT_43 = "ESet";
+ protected final String TEXT_44 = ");" + NL
+ + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}" + NL
+ + "\t\treturn msgs;";
+ protected final String TEXT_45 = NL + "\t}" + NL + NL;
+ protected final String TEXT_46 = NL;
+
+ public ClassbasicUnsetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(TEXT_46);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_3);
+ if (isJDK50) { //Class/basicUnsetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qpGIGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_9);
+ if (genModel.isDynamicDelegation()) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getAsInternalEObject("", false));
+ if (genFeature.isResolveProxies()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getAccessorName());
+ } else {
+ stringBuffer.append(genFeature.getGetAccessor());
+ }
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_13);
+ } else if (!genFeature.isVolatile()) {
+ if (genModel.isVirtualDelegation()) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_15);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ }
+ if (genModel.isVirtualDelegation()) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_23);
+ }
+ } else if (genClass.isESetFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_29);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_32);
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_37);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_39);
+ } else {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_41);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_42);
+ } else {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_43);
+ }
+ stringBuffer.append(TEXT_44);
+ }
+ } else {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qy3IGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/basicUnsetGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_45);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java
new file mode 100644
index 000000000..209e95592
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassdeclaredFieldGenFeatureinsert {
+ protected static String nl;
+
+ public static synchronized ClassdeclaredFieldGenFeatureinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassdeclaredFieldGenFeatureinsert result = new ClassdeclaredFieldGenFeatureinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassdeclaredFieldGenFeatureinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java
new file mode 100644
index 000000000..1c61949d6
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java
@@ -0,0 +1,780 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassdeclaredFieldGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ClassdeclaredFieldGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassdeclaredFieldGenFeatureoverride result = new ClassdeclaredFieldGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached setting delegate for the '{@link #";
+ protected final String TEXT_3 = "() <em>";
+ protected final String TEXT_4 = "</em>}' ";
+ protected final String TEXT_5 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @see #";
+ protected final String TEXT_6 = "()";
+ protected final String TEXT_7 = NL + "\t * ";
+ protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_9 = NL + "\t@";
+ protected final String TEXT_10 = NL + "\t@Deprecated";
+ protected final String TEXT_11 = NL + "\tprotected ";
+ protected final String TEXT_12 = ".Internal.SettingDelegate ";
+ protected final String TEXT_13 = "__ESETTING_DELEGATE = ((";
+ protected final String TEXT_14 = ".Internal)";
+ protected final String TEXT_15 = ").getSettingDelegate();" + NL;
+ protected final String TEXT_16 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";
+ protected final String TEXT_17 = " ";
+ protected final String TEXT_18 = ";" + NL;
+ protected final String TEXT_19 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";
+ protected final String TEXT_20 = "</em>}' array accessor." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+ protected final String TEXT_21 = NL + "\t@SuppressWarnings(\"rawtypes\")";
+ protected final String TEXT_22 = NL + "\tprotected static final ";
+ protected final String TEXT_23 = "[] ";
+ protected final String TEXT_24 = "_EEMPTY_ARRAY = new ";
+ protected final String TEXT_25 = " [0]";
+ protected final String TEXT_26 = NL + "\t/**" + NL + "\t * The default value of the '{@link #";
+ protected final String TEXT_27 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_28 = "; // TODO The default value literal \"";
+ protected final String TEXT_29 = "\" is not valid.";
+ protected final String TEXT_30 = " = ";
+ protected final String TEXT_31 = ";";
+ protected final String TEXT_32 = NL;
+ protected final String TEXT_33 = NL + "\t/**" + NL
+ + "\t * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_34 = NL + "\tprotected int ";
+ protected final String TEXT_35 = " = 0;" + NL;
+ protected final String TEXT_36 = NL + "\t/**" + NL
+ + "\t * The offset of the flags representing the value of the '{@link #";
+ protected final String TEXT_37 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_38 = NL + "\tprotected static final int ";
+ protected final String TEXT_39 = "_EFLAG_OFFSET = ";
+ protected final String TEXT_40 = ";" + NL + "" + NL + "\t/**" + NL
+ + "\t * The flags representing the default value of the '{@link #";
+ protected final String TEXT_41 = "_EFLAG_DEFAULT = ";
+ protected final String TEXT_42 = ".ordinal()";
+ protected final String TEXT_43 = ".VALUES.indexOf(";
+ protected final String TEXT_44 = ")";
+ protected final String TEXT_45 = " << ";
+ protected final String TEXT_46 = "_EFLAG_OFFSET;" + NL + "" + NL + "\t/**" + NL
+ + "\t * The array of enumeration values for '{@link ";
+ protected final String TEXT_47 = "}'" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_48 = NL + "\tprivate static final ";
+ protected final String TEXT_49 = "_EFLAG_VALUES = ";
+ protected final String TEXT_50 = ".values()";
+ protected final String TEXT_51 = "(";
+ protected final String TEXT_52 = "[])";
+ protected final String TEXT_53 = ".VALUES.toArray(new ";
+ protected final String TEXT_54 = "[";
+ protected final String TEXT_55 = ".VALUES.size()])";
+ protected final String TEXT_56 = NL + "\t/**" + NL + "\t * The flag";
+ protected final String TEXT_57 = " representing the value of the '{@link #";
+ protected final String TEXT_58 = "_EFLAG = ";
+ protected final String TEXT_59 = "_EFLAG_OFFSET";
+ protected final String TEXT_60 = NL + "\t/**" + NL + "\t * The flag representing whether the ";
+ protected final String TEXT_61 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_62 = "_ESETFLAG = 1 << ";
+ protected final String TEXT_63 = NL + "\t/**" + NL + "\t * This is true if the ";
+ protected final String TEXT_64 = NL + "\tprotected boolean ";
+ protected final String TEXT_65 = "ESet;" + NL;
+ protected final String TEXT_66 = NL;
+
+ public ClassdeclaredFieldGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(TEXT_66);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_15);
+ } else if (genFeature.isListType() || genFeature.isReferenceType()) {
+ if (genClass.isField(genFeature)) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getImportedInternalType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_18);
+ }
+ if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+ && !genFeature.isMapType()) {
+ String rawListItemType = genFeature.getRawListItemType(genClass);
+ int index = rawListItemType.indexOf('[');
+ String head = rawListItemType;
+ String tail = "";
+ if (index != -1) {
+ head = rawListItemType.substring(0, index);
+ tail = rawListItemType.substring(index);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (genFeature.getQualifiedListItemType(genClass).contains("<")
+ || genFeature.getArrayItemType(genClass).contains("<")) {
+ stringBuffer.append(TEXT_21);
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(rawListItemType);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(head);
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(tail);
+ stringBuffer.append(TEXT_18);
+ }
+ } else {
+ if (genFeature.hasEDefault() && (!genFeature.isVolatile() || !genModel.isReflectiveDelegation()
+ && (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) {
+ String staticDefaultValue = genFeature.getStaticDefaultValue();
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {
+ stringBuffer.append(TEXT_27);
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getEDefault());
+ if ("".equals(staticDefaultValue)) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getEcoreFeature().getDefaultValueLiteral());
+ stringBuffer.append(TEXT_29);
+ } else {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(staticDefaultValue);
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genModel.getNonNLS(staticDefaultValue));
+ }
+ stringBuffer.append(TEXT_32);
+ }
+ if (genClass.isField(genFeature)) {
+ if (genClass.isFlag(genFeature)) {
+ int flagIndex = genClass.getFlagIndex(genFeature);
+ if (flagIndex > 31 && flagIndex % 32 == 0) {
+ stringBuffer.append(TEXT_33);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer
+ .append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_35);
+ }
+ if (genFeature.isEnumType()) {
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_37);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(flagIndex % 32);
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_37);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_41);
+ if (isJDK50) {
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_42);
+ } else {
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_44);
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getTypeGenClassifier().getFormattedName());
+ stringBuffer.append(TEXT_47);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_49);
+ if (isJDK50) {
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_50);
+ } else {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_55);
+ }
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genClass.getFlagSize(genFeature) > 1 ? "s" : "");
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genClass.getFlagMask(genFeature));
+ stringBuffer.append(TEXT_45);
+ if (genFeature.isEnumType()) {
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_59);
+ } else {
+ stringBuffer.append(flagIndex % 32);
+ }
+ stringBuffer.append(TEXT_18);
+ } else {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getSafeName());
+ if (genFeature.hasEDefault()) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getEDefault());
+ }
+ stringBuffer.append(TEXT_18);
+ }
+ }
+ }
+ if (genClass.isESetField(genFeature)) {
+ if (genClass.isESetFlag(genFeature)) {
+ int flagIndex = genClass.getESetFlagIndex(genFeature);
+ if (flagIndex > 31 && flagIndex % 32 == 0) {
+ stringBuffer.append(TEXT_33);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_35);
+ }
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_61);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(flagIndex % 32);
+ stringBuffer.append(TEXT_18);
+ } else {
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_61);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_65);
+ }
+ }
+ stringBuffer.append(TEXT_32);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0jyQMGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_32);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicDelegation.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicDelegation.java
new file mode 100644
index 000000000..d7695fda1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicDelegation.java
@@ -0,0 +1,304 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassdynamicDelegation {
+ protected static String nl;
+
+ public static synchronized ClassdynamicDelegation create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassdynamicDelegation result = new ClassdynamicDelegation();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassdynamicDelegation() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepostinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepostinsert.java
new file mode 100644
index 000000000..e59991509
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepostinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassdynamicSetGenFeaturepostinsert {
+ protected static String nl;
+
+ public static synchronized ClassdynamicSetGenFeaturepostinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassdynamicSetGenFeaturepostinsert result = new ClassdynamicSetGenFeaturepostinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassdynamicSetGenFeaturepostinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> setAccessorOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object setAccessorOperationParameter : setAccessorOperationList) {
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+ public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.setAccessorOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("setAccessorOperation", this.setAccessorOperation);
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepreinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepreinsert.java
new file mode 100644
index 000000000..f8542b6ed
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdynamicSetGenFeaturepreinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassdynamicSetGenFeaturepreinsert {
+ protected static String nl;
+
+ public static synchronized ClassdynamicSetGenFeaturepreinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassdynamicSetGenFeaturepreinsert result = new ClassdynamicSetGenFeaturepreinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassdynamicSetGenFeaturepreinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> setAccessorOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object setAccessorOperationParameter : setAccessorOperationList) {
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+ public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.setAccessorOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("setAccessorOperation", this.setAccessorOperation);
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java
new file mode 100644
index 000000000..39d6c4f6f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java
@@ -0,0 +1,587 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasseIsSetoverride {
+ protected static String nl;
+
+ public static synchronized ClasseIsSetoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClasseIsSetoverride result = new ClasseIsSetoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_2 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_3 = NL + "\t@Override";
+ protected final String TEXT_4 = NL + "\tpublic boolean eIsSet(int featureID)" + NL + "\t{" + NL
+ + "\t\tswitch (featureID";
+ protected final String TEXT_5 = ")" + NL + "\t\t{";
+ protected final String TEXT_6 = NL + "\t\t\tcase ";
+ protected final String TEXT_7 = ":";
+ protected final String TEXT_8 = NL + "\t\t\t\treturn isSet";
+ protected final String TEXT_9 = "();";
+ protected final String TEXT_10 = NL + "\t\t\t\treturn ";
+ protected final String TEXT_11 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";
+ protected final String TEXT_12 = NL + "\t\t\t\treturn !((";
+ protected final String TEXT_13 = ".Internal.Wrapper)";
+ protected final String TEXT_14 = "()).featureMap().isEmpty();";
+ protected final String TEXT_15 = " != null && !";
+ protected final String TEXT_16 = ".featureMap().isEmpty();";
+ protected final String TEXT_17 = ".isEmpty();";
+ protected final String TEXT_18 = NL + "\t\t\t\t";
+ protected final String TEXT_19 = " ";
+ protected final String TEXT_20 = " = (";
+ protected final String TEXT_21 = ")eVirtualGet(";
+ protected final String TEXT_22 = ");" + NL + "\t\t\t\treturn ";
+ protected final String TEXT_23 = NL + "\t\t\t\treturn !";
+ protected final String TEXT_24 = "().isEmpty();";
+ protected final String TEXT_25 = " != null;";
+ protected final String TEXT_26 = NL + "\t\t\t\treturn eVirtualGet(";
+ protected final String TEXT_27 = ") != null;";
+ protected final String TEXT_28 = NL + "\t\t\t\treturn basicGet";
+ protected final String TEXT_29 = "() != null;";
+ protected final String TEXT_30 = NL + "\t\t\t\treturn ((";
+ protected final String TEXT_31 = " & ";
+ protected final String TEXT_32 = "_EFLAG) != 0) != ";
+ protected final String TEXT_33 = ";";
+ protected final String TEXT_34 = NL + "\t\t\t\treturn (";
+ protected final String TEXT_35 = "_EFLAG) != ";
+ protected final String TEXT_36 = "_EFLAG_DEFAULT;";
+ protected final String TEXT_37 = " != ";
+ protected final String TEXT_38 = ", ";
+ protected final String TEXT_39 = ") != ";
+ protected final String TEXT_40 = "() != ";
+ protected final String TEXT_41 = " == null ? ";
+ protected final String TEXT_42 = " != null : !";
+ protected final String TEXT_43 = ".equals(";
+ protected final String TEXT_44 = ");";
+ protected final String TEXT_45 = "() != null : !";
+ protected final String TEXT_46 = "());";
+ protected final String TEXT_47 = NL + "\t\t\tdefault:";
+ protected final String TEXT_48 = NL + "\t\t}";
+ protected final String TEXT_49 = NL;
+ protected final String TEXT_50 = "\t\treturn super.eIsSet(featureID);";
+ protected final String TEXT_51 = "\t\treturn eDynamicIsSet(featureID);";
+ protected final String TEXT_52 = NL + "\t}" + NL + NL;
+ protected final String TEXT_53 = NL;
+
+ public ClasseIsSetoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(TEXT_53);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genModel.useGenerics()) {
+ for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {
+ if (genFeature.isListType() && !genFeature.isUnsettable() && !genFeature.isWrappedFeatureMapType()
+ && !genClass.isField(genFeature) && genFeature.isField()
+ && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_2);
+ break;
+ }
+ }
+ }
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_5);
+ for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {
+ String safeNameAccessor = genFeature.getSafeName();
+ if ("featureID".equals(safeNameAccessor)) {
+ safeNameAccessor = "this." + safeNameAccessor;
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_7);
+ if (genFeature.hasSettingDelegate()) {
+ if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_9);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_11);
+ }
+ } else if (genFeature.isListType() && !genFeature.isUnsettable()) {
+ if (genFeature.isWrappedFeatureMapType()) {
+ if (genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_14);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_16);
+ }
+ } else {
+ if (genClass.isField(genFeature)) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_17);
+ } else {
+ if (genFeature.isField()
+ && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_17);
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_24);
+ }
+ }
+ }
+ } else if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_9);
+ } else if (genFeature.isResolveProxies()) {
+ if (genClass.isField(genFeature)) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_25);
+ } else {
+ if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_27);
+ } else {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_29);
+ }
+ }
+ } else if (!genFeature.hasEDefault()) {
+ if (genClass.isField(genFeature)) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_25);
+ } else {
+ if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_27);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_29);
+ }
+ }
+ } else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {
+ if (genClass.isField(genFeature)) {
+ if (genClass.isFlag(genFeature)) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_33);
+ } else {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_36);
+ }
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_33);
+ }
+ } else {
+ if (genFeature.isEnumType() && genFeature.isField()
+ && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_33);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_33);
+ }
+ }
+ } else {//datatype
+ if (genClass.isField(genFeature)) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_44);
+ } else {
+ if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_46);
+ }
+ }
+ }
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_47);
+ } else { // {
+ stringBuffer.append(TEXT_48);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_50);
+ } else {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_51);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_48);
+ } // }
+ stringBuffer.append(TEXT_52);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java
new file mode 100644
index 000000000..6ed5d10d4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java
@@ -0,0 +1,401 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasseUnsetoverride {
+ protected static String nl;
+
+ public static synchronized ClasseUnsetoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClasseUnsetoverride result = new ClasseUnsetoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_2 = NL + "\t@Override";
+ protected final String TEXT_3 = NL + "\tpublic void eUnset(int featureID)" + NL + "\t{" + NL
+ + "\t\tswitch (featureID";
+ protected final String TEXT_4 = ")" + NL + "\t\t{";
+ protected final String TEXT_5 = NL + "\t\t\tcase ";
+ protected final String TEXT_6 = ":";
+ protected final String TEXT_7 = NL + "\t\t\t\t((";
+ protected final String TEXT_8 = ".Internal.Wrapper)";
+ protected final String TEXT_9 = "()).featureMap().clear();";
+ protected final String TEXT_10 = NL + "\t\t\t\t";
+ protected final String TEXT_11 = "().clear();";
+ protected final String TEXT_12 = NL + "\t\t\t\tunset";
+ protected final String TEXT_13 = "();";
+ protected final String TEXT_14 = NL + "\t\t\t\tset";
+ protected final String TEXT_15 = "((";
+ protected final String TEXT_16 = ")null);";
+ protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";
+ protected final String TEXT_18 = "(";
+ protected final String TEXT_19 = ");";
+ protected final String TEXT_20 = NL + "\t\t\t\treturn;";
+ protected final String TEXT_21 = NL + "\t\t\tdefault:";
+ protected final String TEXT_22 = NL + "\t\t}";
+ protected final String TEXT_23 = NL;
+ protected final String TEXT_24 = "\t\tsuper.eUnset(featureID);";
+ protected final String TEXT_25 = "\t\teDynamicUnset(featureID);";
+ protected final String TEXT_26 = NL + "\t}" + NL + NL;
+ protected final String TEXT_27 = NL;
+
+ public ClasseUnsetoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(TEXT_27);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_2);
+ }
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_4);
+ for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_6);
+ if (genFeature.isListType() && !genFeature.isUnsettable()) {
+ if (genFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_9);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_11);
+ }
+ } else if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_13);
+ } else if (!genFeature.hasEDefault()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_16);
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_17);
+ } else {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_21);
+ } else { // {
+ stringBuffer.append(TEXT_22);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_24);
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_20);
+ }
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_25);
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_20);
+ }
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_22);
+ } // }
+ stringBuffer.append(TEXT_26);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassegfCustomconstructoroverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassegfCustomconstructoroverride.java
new file mode 100644
index 000000000..151f8a220
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassegfCustomconstructoroverride.java
@@ -0,0 +1,305 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassegfCustomconstructoroverride {
+ protected static String nl;
+
+ public static synchronized ClassegfCustomconstructoroverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassegfCustomconstructoroverride result = new ClassegfCustomconstructoroverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\tsuper();" + NL;
+ protected final String TEXT_2 = NL;
+
+ public ClassegfCustomconstructoroverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java
new file mode 100644
index 000000000..fd468912e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java
@@ -0,0 +1,715 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenFeatureReifiedoverride {
+ protected static String nl;
+
+ public static synchronized ClassgenFeatureReifiedoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgenFeatureReifiedoverride result = new ClassgenFeatureReifiedoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL
+ + "\t * This is specialized for the more specific element type known in this context." + NL + "\t * @see #";
+ protected final String TEXT_3 = "()";
+ protected final String TEXT_4 = NL + "\t * ";
+ protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_6 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_7 = NL + "\t@Deprecated";
+ protected final String TEXT_8 = NL + "\t@Override";
+ protected final String TEXT_9 = NL + "\tpublic ";
+ protected final String TEXT_10 = "[] ";
+ protected final String TEXT_11 = "()" + NL + "\t{";
+ protected final String TEXT_12 = NL + "\t\t";
+ protected final String TEXT_13 = " list = (";
+ protected final String TEXT_14 = ")";
+ protected final String TEXT_15 = "();" + NL + "\t\tif (list.isEmpty()) return ";
+ protected final String TEXT_16 = "_EEMPTY_ARRAY;";
+ protected final String TEXT_17 = NL + "\t\tif (";
+ protected final String TEXT_18 = " == null || ";
+ protected final String TEXT_19 = ".isEmpty()) return ";
+ protected final String TEXT_20 = "_EEMPTY_ARRAY;" + NL + "\t\t";
+ protected final String TEXT_21 = ";";
+ protected final String TEXT_22 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";
+ protected final String TEXT_23 = "[])list.data();" + NL + "\t}" + NL;
+ protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL
+ + "\t * This is specialized for the more specific element type known in this context.";
+ protected final String TEXT_25 = NL;
+ protected final String TEXT_26 = " ";
+ protected final String TEXT_27 = "_";
+ protected final String TEXT_28 = " = (";
+ protected final String TEXT_29 = ")eVirtualGet(";
+ protected final String TEXT_30 = ");";
+ protected final String TEXT_31 = " == null)" + NL + "\t\t{";
+ protected final String TEXT_32 = NL + "\t\t\teVirtualSet(";
+ protected final String TEXT_33 = ", ";
+ protected final String TEXT_34 = " = new ";
+ protected final String TEXT_35 = NL + "\t\t\t";
+ protected final String TEXT_36 = NL + "\t\t}" + NL + "\t\treturn ";
+ protected final String TEXT_37 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_38 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL
+ + "\t * This is specialized for the more specific type known in this context.";
+ protected final String TEXT_39 = " basicSet";
+ protected final String TEXT_40 = "(";
+ protected final String TEXT_41 = " new";
+ protected final String TEXT_42 = " msgs)" + NL + "\t{" + NL + "\t\treturn super.basicSet";
+ protected final String TEXT_43 = "(new";
+ protected final String TEXT_44 = ", msgs);" + NL + "\t}" + NL;
+ protected final String TEXT_45 = NL + "\tpublic void set";
+ protected final String TEXT_46 = ")" + NL + "\t{" + NL + "\t\tsuper.set";
+ protected final String TEXT_47 = ");" + NL + "\t}" + NL;
+ protected final String TEXT_48 = NL;
+
+ public ClassgenFeatureReifiedoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> classExtendsGenClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> classExtendsAllGenFeaturesList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object classExtendsGenClassParameter : classExtendsGenClassList) {
+ for (Object classExtendsAllGenFeaturesParameter : classExtendsAllGenFeaturesList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.classExtendsGenClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) classExtendsGenClassParameter;
+ this.classExtendsAllGenFeatures = (java.util.List) classExtendsAllGenFeaturesParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(TEXT_48);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("classExtendsGenClass", this.classExtendsGenClass);
+ parameterValues.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass classExtendsGenClass = null;
+
+ public void set_classExtendsGenClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.classExtendsGenClass = object;
+ }
+
+ protected java.util.List classExtendsAllGenFeatures = null;
+
+ public void set_classExtendsAllGenFeatures(java.util.List object) {
+ this.classExtendsAllGenFeatures = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("classExtendsGenClass", this.classExtendsGenClass);
+ parameters.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+ && !genFeature.isMapType()) {
+ String arrayElementType = genFeature.getArrayItemType(genClass);
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(arrayElementType);
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_11);
+ if (genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_16);
+ } else {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(arrayElementType);
+ stringBuffer.append(TEXT_23);
+ }
+ if (genFeature.isGet() && genFeature.isListType()) {
+ stringBuffer.append(TEXT_24);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_25);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lIUFGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (genFeature.isListType() && genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getGetAccessor());
+ if (genClass.hasCollidingGetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(TEXT_25);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lSFDGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_31);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getListConstructor(genFeature));
+ stringBuffer.append(TEXT_30);
+ } else {
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getListConstructor(genFeature));
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");
+ stringBuffer.append(TEXT_37);
+ }
+ if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {
+ stringBuffer.append(TEXT_38);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_25);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mnhwGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ if (classExtendsAllGenFeatures.contains(genFeature)) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getImportedInternalType(genClass));
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_44);
+ }
+ if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {
+ stringBuffer.append(TEXT_38);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_25);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nqqoGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ {
+ GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ if (classExtendsAllGenFeatures.contains(genFeature)) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getAccessorName());
+ if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+ : setAccessorOperation.getGenParameters().get(0).getName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getAccessorName());
+ if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+ : setAccessorOperation.getGenParameters().get(0).getName());
+ stringBuffer.append(TEXT_47);
+ }
+ }
+ stringBuffer.append(TEXT_25);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java
new file mode 100644
index 000000000..ade48a5aa
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenFeatureinsert {
+ protected static String nl;
+
+ public static synchronized ClassgenFeatureinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgenFeatureinsert result = new ClassgenFeatureinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassgenFeatureinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java
new file mode 100644
index 000000000..74eb5338d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java
@@ -0,0 +1,841 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ClassgenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgenFeatureoverride result = new ClassgenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_3 = NL + "\t * ";
+ protected final String TEXT_4 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_5 = NL + "\t";
+ protected final String TEXT_6 = "[] ";
+ protected final String TEXT_7 = "();" + NL;
+ protected final String TEXT_8 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_9 = NL + "\t@Deprecated";
+ protected final String TEXT_10 = NL + "\t@Override";
+ protected final String TEXT_11 = NL + "\tpublic ";
+ protected final String TEXT_12 = "()" + NL + "\t{";
+ protected final String TEXT_13 = NL + "\t\t";
+ protected final String TEXT_14 = " list = (";
+ protected final String TEXT_15 = ")";
+ protected final String TEXT_16 = "();" + NL + "\t\tif (list.isEmpty()) return ";
+ protected final String TEXT_17 = "_EEMPTY_ARRAY;";
+ protected final String TEXT_18 = NL + "\t\tif (";
+ protected final String TEXT_19 = " == null || ";
+ protected final String TEXT_20 = ".isEmpty()) return ";
+ protected final String TEXT_21 = "_EEMPTY_ARRAY;" + NL + "\t\t";
+ protected final String TEXT_22 = ";";
+ protected final String TEXT_23 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";
+ protected final String TEXT_24 = "[])list.data();" + NL + "\t}" + NL;
+ protected final String TEXT_25 = " get";
+ protected final String TEXT_26 = "(int index);" + NL;
+ protected final String TEXT_27 = "(int index)" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_28 = "(";
+ protected final String TEXT_29 = "().get(index);" + NL + "\t}" + NL;
+ protected final String TEXT_30 = NL + "\tint get";
+ protected final String TEXT_31 = "Length();" + NL;
+ protected final String TEXT_32 = NL + "\tpublic int get";
+ protected final String TEXT_33 = "Length()" + NL + "\t{";
+ protected final String TEXT_34 = NL + "\t\treturn ";
+ protected final String TEXT_35 = "().size();";
+ protected final String TEXT_36 = " == null ? 0 : ";
+ protected final String TEXT_37 = ".size();";
+ protected final String TEXT_38 = NL + "\t}" + NL;
+ protected final String TEXT_39 = NL + "\tvoid set";
+ protected final String TEXT_40 = "[] new";
+ protected final String TEXT_41 = ");" + NL;
+ protected final String TEXT_42 = NL + "\tpublic void set";
+ protected final String TEXT_43 = ")" + NL + "\t{" + NL + "\t\t((";
+ protected final String TEXT_44 = "()).setData(new";
+ protected final String TEXT_45 = ".length, new";
+ protected final String TEXT_46 = ");" + NL + "\t}" + NL;
+ protected final String TEXT_47 = "(int index, ";
+ protected final String TEXT_48 = " element);" + NL;
+ protected final String TEXT_49 = " element)" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_50 = "().set(index, element);" + NL + "\t}" + NL;
+ protected final String TEXT_51 = NL;
+ protected final String TEXT_52 = NL;
+
+ public ClassgenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(TEXT_52);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+ && !genFeature.isMapType()) {
+ String arrayElementType = genFeature.getArrayItemType(genClass);
+ stringBuffer.append(TEXT_2);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_4);
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(arrayElementType);
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_7);
+ } else {
+ if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {
+ stringBuffer.append(TEXT_8);
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(arrayElementType);
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_12);
+ if (genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_17);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(arrayElementType);
+ stringBuffer.append(TEXT_24);
+ }
+ stringBuffer.append(TEXT_2);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_4);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_26);
+ } else {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_27);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_15);
+ }
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_29);
+ }
+ stringBuffer.append(TEXT_2);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_4);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_31);
+ } else {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_33);
+ if (genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_35);
+ } else {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_37);
+ }
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_2);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_4);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_41);
+ } else {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_2);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_4);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_48);
+ } else {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_50);
+ }
+ }
+ if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kh3EGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/getGenFeature.override.javajetinc
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicGet()) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lk_8GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/basicGetGenFeature.override.javajetinc
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mUm0GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/basicSetGenFeature.override.javajetinc
+ }
+ if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nN-sGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/setGenFeature.override.javajetinc
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicUnset()) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qfVIGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class.basicUnsetGenFeature.override.javajetinc
+ }
+ if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0q8BEGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/unsetGenFeature.override.javajetinc
+ }
+ if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sIT4GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/isSetGenFeature.override.javajetinc
+ }
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0s36wGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_51);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java
new file mode 100644
index 000000000..cb1e18009
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenOperationannotationsinsert {
+ protected static String nl;
+
+ public static synchronized ClassgenOperationannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgenOperationannotationsinsert result = new ClassgenOperationannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassgenOperationannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java
new file mode 100644
index 000000000..7cd06c5cb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenOperationinsert {
+ protected static String nl;
+
+ public static synchronized ClassgenOperationinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgenOperationinsert result = new ClassgenOperationinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassgenOperationinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java
new file mode 100644
index 000000000..6bf7112e7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenOperationjavadocinsert {
+ protected static String nl;
+
+ public static synchronized ClassgenOperationjavadocinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgenOperationjavadocinsert result = new ClassgenOperationjavadocinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassgenOperationjavadocinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java
new file mode 100644
index 000000000..5c9181e43
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java
@@ -0,0 +1,406 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenOperationjavadocoverride {
+ protected static String nl;
+
+ public static synchronized ClassgenOperationjavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgenOperationjavadocoverride result = new ClassgenOperationjavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_4 = NL + "\t * <!-- begin-model-doc -->";
+ protected final String TEXT_5 = NL + "\t * ";
+ protected final String TEXT_6 = NL + "\t * @param ";
+ protected final String TEXT_7 = NL + "\t * ";
+ protected final String TEXT_8 = " ";
+ protected final String TEXT_9 = NL + "\t * <!-- end-model-doc -->";
+ protected final String TEXT_10 = NL + "\t * @model ";
+ protected final String TEXT_11 = NL + "\t * ";
+ protected final String TEXT_12 = NL + "\t * @model";
+ protected final String TEXT_13 = NL + "\t * @generated" + NL + "\t */" + NL;
+ protected final String TEXT_14 = NL;
+
+ public ClassgenOperationjavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_14);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0toIsGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_3);
+ if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {
+ stringBuffer.append(TEXT_4);
+ if (genOperation.hasDocumentation()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genOperation.getDocumentation(genModel.getIndentation(stringBuffer)));
+ }
+ for (GenParameter genParameter : genOperation.getGenParameters()) {
+ if (genParameter.hasDocumentation()) {
+ String documentation = genParameter.getDocumentation("");
+ if (documentation.contains("\n") || documentation.contains("\r")) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genParameter.getName());
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genParameter.getName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));
+ }
+ }
+ }
+ stringBuffer.append(TEXT_9);
+ }
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genOperation.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_12);
+ }
+ }
+ stringBuffer.append(TEXT_13);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java
new file mode 100644
index 000000000..c3dfff686
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java
@@ -0,0 +1,751 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenOperationoverride {
+ protected static String nl;
+
+ public static synchronized ClassgenOperationoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgenOperationoverride result = new ClassgenOperationoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached validation expression for the '{@link #";
+ protected final String TEXT_3 = "(";
+ protected final String TEXT_4 = ") <em>";
+ protected final String TEXT_5 = "</em>}' invariant operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+ protected final String TEXT_6 = ")";
+ protected final String TEXT_7 = NL + "\t * ";
+ protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_9 = NL + "\t@Deprecated";
+ protected final String TEXT_10 = NL + "\tprotected static final ";
+ protected final String TEXT_11 = " ";
+ protected final String TEXT_12 = "__EEXPRESSION = \"";
+ protected final String TEXT_13 = "\";";
+ protected final String TEXT_14 = NL;
+ protected final String TEXT_15 = NL + "\t/**" + NL + "\t * The cached invocation delegate for the '{@link #";
+ protected final String TEXT_16 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+ protected final String TEXT_17 = ".Internal.InvocationDelegate ";
+ protected final String TEXT_18 = "__EINVOCATION_DELEGATE = ((";
+ protected final String TEXT_19 = ".Internal)";
+ protected final String TEXT_20 = ").getInvocationDelegate();" + NL;
+ protected final String TEXT_21 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_22 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_23 = NL + "\t";
+ protected final String TEXT_24 = ";" + NL;
+ protected final String TEXT_25 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_26 = NL + "\t@Override";
+ protected final String TEXT_27 = NL + "\tpublic ";
+ protected final String TEXT_28 = NL + "\t{";
+ protected final String TEXT_29 = NL + "\t\t";
+ protected final String TEXT_30 = NL + "\t\treturn" + NL + "\t\t\t";
+ protected final String TEXT_31 = ".validate" + NL + "\t\t\t\t(";
+ protected final String TEXT_32 = "," + NL + "\t\t\t\t this," + NL + "\t\t\t\t ";
+ protected final String TEXT_33 = "," + NL + "\t\t\t\t ";
+ protected final String TEXT_34 = "," + NL + "\t\t\t\t \"";
+ protected final String TEXT_35 = "\",";
+ protected final String TEXT_36 = NL + "\t\t\t\t ";
+ protected final String TEXT_37 = "__EEXPRESSION," + NL + "\t\t\t\t ";
+ protected final String TEXT_38 = ".ERROR," + NL + "\t\t\t\t ";
+ protected final String TEXT_39 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t ";
+ protected final String TEXT_40 = ".";
+ protected final String TEXT_41 = ");";
+ protected final String TEXT_42 = NL + "\t\t// TODO: implement this method" + NL
+ + "\t\t// -> specify the condition that violates the invariant" + NL
+ + "\t\t// -> verify the details of the diagnostic, including severity and message" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL
+ + "\t\t{" + NL + "\t\t\tif (";
+ protected final String TEXT_43 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+ protected final String TEXT_44 = ".add" + NL + "\t\t\t\t\t(new ";
+ protected final String TEXT_45 = NL + "\t\t\t\t\t\t(";
+ protected final String TEXT_46 = ".ERROR," + NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_47 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_48 = "," + NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_49 = ".INSTANCE.getString(\"_UI_GenericInvariant_diagnostic\", new Object[] { \"";
+ protected final String TEXT_50 = "\", ";
+ protected final String TEXT_51 = ".getObjectLabel(this, ";
+ protected final String TEXT_52 = ") }),";
+ protected final String TEXT_53 = NL + "\t\t\t\t\t\t new Object [] { this }));" + NL + "\t\t\t}" + NL
+ + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;";
+ protected final String TEXT_54 = NL + "\t\ttry" + NL + "\t\t{";
+ protected final String TEXT_55 = NL + "\t\t\t";
+ protected final String TEXT_56 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";
+ protected final String TEXT_57 = "new ";
+ protected final String TEXT_58 = ".UnmodifiableEList<Object>(";
+ protected final String TEXT_59 = ", ";
+ protected final String TEXT_60 = "null";
+ protected final String TEXT_61 = NL + "\t\t\treturn ";
+ protected final String TEXT_62 = ").";
+ protected final String TEXT_63 = "()";
+ protected final String TEXT_64 = ";";
+ protected final String TEXT_65 = NL + "\t\t}" + NL + "\t\tcatch (";
+ protected final String TEXT_66 = " ite)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
+ protected final String TEXT_67 = "(ite);" + NL + "\t\t}";
+ protected final String TEXT_68 = NL + "\t}" + NL;
+ protected final String TEXT_69 = NL;
+
+ public ClassgenOperationoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(TEXT_69);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isImplementation) {
+ if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_6);
+ if (genOperation.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genOperation.getInvariantExpression("\t\t"));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_14);
+ } else if (genOperation.hasInvocationDelegate()) {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_6);
+ if (genOperation.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genOperation.getQualifiedOperationAccessor());
+ stringBuffer.append(TEXT_20);
+ }
+ }
+ if (isInterface) {
+ stringBuffer.append(TEXT_14);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0tUmsGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/genOperation.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_21);
+ if (genOperation.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_22);
+ if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_14);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0txSoGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ }
+ if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genOperation.getTypeParameters(genClass));
+ stringBuffer.append(genOperation.getImportedType(genClass));
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameters(genClass));
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genOperation.getThrows(genClass));
+ stringBuffer.append(TEXT_24);
+ } else {
+ if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant()
+ && genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {
+ stringBuffer.append(TEXT_25);
+ }
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genOperation.isSuppressedVisibility()) {
+ stringBuffer.append(TEXT_26);
+ }
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genOperation.getTypeParameters(genClass));
+ stringBuffer.append(genOperation.getImportedType(genClass));
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameters(isImplementation, genClass));
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genOperation.getThrows(genClass));
+ stringBuffer.append(TEXT_28);
+ if (genOperation.hasBody()) {
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genOperation.getBody(genModel.getIndentation(stringBuffer)));
+ } else if (genOperation.isInvariant()) {
+ GenClass opClass = genOperation.getGenClass();
+ String diagnostics = genOperation.getGenParameters().get(0).getName();
+ String context = genOperation.getGenParameters().get(1).getName();
+ if (genOperation.hasInvariantExpression()) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genOperation.getValidationDelegate());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genOperation.getQualifiedOperationAccessor());
+ stringBuffer.append(TEXT_33);
+ stringBuffer
+ .append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(opClass.getOperationID(genOperation));
+ stringBuffer.append(TEXT_41);
+ } else {
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(opClass.getOperationID(genOperation));
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_53);
+ }
+ } else if (genOperation.hasInvocationDelegate()) {
+ int size = genOperation.getGenParameters().size();
+ stringBuffer.append(TEXT_54);
+ if (genOperation.isVoid()) {
+ stringBuffer.append(TEXT_55);
+ stringBuffer
+ .append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+ stringBuffer.append(TEXT_56);
+ if (size > 0) {
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(size);
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genOperation.getParametersArray(genClass));
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_60);
+ }
+ stringBuffer.append(TEXT_41);
+ } else {
+ stringBuffer.append(TEXT_61);
+ if (!isJDK50 && genOperation.isPrimitiveType()) {
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getObjectType(genClass));
+ stringBuffer.append(TEXT_6);
+ stringBuffer
+ .append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+ stringBuffer.append(TEXT_56);
+ if (size > 0) {
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(size);
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genOperation.getParametersArray(genClass));
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_60);
+ }
+ stringBuffer.append(TEXT_6);
+ if (!isJDK50 && genOperation.isPrimitiveType()) {
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genOperation.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_63);
+ }
+ stringBuffer.append(TEXT_64);
+ }
+ stringBuffer.append(TEXT_65);
+ stringBuffer
+ .append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+ : "java.lang.reflect.InvocationTargetException"));
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));
+ stringBuffer.append(TEXT_67);
+ } else {
+ stringBuffer.append(TEXT_14);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0t7DoGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/implementedGenOperation.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_68);
+ }
+ stringBuffer.append(TEXT_14);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uENkGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_14);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..13266e69b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java
@@ -0,0 +1,344 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized ClassgetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgetGenFeatureTODOoverride result = new ClassgetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT";
+ protected final String TEXT_4 = NL
+ + "\t\t// The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting"
+ + NL + "\t\t// so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.";
+ protected final String TEXT_5 = "EcoreEMap";
+ protected final String TEXT_6 = "BasicFeatureMap";
+ protected final String TEXT_7 = "EcoreEList";
+ protected final String TEXT_8 = " should be used.";
+ protected final String TEXT_9 = NL + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_10 = NL;
+
+ public ClassgetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(TEXT_10);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ if (genFeature.isListType()) {
+ stringBuffer.append(TEXT_4);
+ if (genFeature.isMapType()) {
+ stringBuffer.append(TEXT_5);
+ } else if (genFeature.isFeatureMapType()) {
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..3d0abd675
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized ClassgetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgetGenFeatureannotationsinsert result = new ClassgetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassgetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java
new file mode 100644
index 000000000..84ec977b1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeaturejavadocinsert {
+ protected static String nl;
+
+ public static synchronized ClassgetGenFeaturejavadocinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgetGenFeaturejavadocinsert result = new ClassgetGenFeaturejavadocinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassgetGenFeaturejavadocinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java
new file mode 100644
index 000000000..ac8b7241e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java
@@ -0,0 +1,525 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeaturejavadocoverride {
+ protected static String nl;
+
+ public static synchronized ClassgetGenFeaturejavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgetGenFeaturejavadocoverride result = new ClassgetGenFeaturejavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns the value of the '<em><b>";
+ protected final String TEXT_2 = "</b></em>' ";
+ protected final String TEXT_3 = ".";
+ protected final String TEXT_4 = NL + "\t * The key is of type ";
+ protected final String TEXT_5 = "list of {@link ";
+ protected final String TEXT_6 = "}";
+ protected final String TEXT_7 = "{@link ";
+ protected final String TEXT_8 = "," + NL + "\t * and the value is of type ";
+ protected final String TEXT_9 = ",";
+ protected final String TEXT_10 = NL + "\t * The list contents are of type {@link ";
+ protected final String TEXT_11 = NL + "\t * The default value is <code>";
+ protected final String TEXT_12 = "</code>.";
+ protected final String TEXT_13 = NL + "\t * The literals are from the enumeration {@link ";
+ protected final String TEXT_14 = "}.";
+ protected final String TEXT_15 = NL + "\t * It is bidirectional and its opposite is '{@link ";
+ protected final String TEXT_16 = "#";
+ protected final String TEXT_17 = " <em>";
+ protected final String TEXT_18 = "</em>}'.";
+ protected final String TEXT_19 = NL;
+ protected final String TEXT_20 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_21 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";
+ protected final String TEXT_22 = NL + "\t * <!-- end-model-doc -->";
+ protected final String TEXT_23 = NL + "\t * @return the value of the '<em>";
+ protected final String TEXT_24 = "</em>' ";
+ protected final String TEXT_25 = NL + "\t * @see ";
+ protected final String TEXT_26 = NL + "\t * @see #isSet";
+ protected final String TEXT_27 = "()";
+ protected final String TEXT_28 = NL + "\t * @see #unset";
+ protected final String TEXT_29 = NL + "\t * @see #set";
+ protected final String TEXT_30 = "(";
+ protected final String TEXT_31 = ")";
+ protected final String TEXT_32 = "#get";
+ protected final String TEXT_33 = NL + "\t * @model ";
+ protected final String TEXT_34 = NL + "\t * ";
+ protected final String TEXT_35 = NL + "\t * @model";
+ protected final String TEXT_36 = NL + "\t * @generated" + NL + "\t */" + NL;
+ protected final String TEXT_37 = NL;
+
+ public ClassgetGenFeaturejavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(TEXT_37);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ if (genFeature.isListType() && genFeature.getEcoreFeature().getEGenericType().getETypeParameter() == null) {
+ if (genFeature.isMapType()) {
+ GenFeature keyFeature = genFeature.getMapEntryTypeGenClass().getMapEntryKeyFeature();
+ GenFeature valueFeature = genFeature.getMapEntryTypeGenClass().getMapEntryValueFeature();
+ stringBuffer.append(TEXT_4);
+ if (keyFeature.isListType()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(keyFeature.getQualifiedListItemType(genClass));
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(keyFeature.getType(genClass));
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_8);
+ if (valueFeature.isListType()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(valueFeature.getQualifiedListItemType(genClass));
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(valueFeature.getType(genClass));
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_9);
+ } else if (!genFeature.isWrappedFeatureMapType() && !(genModel.isSuppressEMFMetaData()
+ && "org.eclipse.emf.ecore.EObject".equals(genFeature.getQualifiedListItemType(genClass)))) {
+ String typeName = genFeature.getQualifiedListItemType(genClass);
+ String head = typeName;
+ String tail = "";
+ int index = typeName.indexOf('<');
+ if (index == -1) {
+ index = typeName.indexOf('[');
+ }
+ if (index != -1) {
+ head = typeName.substring(0, index);
+ tail = "<code>" + CodeGenUtil.xmlEscapeEncode(typeName.substring(index)) + "</code>";
+ }
+
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(head);
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(tail);
+ stringBuffer.append(TEXT_3);
+ }
+ } else if (genFeature.isSetDefaultValue()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getDefaultValue());
+ stringBuffer.append(TEXT_12);
+ }
+ if (genFeature.getTypeGenEnum() != null) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+ stringBuffer.append(TEXT_14);
+ }
+ if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {
+ GenFeature reverseGenFeature = genFeature.getReverse();
+ if (!reverseGenFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(reverseGenFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(reverseGenFeature.getGetAccessor());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(reverseGenFeature.getFormattedName());
+ stringBuffer.append(TEXT_18);
+ }
+ }
+ stringBuffer.append(TEXT_19);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lIUAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_20);
+ if (genFeature.hasDocumentation()) {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ if (genFeature.getTypeGenEnum() != null) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+ }
+ if (genFeature.isUnsettable()) {
+ if (!genFeature.isSuppressedIsSetVisibility()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_27);
+ }
+ if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_27);
+ }
+ }
+ if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getRawImportedBoundType());
+ stringBuffer.append(TEXT_31);
+ }
+ if (!genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_27);
+ }
+ if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {
+ GenFeature reverseGenFeature = genFeature.getReverse();
+ if (!reverseGenFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(reverseGenFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(reverseGenFeature.getGetAccessor());
+ }
+ }
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genFeature.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_35);
+ }
+ }
+ stringBuffer.append(TEXT_36);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java
new file mode 100644
index 000000000..d2da09b92
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java
@@ -0,0 +1,994 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ClassgetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgetGenFeatureoverride result = new ClassgetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_4 = NL + "\t * ";
+ protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_6 = NL + "\t@Deprecated";
+ protected final String TEXT_7 = NL + "\t";
+ protected final String TEXT_8 = " ";
+ protected final String TEXT_9 = "();" + NL;
+ protected final String TEXT_10 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_11 = NL + "\t@Override";
+ protected final String TEXT_12 = NL + "\tpublic ";
+ protected final String TEXT_13 = "_";
+ protected final String TEXT_14 = "()" + NL + "\t{";
+ protected final String TEXT_15 = NL + "\t\treturn ";
+ protected final String TEXT_16 = "(";
+ protected final String TEXT_17 = ")eDynamicGet(";
+ protected final String TEXT_18 = " - ESTATIC_FEATURE_COUNT";
+ protected final String TEXT_19 = ", ";
+ protected final String TEXT_20 = ", true, ";
+ protected final String TEXT_21 = ")";
+ protected final String TEXT_22 = ").";
+ protected final String TEXT_23 = "()";
+ protected final String TEXT_24 = ";";
+ protected final String TEXT_25 = NL + "\t\t";
+ protected final String TEXT_26 = ")eGet(";
+ protected final String TEXT_27 = ", true)";
+ protected final String TEXT_28 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)";
+ protected final String TEXT_29 = " = (";
+ protected final String TEXT_30 = ")eVirtualGet(";
+ protected final String TEXT_31 = ");";
+ protected final String TEXT_32 = NL + "\t\tif (";
+ protected final String TEXT_33 = " == null)" + NL + "\t\t{";
+ protected final String TEXT_34 = NL + "\t\t\teVirtualSet(";
+ protected final String TEXT_35 = " = new ";
+ protected final String TEXT_36 = NL + "\t\t\t";
+ protected final String TEXT_37 = NL + "\t\t}" + NL + "\t\treturn ";
+ protected final String TEXT_38 = NL + "\t\tif (eContainerFeatureID() != ";
+ protected final String TEXT_39 = ") return null;" + NL + "\t\treturn (";
+ protected final String TEXT_40 = "eContainer";
+ protected final String TEXT_41 = "eInternalContainer";
+ protected final String TEXT_42 = "();";
+ protected final String TEXT_43 = " != null && ";
+ protected final String TEXT_44 = ".eIsProxy())" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_45 = " old";
+ protected final String TEXT_46 = " = ";
+ protected final String TEXT_47 = ";" + NL + "\t\t\t";
+ protected final String TEXT_48 = "eResolveProxy(old";
+ protected final String TEXT_49 = ");" + NL + "\t\t\tif (";
+ protected final String TEXT_50 = " != old";
+ protected final String TEXT_51 = ")" + NL + "\t\t\t{";
+ protected final String TEXT_52 = NL + "\t\t\t\t";
+ protected final String TEXT_53 = " new";
+ protected final String TEXT_54 = " msgs = old";
+ protected final String TEXT_55 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_56 = ", null, null);";
+ protected final String TEXT_57 = " msgs = old";
+ protected final String TEXT_58 = ".eInverseRemove(this, ";
+ protected final String TEXT_59 = ".class, null);";
+ protected final String TEXT_60 = NL + "\t\t\t\tif (new";
+ protected final String TEXT_61 = ".eInternalContainer() == null)" + NL + "\t\t\t\t{";
+ protected final String TEXT_62 = NL + "\t\t\t\t\tmsgs = new";
+ protected final String TEXT_63 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_64 = ", null, msgs);";
+ protected final String TEXT_65 = NL + "\t\t\t\t\tmsgs = new";
+ protected final String TEXT_66 = ".eInverseAdd(this, ";
+ protected final String TEXT_67 = ".class, msgs);";
+ protected final String TEXT_68 = NL + "\t\t\t\t}" + NL + "\t\t\t\tif (msgs != null) msgs.dispatch();";
+ protected final String TEXT_69 = NL + "\t\t\t\teVirtualSet(";
+ protected final String TEXT_70 = NL + "\t\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\t\teNotify(new ";
+ protected final String TEXT_71 = "(this, ";
+ protected final String TEXT_72 = ".RESOLVE, ";
+ protected final String TEXT_73 = ", old";
+ protected final String TEXT_74 = "));";
+ protected final String TEXT_75 = NL + "\t\t\t}" + NL + "\t\t}";
+ protected final String TEXT_76 = NL + "\t\treturn (";
+ protected final String TEXT_77 = " & ";
+ protected final String TEXT_78 = "_EFLAG) != 0;";
+ protected final String TEXT_79 = "_EFLAG_VALUES[(";
+ protected final String TEXT_80 = "_EFLAG) >>> ";
+ protected final String TEXT_81 = "_EFLAG_OFFSET];";
+ protected final String TEXT_82 = " = basicGet";
+ protected final String TEXT_83 = "();" + NL + "\t\treturn ";
+ protected final String TEXT_84 = ".eIsProxy() ? ";
+ protected final String TEXT_85 = "eResolveProxy(";
+ protected final String TEXT_86 = ") : ";
+ protected final String TEXT_87 = NL + "\t\treturn new ";
+ protected final String TEXT_88 = "((";
+ protected final String TEXT_89 = ".Internal)((";
+ protected final String TEXT_90 = ".Internal.Wrapper)get";
+ protected final String TEXT_91 = "()).featureMap().";
+ protected final String TEXT_92 = "list(";
+ protected final String TEXT_93 = ")get";
+ protected final String TEXT_94 = "().";
+ protected final String TEXT_95 = NL + "\t\treturn ((";
+ protected final String TEXT_96 = "()).featureMap().list(";
+ protected final String TEXT_97 = NL + "\t\treturn get";
+ protected final String TEXT_98 = "().list(";
+ protected final String TEXT_99 = "()).featureMap().get(";
+ protected final String TEXT_100 = "get";
+ protected final String TEXT_101 = "().get(";
+ protected final String TEXT_102 = NL + "\t}" + NL;
+ protected final String TEXT_103 = NL;
+
+ public ClassgetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_103);
+ stringBuffer.append(TEXT_103);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isInterface) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kroEGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/getGenFeature.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_3);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lIUFGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_9);
+ } else {
+ if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies())
+ && !genFeature.isListType() && genFeature.isUncheckedCast(genClass)
+ || genFeature.isListType() && !genFeature.isFeatureMapType()
+ && (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation()
+ || (genModel.isDynamicDelegation() && !genFeature.isVolatile()))
+ || genFeature.isListDataType() && genFeature.hasDelegateFeature()
+ || genFeature.isListType() && genFeature.hasSettingDelegate())) {
+ stringBuffer.append(TEXT_10);
+ }
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()
+ && !genClass.hasCollidingGetAccessorOperation(genFeature)
+ && !genFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getGetAccessor());
+ if (genClass.hasCollidingGetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_13);
+ }
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lSFDGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());
+ stringBuffer.append(TEXT_21);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ } else if (genModel.isReflectiveDelegation()) {
+ if (genFeature.hasGetterBody()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_27);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ }
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_28);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ } else if (!genFeature.isVolatile()) {
+ if (genFeature.isListType()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_33);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genClass.getListConstructor(genFeature));
+ stringBuffer.append(TEXT_31);
+ } else {
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genClass.getListConstructor(genFeature));
+ stringBuffer.append(TEXT_24);
+ }
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer
+ .append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");
+ stringBuffer.append(TEXT_24);
+ } else if (genFeature.isContainer()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_21);
+ if (genFeature.isResolveProxies()) {
+ stringBuffer.append(TEXT_40);
+ } else {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_42);
+ } else {
+ if (genFeature.isResolveProxies()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ if (genFeature.hasEDefault()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getEDefault());
+ }
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getSafeNameAsEObject());
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_51);
+ if (genFeature.isEffectiveContains()) {
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));
+ stringBuffer.append(TEXT_24);
+ if (!genFeature.isBidirectional()) {
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_56);
+ } else {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_59);
+ }
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_61);
+ if (!genFeature.isBidirectional()) {
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_64);
+ } else {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_68);
+ } else if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_31);
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_70);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_71);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_72);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_74);
+ }
+ stringBuffer.append(TEXT_75);
+ }
+ if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation()
+ && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ if (genFeature.hasEDefault()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getEDefault());
+ }
+ stringBuffer.append(TEXT_31);
+ } else if (genClass.isFlag(genFeature)) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_78);
+ } else {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_81);
+ }
+ } else {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_24);
+ }
+ }
+ } else {//volatile
+ if (genFeature.isResolveProxies() && !genFeature.isListType()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getSafeNameAsEObject());
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_24);
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (genFeature.isFeatureMapType()) {
+ String featureMapEntryTemplateArgument = isJDK50
+ ? "<" + genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap") + ".Entry>"
+ : "";
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genFeature.getImportedEffectiveFeatureMapWrapperClass());
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(featureMapEntryTemplateArgument);
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_74);
+ } else {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(featureMapEntryTemplateArgument);
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_31);
+ }
+ } else if (genFeature.isListType()) {
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_31);
+ } else {
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_31);
+ }
+ } else {
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ if (genFeature.getTypeGenDataType() == null
+ || !genFeature.getTypeGenDataType().isObjectType()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_27);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ } else {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ if (genFeature.getTypeGenDataType() == null
+ || !genFeature.getTypeGenDataType().isObjectType()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_100);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_27);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ }
+ }
+ } else if (genClass.getGetAccessorOperation(genFeature) != null) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genClass.getGetAccessorOperation(genFeature)
+ .getBody(genModel.getIndentation(stringBuffer)));
+ } else if (genFeature.hasGetterBody()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lbPAWJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/getGenFeature.todo.override.javajetinc
+ }
+ }
+ stringBuffer.append(TEXT_102);
+ }
+ stringBuffer.append(TEXT_2);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java
new file mode 100644
index 000000000..6bb946961
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeaturepreinsert {
+ protected static String nl;
+
+ public static synchronized ClassgetGenFeaturepreinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassgetGenFeaturepreinsert result = new ClassgetGenFeaturepreinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassgetGenFeaturepreinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java
new file mode 100644
index 000000000..66f036b53
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java
@@ -0,0 +1,320 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassimplementedGenOperationTODOoverride {
+ protected static String nl;
+
+ public static synchronized ClassimplementedGenOperationTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassimplementedGenOperationTODOoverride result = new ClassimplementedGenOperationTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_2 = NL;
+
+ public ClassimplementedGenOperationTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java
new file mode 100644
index 000000000..9385fa463
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java
@@ -0,0 +1,304 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Classinsert {
+ protected static String nl;
+
+ public static synchronized Classinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ Classinsert result = new Classinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public Classinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java
new file mode 100644
index 000000000..d569f5e32
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java
@@ -0,0 +1,384 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Classinterfacejavadocoverride {
+ protected static String nl;
+
+ public static synchronized Classinterfacejavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ Classinterfacejavadocoverride result = new Classinterfacejavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * A representation of the model object '<em><b>";
+ protected final String TEXT_2 = "</b></em>'." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_3 = NL + " *" + NL + " * <!-- begin-model-doc -->" + NL + " * ";
+ protected final String TEXT_4 = NL + " * <!-- end-model-doc -->";
+ protected final String TEXT_5 = NL + " *";
+ protected final String TEXT_6 = NL + " * <p>" + NL + " * The following features are supported:" + NL + " * </p>"
+ + NL + " * <ul>";
+ protected final String TEXT_7 = NL + " * <li>{@link ";
+ protected final String TEXT_8 = "#";
+ protected final String TEXT_9 = " <em>";
+ protected final String TEXT_10 = "</em>}</li>";
+ protected final String TEXT_11 = NL + " * </ul>";
+ protected final String TEXT_12 = NL + " * @see ";
+ protected final String TEXT_13 = "#get";
+ protected final String TEXT_14 = "()";
+ protected final String TEXT_15 = NL + " * @model ";
+ protected final String TEXT_16 = NL + " * ";
+ protected final String TEXT_17 = NL + " * @model";
+ protected final String TEXT_18 = NL + " * @extends ";
+ protected final String TEXT_19 = NL + " * ";
+ protected final String TEXT_20 = NL + " * @generated" + NL + " */" + NL;
+ protected final String TEXT_21 = NL;
+
+ public Classinterfacejavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(TEXT_21);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ if (genClass.hasDocumentation()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genClass.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_4);
+ }
+ stringBuffer.append(TEXT_5);
+ if (!genClass.getGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_6);
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ if (!genFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_10);
+ }
+ }
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_5);
+ if (!genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genClass.getClassifierAccessorName());
+ stringBuffer.append(TEXT_14);
+ }
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer
+ .hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_17);
+ }
+ }
+ if (genClass.needsRootExtendsInterfaceExtendsTag()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getImportedName(genModel.getRootExtendsInterface()));
+ }
+ if (genClass.hasImplicitAPITags(true)) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer), true));
+ }
+ stringBuffer.append(TEXT_20);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..d46fbb150
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java
@@ -0,0 +1,326 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassisSetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized ClassisSetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassisSetGenFeatureTODOoverride result = new ClassisSetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return whether the '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = " is set" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public ClassisSetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..028f4282b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassisSetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized ClassisSetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassisSetGenFeatureannotationsinsert result = new ClassisSetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassisSetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java
new file mode 100644
index 000000000..cee2d8941
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassisSetGenFeaturejavadocinsert {
+ protected static String nl;
+
+ public static synchronized ClassisSetGenFeaturejavadocinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassisSetGenFeaturejavadocinsert result = new ClassisSetGenFeaturejavadocinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassisSetGenFeaturejavadocinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java
new file mode 100644
index 000000000..8c9a6b31f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java
@@ -0,0 +1,399 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassisSetGenFeaturejavadocoverride {
+ protected static String nl;
+
+ public static synchronized ClassisSetGenFeaturejavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassisSetGenFeaturejavadocoverride result = new ClassisSetGenFeaturejavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns whether the value of the '{@link ";
+ protected final String TEXT_2 = "#";
+ protected final String TEXT_3 = " <em>";
+ protected final String TEXT_4 = "</em>}' ";
+ protected final String TEXT_5 = " is set.";
+ protected final String TEXT_6 = NL;
+ protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return whether the value of the '<em>";
+ protected final String TEXT_8 = "</em>' ";
+ protected final String TEXT_9 = NL + "\t * @see #unset";
+ protected final String TEXT_10 = "()";
+ protected final String TEXT_11 = NL + "\t * @see #";
+ protected final String TEXT_12 = NL + "\t * @see #set";
+ protected final String TEXT_13 = "(";
+ protected final String TEXT_14 = ")";
+ protected final String TEXT_15 = NL + "\t * ";
+ protected final String TEXT_16 = NL + "\t * @generated" + NL + "\t */" + NL;
+ protected final String TEXT_17 = NL;
+
+ public ClassisSetGenFeaturejavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(TEXT_17);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(TEXT_6);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sb14GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_10);
+ if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getRawImportedBoundType());
+ stringBuffer.append(TEXT_14);
+ }
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_16);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java
new file mode 100644
index 000000000..ad6dec923
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java
@@ -0,0 +1,573 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassisSetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ClassisSetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassisSetGenFeatureoverride result = new ClassisSetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_4 = NL + "\t * ";
+ protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_6 = NL + "\t@Deprecated";
+ protected final String TEXT_7 = NL + "\tboolean isSet";
+ protected final String TEXT_8 = "();" + NL;
+ protected final String TEXT_9 = NL + "\t@Override";
+ protected final String TEXT_10 = NL + "\tpublic boolean isSet";
+ protected final String TEXT_11 = "_";
+ protected final String TEXT_12 = "()" + NL + "\t{";
+ protected final String TEXT_13 = NL + "\t\treturn eDynamicIsSet(";
+ protected final String TEXT_14 = " - ESTATIC_FEATURE_COUNT";
+ protected final String TEXT_15 = ", ";
+ protected final String TEXT_16 = ");";
+ protected final String TEXT_17 = NL + "\t\treturn eIsSet(";
+ protected final String TEXT_18 = NL + "\t\treturn ";
+ protected final String TEXT_19 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";
+ protected final String TEXT_20 = NL + "\t\t";
+ protected final String TEXT_21 = " ";
+ protected final String TEXT_22 = " = (";
+ protected final String TEXT_23 = ")eVirtualGet(";
+ protected final String TEXT_24 = " != null && ((";
+ protected final String TEXT_25 = ".Unsettable";
+ protected final String TEXT_26 = ")";
+ protected final String TEXT_27 = ").isSet();";
+ protected final String TEXT_28 = NL + "\t\treturn eVirtualIsSet(";
+ protected final String TEXT_29 = NL + "\t\treturn (";
+ protected final String TEXT_30 = " & ";
+ protected final String TEXT_31 = "_ESETFLAG) != 0;";
+ protected final String TEXT_32 = "ESet;";
+ protected final String TEXT_33 = NL + "\t\treturn !((";
+ protected final String TEXT_34 = ".Internal)((";
+ protected final String TEXT_35 = ".Internal.Wrapper)get";
+ protected final String TEXT_36 = "()).featureMap()).isEmpty(";
+ protected final String TEXT_37 = ".Internal)get";
+ protected final String TEXT_38 = "()).isEmpty(";
+ protected final String TEXT_39 = NL + "\t}" + NL;
+ protected final String TEXT_40 = NL;
+
+ public ClassisSetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(TEXT_40);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isInterface) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sSE4GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/isSetGenFeature.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_3);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/isSetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sk_0GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ } else {
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()
+ && !genClass.hasCollidingIsSetAccessorOperation(genFeature)
+ && !genFeature.isSuppressedIsSetVisibility()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getAccessorName());
+ if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else if (genModel.isReflectiveDelegation()) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_19);
+ } else if (!genFeature.isVolatile()) {
+ if (genFeature.isListType()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_27);
+ } else {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ } else if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_31);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_32);
+ }
+ }
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ }
+ } else if (genClass.getIsSetAccessorOperation(genFeature) != null) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(
+ genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0suw0GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/isSetGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_39);
+ }
+ stringBuffer.append(TEXT_2);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java
new file mode 100644
index 000000000..f7373cc99
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java
@@ -0,0 +1,338 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassreflectiveDelegationoverride {
+ protected static String nl;
+
+ public static synchronized ClassreflectiveDelegationoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassreflectiveDelegationoverride result = new ClassreflectiveDelegationoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected static final int ESTATIC_FEATURE_COUNT = ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_5 = NL + "\t@Override";
+ protected final String TEXT_6 = NL + "\tprotected int eStaticFeatureCount()" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_7 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_8 = NL;
+ protected final String TEXT_9 = NL;
+
+ public ClassreflectiveDelegationoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(TEXT_9);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isImplementation
+ && (genModel.getFeatureDelegation() == GenDelegationKind.REFLECTIVE_LITERAL
+ || genModel.isDynamicDelegation())
+ && (genClass.getClassExtendsGenClass() == null || (genClass.getClassExtendsGenClass().getGenModel()
+ .getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL
+ && !genClass.getClassExtendsGenClass().getGenModel().isDynamicDelegation()))) {
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genClass.getClassExtendsGenClass() == null ? 0
+ : genClass.getClassExtendsGenClass().getAllGenFeatures().size());
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genClass.getClassExtendsGenClass() == null ? "0"
+ : genClass.hasStaticFeatures() ? "ESTATIC_FEATURE_COUNT"
+ : Integer.toString(genClass.getClassExtendsGenClass().getAllGenFeatures().size()));
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..af2896632
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java
@@ -0,0 +1,338 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized ClasssetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClasssetGenFeatureTODOoverride result = new ClasssetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public ClasssetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> setAccessorOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object setAccessorOperationParameter : setAccessorOperationList) {
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+ public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.setAccessorOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("setAccessorOperation", this.setAccessorOperation);
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..8ae6b57c4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized ClasssetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClasssetGenFeatureannotationsinsert result = new ClasssetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClasssetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java
new file mode 100644
index 000000000..ec9e06599
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeaturejavadocinsert {
+ protected static String nl;
+
+ public static synchronized ClasssetGenFeaturejavadocinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClasssetGenFeaturejavadocinsert result = new ClasssetGenFeaturejavadocinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClasssetGenFeaturejavadocinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java
new file mode 100644
index 000000000..4edfcbc44
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java
@@ -0,0 +1,402 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeaturejavadocoverride {
+ protected static String nl;
+
+ public static synchronized ClasssetGenFeaturejavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClasssetGenFeaturejavadocoverride result = new ClasssetGenFeaturejavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Sets the value of the '{@link ";
+ protected final String TEXT_2 = "#";
+ protected final String TEXT_3 = " <em>";
+ protected final String TEXT_4 = "</em>}' ";
+ protected final String TEXT_5 = ".";
+ protected final String TEXT_6 = NL;
+ protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @param value the new value of the '<em>";
+ protected final String TEXT_8 = "</em>' ";
+ protected final String TEXT_9 = NL + "\t * @see ";
+ protected final String TEXT_10 = NL + "\t * @see #isSet";
+ protected final String TEXT_11 = "()";
+ protected final String TEXT_12 = NL + "\t * @see #unset";
+ protected final String TEXT_13 = NL + "\t * @see #";
+ protected final String TEXT_14 = NL + "\t * ";
+ protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;
+ protected final String TEXT_16 = NL;
+
+ public ClasssetGenFeaturejavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(TEXT_16);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(TEXT_6);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ng5oGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ if (genFeature.isEnumType()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+ }
+ if (genFeature.isUnsettable()) {
+ if (!genFeature.isSuppressedIsSetVisibility()) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_11);
+ }
+ if (!genFeature.isSuppressedUnsetVisibility()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_11);
+ }
+ }
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_11);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_15);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java
new file mode 100644
index 000000000..0e88e0cce
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java
@@ -0,0 +1,1235 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ClasssetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClasssetGenFeatureoverride result = new ClasssetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_4 = NL + "\t * ";
+ protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_6 = NL + "\t@Deprecated";
+ protected final String TEXT_7 = NL + "\tvoid set";
+ protected final String TEXT_8 = "(";
+ protected final String TEXT_9 = " value);" + NL;
+ protected final String TEXT_10 = NL + "\t@Override";
+ protected final String TEXT_11 = NL + "\tpublic void set";
+ protected final String TEXT_12 = "_";
+ protected final String TEXT_13 = " ";
+ protected final String TEXT_14 = ")" + NL + "\t{";
+ protected final String TEXT_15 = NL + "\t\teDynamicSet(";
+ protected final String TEXT_16 = " - ESTATIC_FEATURE_COUNT";
+ protected final String TEXT_17 = ", ";
+ protected final String TEXT_18 = "new ";
+ protected final String TEXT_19 = "new";
+ protected final String TEXT_20 = ")";
+ protected final String TEXT_21 = ");";
+ protected final String TEXT_22 = NL + "\t\teSet(";
+ protected final String TEXT_23 = NL + "\t\t";
+ protected final String TEXT_24 = "__ESETTING_DELEGATE.dynamicSet(this, null, 0, ";
+ protected final String TEXT_25 = NL + "\t\tif (new";
+ protected final String TEXT_26 = " != eInternalContainer() || (eContainerFeatureID() != ";
+ protected final String TEXT_27 = " && new";
+ protected final String TEXT_28 = " != null))" + NL + "\t\t{" + NL + "\t\t\tif (";
+ protected final String TEXT_29 = ".isAncestor(this, ";
+ protected final String TEXT_30 = "))" + NL + "\t\t\t\tthrow new ";
+ protected final String TEXT_31 = "(\"Recursive containment not allowed for \" + toString());";
+ protected final String TEXT_32 = NL + "\t\t\t";
+ protected final String TEXT_33 = " msgs = null;" + NL + "\t\t\tif (eInternalContainer() != null)" + NL
+ + "\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);" + NL + "\t\t\tif (new";
+ protected final String TEXT_34 = " != null)" + NL + "\t\t\t\tmsgs = ";
+ protected final String TEXT_35 = ".eInverseAdd(this, ";
+ protected final String TEXT_36 = ".class, msgs);" + NL + "\t\t\tmsgs = basicSet";
+ protected final String TEXT_37 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";
+ protected final String TEXT_38 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+ protected final String TEXT_39 = "(this, ";
+ protected final String TEXT_40 = ".SET, ";
+ protected final String TEXT_41 = ", new";
+ protected final String TEXT_42 = "));";
+ protected final String TEXT_43 = " = (";
+ protected final String TEXT_44 = ")eVirtualGet(";
+ protected final String TEXT_45 = " != ";
+ protected final String TEXT_46 = ")" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_47 = " msgs = null;" + NL + "\t\t\tif (";
+ protected final String TEXT_48 = " != null)";
+ protected final String TEXT_49 = NL + "\t\t\t\tmsgs = ";
+ protected final String TEXT_50 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_51 = ", null, msgs);" + NL + "\t\t\tif (new";
+ protected final String TEXT_52 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_53 = ", null, msgs);";
+ protected final String TEXT_54 = ".eInverseRemove(this, ";
+ protected final String TEXT_55 = ".class, msgs);" + NL + "\t\t\tif (new";
+ protected final String TEXT_56 = ".class, msgs);";
+ protected final String TEXT_57 = NL + "\t\t\tmsgs = basicSet";
+ protected final String TEXT_58 = NL + "\t\telse" + NL + "\t\t{";
+ protected final String TEXT_59 = NL + "\t\t\tboolean old";
+ protected final String TEXT_60 = "ESet = eVirtualIsSet(";
+ protected final String TEXT_61 = "ESet = (";
+ protected final String TEXT_62 = " & ";
+ protected final String TEXT_63 = "_ESETFLAG) != 0;";
+ protected final String TEXT_64 = " |= ";
+ protected final String TEXT_65 = "_ESETFLAG;";
+ protected final String TEXT_66 = "ESet = ";
+ protected final String TEXT_67 = "ESet;";
+ protected final String TEXT_68 = "ESet = true;";
+ protected final String TEXT_69 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";
+ protected final String TEXT_70 = ", !old";
+ protected final String TEXT_71 = "ESet));";
+ protected final String TEXT_72 = NL + "\t\t}";
+ protected final String TEXT_73 = " old";
+ protected final String TEXT_74 = "_EFLAG) != 0;";
+ protected final String TEXT_75 = " = ";
+ protected final String TEXT_76 = "_EFLAG_VALUES[(";
+ protected final String TEXT_77 = "_EFLAG) >>> ";
+ protected final String TEXT_78 = "_EFLAG_OFFSET];";
+ protected final String TEXT_79 = ") ";
+ protected final String TEXT_80 = "_EFLAG; else ";
+ protected final String TEXT_81 = " &= ~";
+ protected final String TEXT_82 = "_EFLAG;";
+ protected final String TEXT_83 = " == null) new";
+ protected final String TEXT_84 = "_EDEFAULT;" + NL + "\t\t";
+ protected final String TEXT_85 = " & ~";
+ protected final String TEXT_86 = "_EFLAG | ";
+ protected final String TEXT_87 = ".ordinal()";
+ protected final String TEXT_88 = ".VALUES.indexOf(new";
+ protected final String TEXT_89 = " << ";
+ protected final String TEXT_90 = "_EFLAG_OFFSET;";
+ protected final String TEXT_91 = ";";
+ protected final String TEXT_92 = " = new";
+ protected final String TEXT_93 = " == null ? ";
+ protected final String TEXT_94 = " : new";
+ protected final String TEXT_95 = NL + "\t\tObject old";
+ protected final String TEXT_96 = " = eVirtualSet(";
+ protected final String TEXT_97 = NL + "\t\tboolean isSetChange = old";
+ protected final String TEXT_98 = " == EVIRTUAL_NO_VALUE;";
+ protected final String TEXT_99 = NL + "\t\tboolean old";
+ protected final String TEXT_100 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+ protected final String TEXT_101 = "isSetChange ? ";
+ protected final String TEXT_102 = " : old";
+ protected final String TEXT_103 = "old";
+ protected final String TEXT_104 = "isSetChange";
+ protected final String TEXT_105 = "!old";
+ protected final String TEXT_106 = "ESet";
+ protected final String TEXT_107 = " == EVIRTUAL_NO_VALUE ? ";
+ protected final String TEXT_108 = NL + "\t\t((";
+ protected final String TEXT_109 = ".Internal)((";
+ protected final String TEXT_110 = ".Internal.Wrapper)get";
+ protected final String TEXT_111 = "()).featureMap()).set(";
+ protected final String TEXT_112 = ".Internal)get";
+ protected final String TEXT_113 = "()).set(";
+ protected final String TEXT_114 = NL + "\t}" + NL;
+ protected final String TEXT_115 = NL;
+
+ public ClasssetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(TEXT_115);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isInterface) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nXIoGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/setGenFeature.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_3);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nqqoGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_9);
+ } else {
+ GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()
+ && !genClass.hasCollidingSetAccessorOperation(genFeature)
+ && !genFeature.isSuppressedSetVisibility()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getAccessorName());
+ if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_12);
+ }
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+ : setAccessorOperation.getGenParameters().get(0).getName());
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("setAccessorOperation", setAccessorOperation);
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nz0kGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicSetGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("setAccessorOperation", setAccessorOperation);
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_Y__lwCSWEemxeP6B0lLOpA",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_17);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicSetGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("setAccessorOperation", setAccessorOperation);
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_ZGGNwCSWEemxeP6B0lLOpA",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ } else if (genModel.isReflectiveDelegation()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_17);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_24);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ } else if (!genFeature.isVolatile()) {
+ if (genFeature.isContainer()) {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genFeature.getEObjectCast());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("java.lang.IllegalArgumentException"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getInternalTypeCast());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_37);
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_42);
+ }
+ } else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_48);
+ if (!genFeature.isBidirectional()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_53);
+ } else {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_56);
+ }
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getInternalTypeCast());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_37);
+ if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_58);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_21);
+ } else if (genClass.isESetFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_63);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_65);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_68);
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_69);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_72);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_42);
+ }
+ }
+ } else {
+ if (genClass.isFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_74);
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_78);
+ }
+ }
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_82);
+ } else {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_86);
+ if (isJDK50) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_87);
+ } else {
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_90);
+ }
+ } else {
+ if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_91);
+ }
+ }
+ if (genFeature.isEnumType()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_91);
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_91);
+ }
+ } else {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genFeature.getInternalTypeCast());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_91);
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genFeature.getInternalTypeCast());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_91);
+ }
+ }
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ }
+ }
+ if (genFeature.isUnsettable()) {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_98);
+ } else if (genClass.isESetFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_63);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_65);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_68);
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_100);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(TEXT_103);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_17);
+ if (genClass.isFlag(genFeature)) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(genFeature.getSafeName());
+ }
+ stringBuffer.append(TEXT_17);
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_104);
+ } else {
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_106);
+ }
+ stringBuffer.append(TEXT_42);
+ }
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_100);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_103);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_107);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(TEXT_103);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_17);
+ if (genClass.isFlag(genFeature)) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(genFeature.getSafeName());
+ }
+ stringBuffer.append(TEXT_42);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("setAccessorOperation", setAccessorOperation);
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qMaMGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_109);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_110);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_111);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_17);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ } else {
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_113);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_17);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ }
+ } else if (setAccessorOperation != null) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(setAccessorOperation.getBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.TODO.override" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("setAccessorOperation", setAccessorOperation);
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qMaRWJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/setGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_114);
+ }
+ stringBuffer.append(TEXT_2);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java
new file mode 100644
index 000000000..f45e1de06
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeaturepostinsert {
+ protected static String nl;
+
+ public static synchronized ClasssetGenFeaturepostinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClasssetGenFeaturepostinsert result = new ClasssetGenFeaturepostinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClasssetGenFeaturepostinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> setAccessorOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object setAccessorOperationParameter : setAccessorOperationList) {
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+ public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.setAccessorOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("setAccessorOperation", this.setAccessorOperation);
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java
new file mode 100644
index 000000000..74d2ae0af
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeaturepreinsert {
+ protected static String nl;
+
+ public static synchronized ClasssetGenFeaturepreinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClasssetGenFeaturepreinsert result = new ClasssetGenFeaturepreinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClasssetGenFeaturepreinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> setAccessorOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object setAccessorOperationParameter : setAccessorOperationList) {
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+ public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.setAccessorOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("setAccessorOperation", this.setAccessorOperation);
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..7739951fd
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java
@@ -0,0 +1,325 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassunsetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized ClassunsetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassunsetGenFeatureTODOoverride result = new ClassunsetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public ClassunsetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..7c69d4444
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassunsetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized ClassunsetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassunsetGenFeatureannotationsinsert result = new ClassunsetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassunsetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java
new file mode 100644
index 000000000..3d4bfdaa2
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassunsetGenFeaturejavadocinsert {
+ protected static String nl;
+
+ public static synchronized ClassunsetGenFeaturejavadocinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassunsetGenFeaturejavadocinsert result = new ClassunsetGenFeaturejavadocinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ClassunsetGenFeaturejavadocinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java
new file mode 100644
index 000000000..9bec2e0d3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java
@@ -0,0 +1,393 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassunsetGenFeaturejavadocoverride {
+ protected static String nl;
+
+ public static synchronized ClassunsetGenFeaturejavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassunsetGenFeaturejavadocoverride result = new ClassunsetGenFeaturejavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Unsets the value of the '{@link ";
+ protected final String TEXT_2 = "#";
+ protected final String TEXT_3 = " <em>";
+ protected final String TEXT_4 = "</em>}' ";
+ protected final String TEXT_5 = ".";
+ protected final String TEXT_6 = NL;
+ protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_8 = NL + "\t * @see #isSet";
+ protected final String TEXT_9 = "()";
+ protected final String TEXT_10 = NL + "\t * @see #";
+ protected final String TEXT_11 = NL + "\t * @see #set";
+ protected final String TEXT_12 = "(";
+ protected final String TEXT_13 = ")";
+ protected final String TEXT_14 = NL + "\t * ";
+ protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;
+ protected final String TEXT_16 = NL;
+
+ public ClassunsetGenFeaturejavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(TEXT_16);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(TEXT_6);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0rieAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_7);
+ if (!genFeature.isSuppressedIsSetVisibility()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_9);
+ if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getRawImportedBoundType());
+ stringBuffer.append(TEXT_13);
+ }
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_15);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java
new file mode 100644
index 000000000..b872c5717
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java
@@ -0,0 +1,887 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassunsetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized ClassunsetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ClassunsetGenFeatureoverride result = new ClassunsetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_4 = NL + "\t * ";
+ protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_6 = NL + "\t@Deprecated";
+ protected final String TEXT_7 = NL + "\tvoid unset";
+ protected final String TEXT_8 = "();" + NL;
+ protected final String TEXT_9 = NL + "\t@Override";
+ protected final String TEXT_10 = NL + "\tpublic void unset";
+ protected final String TEXT_11 = "_";
+ protected final String TEXT_12 = "()" + NL + "\t{";
+ protected final String TEXT_13 = NL + "\t\teDynamicUnset(";
+ protected final String TEXT_14 = " - ESTATIC_FEATURE_COUNT";
+ protected final String TEXT_15 = ", ";
+ protected final String TEXT_16 = ");";
+ protected final String TEXT_17 = NL + "\t\teUnset(";
+ protected final String TEXT_18 = NL + "\t\t";
+ protected final String TEXT_19 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";
+ protected final String TEXT_20 = " ";
+ protected final String TEXT_21 = " = (";
+ protected final String TEXT_22 = ")eVirtualGet(";
+ protected final String TEXT_23 = NL + "\t\tif (";
+ protected final String TEXT_24 = " != null) ((";
+ protected final String TEXT_25 = ".Unsettable";
+ protected final String TEXT_26 = ")";
+ protected final String TEXT_27 = ").unset();";
+ protected final String TEXT_28 = " != null)" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_29 = " msgs = null;";
+ protected final String TEXT_30 = NL + "\t\t\tmsgs = ";
+ protected final String TEXT_31 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_32 = ", null, msgs);";
+ protected final String TEXT_33 = ".eInverseRemove(this, ";
+ protected final String TEXT_34 = ".class, msgs);";
+ protected final String TEXT_35 = NL + "\t\t\tmsgs = basicUnset";
+ protected final String TEXT_36 = "(msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}" + NL
+ + "\t\telse" + NL + "\t\t{";
+ protected final String TEXT_37 = NL + "\t\t\tboolean old";
+ protected final String TEXT_38 = "ESet = eVirtualIsSet(";
+ protected final String TEXT_39 = "ESet = (";
+ protected final String TEXT_40 = " & ";
+ protected final String TEXT_41 = "_ESETFLAG) != 0;";
+ protected final String TEXT_42 = NL + "\t\t\t";
+ protected final String TEXT_43 = " &= ~";
+ protected final String TEXT_44 = "_ESETFLAG;";
+ protected final String TEXT_45 = "ESet = ";
+ protected final String TEXT_46 = "ESet;";
+ protected final String TEXT_47 = "ESet = false;";
+ protected final String TEXT_48 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";
+ protected final String TEXT_49 = "(this, ";
+ protected final String TEXT_50 = ".UNSET, ";
+ protected final String TEXT_51 = ", null, null, old";
+ protected final String TEXT_52 = "ESet));";
+ protected final String TEXT_53 = NL + "\t\t}";
+ protected final String TEXT_54 = " old";
+ protected final String TEXT_55 = "_EFLAG) != 0;";
+ protected final String TEXT_56 = " = ";
+ protected final String TEXT_57 = "_EFLAG_VALUES[(";
+ protected final String TEXT_58 = "_EFLAG) >>> ";
+ protected final String TEXT_59 = "_EFLAG_OFFSET];";
+ protected final String TEXT_60 = NL + "\t\tObject old";
+ protected final String TEXT_61 = " = eVirtualUnset(";
+ protected final String TEXT_62 = ";";
+ protected final String TEXT_63 = NL + "\t\tboolean isSetChange = old";
+ protected final String TEXT_64 = " != EVIRTUAL_NO_VALUE;";
+ protected final String TEXT_65 = NL + "\t\tboolean old";
+ protected final String TEXT_66 = " = null;";
+ protected final String TEXT_67 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+ protected final String TEXT_68 = "isSetChange ? old";
+ protected final String TEXT_69 = " : null";
+ protected final String TEXT_70 = "old";
+ protected final String TEXT_71 = ", null, ";
+ protected final String TEXT_72 = "isSetChange";
+ protected final String TEXT_73 = "ESet";
+ protected final String TEXT_74 = "));";
+ protected final String TEXT_75 = ") ";
+ protected final String TEXT_76 = " |= ";
+ protected final String TEXT_77 = "_EFLAG; else ";
+ protected final String TEXT_78 = "_EFLAG;";
+ protected final String TEXT_79 = " & ~";
+ protected final String TEXT_80 = "_EFLAG | ";
+ protected final String TEXT_81 = "_EFLAG_DEFAULT;";
+ protected final String TEXT_82 = " : ";
+ protected final String TEXT_83 = NL + "\t\t((";
+ protected final String TEXT_84 = ".Internal)((";
+ protected final String TEXT_85 = ".Internal.Wrapper)get";
+ protected final String TEXT_86 = "()).featureMap()).clear(";
+ protected final String TEXT_87 = ".Internal)get";
+ protected final String TEXT_88 = "()).clear(";
+ protected final String TEXT_89 = NL + "\t}" + NL;
+ protected final String TEXT_90 = NL;
+
+ public ClassunsetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(TEXT_90);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isInterface) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0rPjEGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/unsetGenFeature.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_3);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/unsetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0rrn8GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ } else {
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()
+ && !genClass.hasCollidingUnsetAccessorOperation(genFeature)
+ && !genFeature.isSuppressedUnsetVisibility()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getAccessorName());
+ if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else if (genModel.isReflectiveDelegation()) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_19);
+ } else if (!genFeature.isVolatile()) {
+ if (genFeature.isListType()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_27);
+ } else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_29);
+ if (!genFeature.isBidirectional()) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_32);
+ } else {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_34);
+ }
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_36);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ } else if (genClass.isESetFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_44);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_47);
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_52);
+ }
+ stringBuffer.append(TEXT_53);
+ } else {
+ if (genClass.isFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_55);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_59);
+ }
+ }
+ } else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_62);
+ }
+ }
+ if (!genModel.isSuppressNotification()) {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_64);
+ } else if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_41);
+ } else {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_46);
+ }
+ }
+ if (genFeature.isReferenceType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_66);
+ if (!genModel.isVirtualDelegation()) {
+ if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_47);
+ }
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_67);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_15);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_69);
+ } else {
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_71);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_72);
+ } else {
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_73);
+ }
+ stringBuffer.append(TEXT_74);
+ }
+ } else {
+ if (genClass.isFlag(genFeature)) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_78);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_81);
+ }
+ } else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_62);
+ }
+ if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+ if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_47);
+ }
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_67);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_15);
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getEDefault());
+ } else {
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_15);
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_72);
+ } else {
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_73);
+ }
+ stringBuffer.append(TEXT_74);
+ }
+ }
+ }
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else {
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ }
+ } else if (genClass.getUnsetAccessorOperation(genFeature) != null) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(
+ genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0r_J8GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/unsetGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_89);
+ }
+ stringBuffer.append(TEXT_2);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..6bda22c59
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java
@@ -0,0 +1,326 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicGetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized InterfacebasicGetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicGetGenFeatureTODOoverride result = new InterfacebasicGetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL + "\t\t// -> do not perform proxy resolution" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public InterfacebasicGetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..95905d3cc
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicGetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized InterfacebasicGetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicGetGenFeatureannotationsinsert result = new InterfacebasicGetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacebasicGetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java
new file mode 100644
index 000000000..541e66d7a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java
@@ -0,0 +1,539 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicGetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized InterfacebasicGetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicGetGenFeatureoverride result = new InterfacebasicGetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_2 = NL + "\t * ";
+ protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "\t@Deprecated";
+ protected final String TEXT_6 = NL + "\tpublic ";
+ protected final String TEXT_7 = " basicGet";
+ protected final String TEXT_8 = "()" + NL + "\t{";
+ protected final String TEXT_9 = NL + "\t\treturn (";
+ protected final String TEXT_10 = ")eDynamicGet(";
+ protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";
+ protected final String TEXT_12 = ", ";
+ protected final String TEXT_13 = ", false, ";
+ protected final String TEXT_14 = ");";
+ protected final String TEXT_15 = NL + "\t\treturn ";
+ protected final String TEXT_16 = "(";
+ protected final String TEXT_17 = ")";
+ protected final String TEXT_18 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)";
+ protected final String TEXT_19 = ").";
+ protected final String TEXT_20 = "()";
+ protected final String TEXT_21 = ";";
+ protected final String TEXT_22 = NL + "\t\tif (eContainerFeatureID() != ";
+ protected final String TEXT_23 = ") return null;" + NL + "\t\treturn (";
+ protected final String TEXT_24 = ")eInternalContainer();";
+ protected final String TEXT_25 = ")eVirtualGet(";
+ protected final String TEXT_26 = ")((";
+ protected final String TEXT_27 = ".Internal.Wrapper)get";
+ protected final String TEXT_28 = "()).featureMap().get(";
+ protected final String TEXT_29 = ", false);";
+ protected final String TEXT_30 = ")get";
+ protected final String TEXT_31 = "().get(";
+ protected final String TEXT_32 = NL + "\t\t";
+ protected final String TEXT_33 = NL + "\t}" + NL + NL;
+ protected final String TEXT_34 = NL;
+
+ public InterfacebasicGetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(TEXT_34);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_3);
+ if (isJDK50) { //Class/basicGetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0w5fIGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xDQIGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());
+ stringBuffer.append(TEXT_14);
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_18);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ } else if (genFeature.isContainer()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_24);
+ } else if (!genFeature.isVolatile()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_14);
+ } else {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ }
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_29);
+ } else {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_29);
+ }
+ } else if (genFeature.hasGetterBody()) {
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xNBIGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/basicGetGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_33);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java
new file mode 100644
index 000000000..4bc8c5138
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicGetGenFeaturepreinsert {
+ protected static String nl;
+
+ public static synchronized InterfacebasicGetGenFeaturepreinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicGetGenFeaturepreinsert result = new InterfacebasicGetGenFeaturepreinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacebasicGetGenFeaturepreinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..5669b4ce2
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java
@@ -0,0 +1,329 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicSetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized InterfacebasicSetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicSetGenFeatureTODOoverride result = new InterfacebasicSetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the contained '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL
+ + "\t\t// -> this method is automatically invoked to keep the containment relationship in synch" + NL
+ + "\t\t// -> do not modify other features" + NL
+ + "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"
+ + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public InterfacebasicSetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..7b6942b94
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicSetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized InterfacebasicSetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicSetGenFeatureannotationsinsert result = new InterfacebasicSetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacebasicSetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java
new file mode 100644
index 000000000..c438d0266
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java
@@ -0,0 +1,812 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicSetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized InterfacebasicSetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicSetGenFeatureoverride result = new InterfacebasicSetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_2 = NL + "\t * ";
+ protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "\t@Deprecated";
+ protected final String TEXT_6 = NL + "\tpublic ";
+ protected final String TEXT_7 = " basicSet";
+ protected final String TEXT_8 = "(";
+ protected final String TEXT_9 = " new";
+ protected final String TEXT_10 = ", ";
+ protected final String TEXT_11 = " msgs)" + NL + "\t{";
+ protected final String TEXT_12 = NL + "\t\tmsgs = eBasicSetContainer(";
+ protected final String TEXT_13 = ", msgs);";
+ protected final String TEXT_14 = NL + "\t\treturn msgs;";
+ protected final String TEXT_15 = NL + "\t\tmsgs = eDynamicInverseAdd(";
+ protected final String TEXT_16 = NL + "\t\tObject old";
+ protected final String TEXT_17 = " = eVirtualSet(";
+ protected final String TEXT_18 = ", new";
+ protected final String TEXT_19 = ");";
+ protected final String TEXT_20 = NL + "\t\t";
+ protected final String TEXT_21 = " old";
+ protected final String TEXT_22 = " = ";
+ protected final String TEXT_23 = ";" + NL + "\t\t";
+ protected final String TEXT_24 = " = new";
+ protected final String TEXT_25 = ";";
+ protected final String TEXT_26 = NL + "\t\tboolean isSetChange = old";
+ protected final String TEXT_27 = " == EVIRTUAL_NO_VALUE;";
+ protected final String TEXT_28 = NL + "\t\tboolean old";
+ protected final String TEXT_29 = "ESet = (";
+ protected final String TEXT_30 = " & ";
+ protected final String TEXT_31 = "_ESETFLAG) != 0;";
+ protected final String TEXT_32 = " |= ";
+ protected final String TEXT_33 = "_ESETFLAG;";
+ protected final String TEXT_34 = "ESet = ";
+ protected final String TEXT_35 = "ESet;";
+ protected final String TEXT_36 = "ESet = true;";
+ protected final String TEXT_37 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{";
+ protected final String TEXT_38 = NL + "\t\t\t";
+ protected final String TEXT_39 = " notification = new ";
+ protected final String TEXT_40 = "(this, ";
+ protected final String TEXT_41 = ".SET, ";
+ protected final String TEXT_42 = "isSetChange ? null : old";
+ protected final String TEXT_43 = "old";
+ protected final String TEXT_44 = "isSetChange";
+ protected final String TEXT_45 = "!old";
+ protected final String TEXT_46 = "ESet";
+ protected final String TEXT_47 = " == EVIRTUAL_NO_VALUE ? null : old";
+ protected final String TEXT_48 = NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);"
+ + NL + "\t\t}";
+ protected final String TEXT_49 = NL + "\t\treturn ((";
+ protected final String TEXT_50 = ".Internal)((";
+ protected final String TEXT_51 = ".Internal.Wrapper)get";
+ protected final String TEXT_52 = "()).featureMap()).basicAdd(";
+ protected final String TEXT_53 = ".Internal)get";
+ protected final String TEXT_54 = "()).basicAdd(";
+ protected final String TEXT_55 = NL + "\t}" + NL + NL;
+ protected final String TEXT_56 = NL;
+
+ public InterfacebasicSetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(TEXT_56);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_3);
+ if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xpGAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getImportedInternalType(genClass));
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_11);
+ if (genFeature.isContainer()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xy3AGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_14);
+ } else if (genModel.isDynamicDelegation()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xy3AGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_14);
+ } else if (!genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xy3AGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_19);
+ } else {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_25);
+ }
+ if (genFeature.isUnsettable()) {
+ if (genModel.isVirtualDelegation()) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_27);
+ }
+ } else if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_31);
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_33);
+ }
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_35);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_36);
+ }
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_37);
+ if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_10);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_10);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_19);
+ } else {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_10);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_48);
+ }
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_14);
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_13);
+ } else {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_13);
+ }
+ } else {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oFGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/basicSetGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_55);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java
new file mode 100644
index 000000000..e2c4ee6de
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicSetGenFeaturepostinsert {
+ protected static String nl;
+
+ public static synchronized InterfacebasicSetGenFeaturepostinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicSetGenFeaturepostinsert result = new InterfacebasicSetGenFeaturepostinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacebasicSetGenFeaturepostinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java
new file mode 100644
index 000000000..6b2d3e7e3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicSetGenFeaturepreinsert {
+ protected static String nl;
+
+ public static synchronized InterfacebasicSetGenFeaturepreinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicSetGenFeaturepreinsert result = new InterfacebasicSetGenFeaturepreinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacebasicSetGenFeaturepreinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..00d0fb5e1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java
@@ -0,0 +1,329 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicUnsetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized InterfacebasicUnsetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicUnsetGenFeatureTODOoverride result = new InterfacebasicUnsetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the contained '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL
+ + "\t\t// -> this method is automatically invoked to keep the containment relationship in synch" + NL
+ + "\t\t// -> do not modify other features" + NL
+ + "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"
+ + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public InterfacebasicUnsetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..b76e9dbaa
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicUnsetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized InterfacebasicUnsetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicUnsetGenFeatureannotationsinsert result = new InterfacebasicUnsetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacebasicUnsetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java
new file mode 100644
index 000000000..d751992df
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java
@@ -0,0 +1,550 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicUnsetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized InterfacebasicUnsetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacebasicUnsetGenFeatureoverride result = new InterfacebasicUnsetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_2 = NL + "\t * ";
+ protected final String TEXT_3 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL + "\t@Deprecated";
+ protected final String TEXT_6 = NL + "\tpublic ";
+ protected final String TEXT_7 = " basicUnset";
+ protected final String TEXT_8 = "(";
+ protected final String TEXT_9 = " msgs)" + NL + "\t{";
+ protected final String TEXT_10 = NL + "\t\treturn eDynamicInverseRemove(";
+ protected final String TEXT_11 = "basicGet";
+ protected final String TEXT_12 = "(), ";
+ protected final String TEXT_13 = ", msgs);";
+ protected final String TEXT_14 = "Object old";
+ protected final String TEXT_15 = " = ";
+ protected final String TEXT_16 = "eVirtualUnset(";
+ protected final String TEXT_17 = ");";
+ protected final String TEXT_18 = NL + "\t\t";
+ protected final String TEXT_19 = " old";
+ protected final String TEXT_20 = ";";
+ protected final String TEXT_21 = " = null;";
+ protected final String TEXT_22 = NL + "\t\tboolean isSetChange = old";
+ protected final String TEXT_23 = " != EVIRTUAL_NO_VALUE;";
+ protected final String TEXT_24 = NL + "\t\tboolean old";
+ protected final String TEXT_25 = "ESet = (";
+ protected final String TEXT_26 = " & ";
+ protected final String TEXT_27 = "_ESETFLAG) != 0;";
+ protected final String TEXT_28 = " &= ~";
+ protected final String TEXT_29 = "_ESETFLAG;";
+ protected final String TEXT_30 = "ESet = ";
+ protected final String TEXT_31 = "ESet;";
+ protected final String TEXT_32 = "ESet = false;";
+ protected final String TEXT_33 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_34 = " notification = new ";
+ protected final String TEXT_35 = "(this, ";
+ protected final String TEXT_36 = ".UNSET, ";
+ protected final String TEXT_37 = ", ";
+ protected final String TEXT_38 = "isSetChange ? old";
+ protected final String TEXT_39 = " : null";
+ protected final String TEXT_40 = "old";
+ protected final String TEXT_41 = ", null, ";
+ protected final String TEXT_42 = "isSetChange";
+ protected final String TEXT_43 = "ESet";
+ protected final String TEXT_44 = ");" + NL
+ + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}" + NL
+ + "\t\treturn msgs;";
+ protected final String TEXT_45 = NL + "\t}" + NL + NL;
+ protected final String TEXT_46 = NL;
+
+ public InterfacebasicUnsetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(TEXT_46);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_3);
+ if (isJDK50) { //Class/basicUnsetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0zb1wGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_9);
+ if (genModel.isDynamicDelegation()) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getAsInternalEObject("", false));
+ if (genFeature.isResolveProxies()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getAccessorName());
+ } else {
+ stringBuffer.append(genFeature.getGetAccessor());
+ }
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_13);
+ } else if (!genFeature.isVolatile()) {
+ if (genModel.isVirtualDelegation()) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_15);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ }
+ if (genModel.isVirtualDelegation()) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_23);
+ }
+ } else if (genClass.isESetFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_29);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_32);
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_37);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_39);
+ } else {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_41);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_42);
+ } else {
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_43);
+ }
+ stringBuffer.append(TEXT_44);
+ }
+ } else {
+ stringBuffer.append(TEXT_4);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0zlmwGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/basicUnsetGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_45);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java
new file mode 100644
index 000000000..110ec9af7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacedeclaredFieldGenFeatureinsert {
+ protected static String nl;
+
+ public static synchronized InterfacedeclaredFieldGenFeatureinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacedeclaredFieldGenFeatureinsert result = new InterfacedeclaredFieldGenFeatureinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacedeclaredFieldGenFeatureinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java
new file mode 100644
index 000000000..1223974d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java
@@ -0,0 +1,780 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacedeclaredFieldGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized InterfacedeclaredFieldGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacedeclaredFieldGenFeatureoverride result = new InterfacedeclaredFieldGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached setting delegate for the '{@link #";
+ protected final String TEXT_3 = "() <em>";
+ protected final String TEXT_4 = "</em>}' ";
+ protected final String TEXT_5 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @see #";
+ protected final String TEXT_6 = "()";
+ protected final String TEXT_7 = NL + "\t * ";
+ protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_9 = NL + "\t@";
+ protected final String TEXT_10 = NL + "\t@Deprecated";
+ protected final String TEXT_11 = NL + "\tprotected ";
+ protected final String TEXT_12 = ".Internal.SettingDelegate ";
+ protected final String TEXT_13 = "__ESETTING_DELEGATE = ((";
+ protected final String TEXT_14 = ".Internal)";
+ protected final String TEXT_15 = ").getSettingDelegate();" + NL;
+ protected final String TEXT_16 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";
+ protected final String TEXT_17 = " ";
+ protected final String TEXT_18 = ";" + NL;
+ protected final String TEXT_19 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";
+ protected final String TEXT_20 = "</em>}' array accessor." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+ protected final String TEXT_21 = NL + "\t@SuppressWarnings(\"rawtypes\")";
+ protected final String TEXT_22 = NL + "\tprotected static final ";
+ protected final String TEXT_23 = "[] ";
+ protected final String TEXT_24 = "_EEMPTY_ARRAY = new ";
+ protected final String TEXT_25 = " [0]";
+ protected final String TEXT_26 = NL + "\t/**" + NL + "\t * The default value of the '{@link #";
+ protected final String TEXT_27 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_28 = "; // TODO The default value literal \"";
+ protected final String TEXT_29 = "\" is not valid.";
+ protected final String TEXT_30 = " = ";
+ protected final String TEXT_31 = ";";
+ protected final String TEXT_32 = NL;
+ protected final String TEXT_33 = NL + "\t/**" + NL
+ + "\t * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set."
+ + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+ + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_34 = NL + "\tprotected int ";
+ protected final String TEXT_35 = " = 0;" + NL;
+ protected final String TEXT_36 = NL + "\t/**" + NL
+ + "\t * The offset of the flags representing the value of the '{@link #";
+ protected final String TEXT_37 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_38 = NL + "\tprotected static final int ";
+ protected final String TEXT_39 = "_EFLAG_OFFSET = ";
+ protected final String TEXT_40 = ";" + NL + "" + NL + "\t/**" + NL
+ + "\t * The flags representing the default value of the '{@link #";
+ protected final String TEXT_41 = "_EFLAG_DEFAULT = ";
+ protected final String TEXT_42 = ".ordinal()";
+ protected final String TEXT_43 = ".VALUES.indexOf(";
+ protected final String TEXT_44 = ")";
+ protected final String TEXT_45 = " << ";
+ protected final String TEXT_46 = "_EFLAG_OFFSET;" + NL + "" + NL + "\t/**" + NL
+ + "\t * The array of enumeration values for '{@link ";
+ protected final String TEXT_47 = "}'" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_48 = NL + "\tprivate static final ";
+ protected final String TEXT_49 = "_EFLAG_VALUES = ";
+ protected final String TEXT_50 = ".values()";
+ protected final String TEXT_51 = "(";
+ protected final String TEXT_52 = "[])";
+ protected final String TEXT_53 = ".VALUES.toArray(new ";
+ protected final String TEXT_54 = "[";
+ protected final String TEXT_55 = ".VALUES.size()])";
+ protected final String TEXT_56 = NL + "\t/**" + NL + "\t * The flag";
+ protected final String TEXT_57 = " representing the value of the '{@link #";
+ protected final String TEXT_58 = "_EFLAG = ";
+ protected final String TEXT_59 = "_EFLAG_OFFSET";
+ protected final String TEXT_60 = NL + "\t/**" + NL + "\t * The flag representing whether the ";
+ protected final String TEXT_61 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_62 = "_ESETFLAG = 1 << ";
+ protected final String TEXT_63 = NL + "\t/**" + NL + "\t * This is true if the ";
+ protected final String TEXT_64 = NL + "\tprotected boolean ";
+ protected final String TEXT_65 = "ESet;" + NL;
+ protected final String TEXT_66 = NL;
+
+ public InterfacedeclaredFieldGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(TEXT_66);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_15);
+ } else if (genFeature.isListType() || genFeature.isReferenceType()) {
+ if (genClass.isField(genFeature)) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getImportedInternalType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_18);
+ }
+ if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+ && !genFeature.isMapType()) {
+ String rawListItemType = genFeature.getRawListItemType(genClass);
+ int index = rawListItemType.indexOf('[');
+ String head = rawListItemType;
+ String tail = "";
+ if (index != -1) {
+ head = rawListItemType.substring(0, index);
+ tail = rawListItemType.substring(index);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (genFeature.getQualifiedListItemType(genClass).contains("<")
+ || genFeature.getArrayItemType(genClass).contains("<")) {
+ stringBuffer.append(TEXT_21);
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(rawListItemType);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(head);
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(tail);
+ stringBuffer.append(TEXT_18);
+ }
+ } else {
+ if (genFeature.hasEDefault() && (!genFeature.isVolatile() || !genModel.isReflectiveDelegation()
+ && (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) {
+ String staticDefaultValue = genFeature.getStaticDefaultValue();
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {
+ stringBuffer.append(TEXT_27);
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getEDefault());
+ if ("".equals(staticDefaultValue)) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getEcoreFeature().getDefaultValueLiteral());
+ stringBuffer.append(TEXT_29);
+ } else {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(staticDefaultValue);
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genModel.getNonNLS(staticDefaultValue));
+ }
+ stringBuffer.append(TEXT_32);
+ }
+ if (genClass.isField(genFeature)) {
+ if (genClass.isFlag(genFeature)) {
+ int flagIndex = genClass.getFlagIndex(genFeature);
+ if (flagIndex > 31 && flagIndex % 32 == 0) {
+ stringBuffer.append(TEXT_33);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer
+ .append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_35);
+ }
+ if (genFeature.isEnumType()) {
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_37);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(flagIndex % 32);
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_37);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_41);
+ if (isJDK50) {
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_42);
+ } else {
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_44);
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getTypeGenClassifier().getFormattedName());
+ stringBuffer.append(TEXT_47);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_49);
+ if (isJDK50) {
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_50);
+ } else {
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_55);
+ }
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genClass.getFlagSize(genFeature) > 1 ? "s" : "");
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genClass.getFlagMask(genFeature));
+ stringBuffer.append(TEXT_45);
+ if (genFeature.isEnumType()) {
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_59);
+ } else {
+ stringBuffer.append(flagIndex % 32);
+ }
+ stringBuffer.append(TEXT_18);
+ } else {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getSafeName());
+ if (genFeature.hasEDefault()) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getEDefault());
+ }
+ stringBuffer.append(TEXT_18);
+ }
+ }
+ }
+ if (genClass.isESetField(genFeature)) {
+ if (genClass.isESetFlag(genFeature)) {
+ int flagIndex = genClass.getESetFlagIndex(genFeature);
+ if (flagIndex > 31 && flagIndex % 32 == 0) {
+ stringBuffer.append(TEXT_33);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_35);
+ }
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_61);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(flagIndex % 32);
+ stringBuffer.append(TEXT_18);
+ } else {
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_61);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isGWT) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_65);
+ }
+ }
+ stringBuffer.append(TEXT_32);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vHWcGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_32);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicDelegation.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicDelegation.java
new file mode 100644
index 000000000..7e80d5f13
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicDelegation.java
@@ -0,0 +1,304 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacedynamicDelegation {
+ protected static String nl;
+
+ public static synchronized InterfacedynamicDelegation create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacedynamicDelegation result = new InterfacedynamicDelegation();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacedynamicDelegation() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepostinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepostinsert.java
new file mode 100644
index 000000000..5918639e3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepostinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacedynamicSetGenFeaturepostinsert {
+ protected static String nl;
+
+ public static synchronized InterfacedynamicSetGenFeaturepostinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacedynamicSetGenFeaturepostinsert result = new InterfacedynamicSetGenFeaturepostinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacedynamicSetGenFeaturepostinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> setAccessorOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object setAccessorOperationParameter : setAccessorOperationList) {
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+ public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.setAccessorOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("setAccessorOperation", this.setAccessorOperation);
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepreinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepreinsert.java
new file mode 100644
index 000000000..54613ccc2
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedynamicSetGenFeaturepreinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacedynamicSetGenFeaturepreinsert {
+ protected static String nl;
+
+ public static synchronized InterfacedynamicSetGenFeaturepreinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacedynamicSetGenFeaturepreinsert result = new InterfacedynamicSetGenFeaturepreinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacedynamicSetGenFeaturepreinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> setAccessorOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object setAccessorOperationParameter : setAccessorOperationList) {
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+ public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.setAccessorOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("setAccessorOperation", this.setAccessorOperation);
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java
new file mode 100644
index 000000000..42e0bc74e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java
@@ -0,0 +1,587 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceeIsSetoverride {
+ protected static String nl;
+
+ public static synchronized InterfaceeIsSetoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceeIsSetoverride result = new InterfaceeIsSetoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_2 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_3 = NL + "\t@Override";
+ protected final String TEXT_4 = NL + "\tpublic boolean eIsSet(int featureID)" + NL + "\t{" + NL
+ + "\t\tswitch (featureID";
+ protected final String TEXT_5 = ")" + NL + "\t\t{";
+ protected final String TEXT_6 = NL + "\t\t\tcase ";
+ protected final String TEXT_7 = ":";
+ protected final String TEXT_8 = NL + "\t\t\t\treturn isSet";
+ protected final String TEXT_9 = "();";
+ protected final String TEXT_10 = NL + "\t\t\t\treturn ";
+ protected final String TEXT_11 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";
+ protected final String TEXT_12 = NL + "\t\t\t\treturn !((";
+ protected final String TEXT_13 = ".Internal.Wrapper)";
+ protected final String TEXT_14 = "()).featureMap().isEmpty();";
+ protected final String TEXT_15 = " != null && !";
+ protected final String TEXT_16 = ".featureMap().isEmpty();";
+ protected final String TEXT_17 = ".isEmpty();";
+ protected final String TEXT_18 = NL + "\t\t\t\t";
+ protected final String TEXT_19 = " ";
+ protected final String TEXT_20 = " = (";
+ protected final String TEXT_21 = ")eVirtualGet(";
+ protected final String TEXT_22 = ");" + NL + "\t\t\t\treturn ";
+ protected final String TEXT_23 = NL + "\t\t\t\treturn !";
+ protected final String TEXT_24 = "().isEmpty();";
+ protected final String TEXT_25 = " != null;";
+ protected final String TEXT_26 = NL + "\t\t\t\treturn eVirtualGet(";
+ protected final String TEXT_27 = ") != null;";
+ protected final String TEXT_28 = NL + "\t\t\t\treturn basicGet";
+ protected final String TEXT_29 = "() != null;";
+ protected final String TEXT_30 = NL + "\t\t\t\treturn ((";
+ protected final String TEXT_31 = " & ";
+ protected final String TEXT_32 = "_EFLAG) != 0) != ";
+ protected final String TEXT_33 = ";";
+ protected final String TEXT_34 = NL + "\t\t\t\treturn (";
+ protected final String TEXT_35 = "_EFLAG) != ";
+ protected final String TEXT_36 = "_EFLAG_DEFAULT;";
+ protected final String TEXT_37 = " != ";
+ protected final String TEXT_38 = ", ";
+ protected final String TEXT_39 = ") != ";
+ protected final String TEXT_40 = "() != ";
+ protected final String TEXT_41 = " == null ? ";
+ protected final String TEXT_42 = " != null : !";
+ protected final String TEXT_43 = ".equals(";
+ protected final String TEXT_44 = ");";
+ protected final String TEXT_45 = "() != null : !";
+ protected final String TEXT_46 = "());";
+ protected final String TEXT_47 = NL + "\t\t\tdefault:";
+ protected final String TEXT_48 = NL + "\t\t}";
+ protected final String TEXT_49 = NL;
+ protected final String TEXT_50 = "\t\treturn super.eIsSet(featureID);";
+ protected final String TEXT_51 = "\t\treturn eDynamicIsSet(featureID);";
+ protected final String TEXT_52 = NL + "\t}" + NL + NL;
+ protected final String TEXT_53 = NL;
+
+ public InterfaceeIsSetoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(TEXT_53);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genModel.useGenerics()) {
+ for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {
+ if (genFeature.isListType() && !genFeature.isUnsettable() && !genFeature.isWrappedFeatureMapType()
+ && !genClass.isField(genFeature) && genFeature.isField()
+ && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_2);
+ break;
+ }
+ }
+ }
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_5);
+ for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {
+ String safeNameAccessor = genFeature.getSafeName();
+ if ("featureID".equals(safeNameAccessor)) {
+ safeNameAccessor = "this." + safeNameAccessor;
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_7);
+ if (genFeature.hasSettingDelegate()) {
+ if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_9);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_11);
+ }
+ } else if (genFeature.isListType() && !genFeature.isUnsettable()) {
+ if (genFeature.isWrappedFeatureMapType()) {
+ if (genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_14);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_16);
+ }
+ } else {
+ if (genClass.isField(genFeature)) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_17);
+ } else {
+ if (genFeature.isField()
+ && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_17);
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_24);
+ }
+ }
+ }
+ } else if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_9);
+ } else if (genFeature.isResolveProxies()) {
+ if (genClass.isField(genFeature)) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_25);
+ } else {
+ if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_27);
+ } else {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_29);
+ }
+ }
+ } else if (!genFeature.hasEDefault()) {
+ if (genClass.isField(genFeature)) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_25);
+ } else {
+ if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_27);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_29);
+ }
+ }
+ } else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {
+ if (genClass.isField(genFeature)) {
+ if (genClass.isFlag(genFeature)) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_33);
+ } else {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_36);
+ }
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_33);
+ }
+ } else {
+ if (genFeature.isEnumType() && genFeature.isField()
+ && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_33);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_33);
+ }
+ }
+ } else {//datatype
+ if (genClass.isField(genFeature)) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_44);
+ } else {
+ if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(safeNameAccessor);
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_46);
+ }
+ }
+ }
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_47);
+ } else { // {
+ stringBuffer.append(TEXT_48);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_50);
+ } else {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_51);
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_48);
+ } // }
+ stringBuffer.append(TEXT_52);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java
new file mode 100644
index 000000000..e497db061
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java
@@ -0,0 +1,401 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceeUnsetoverride {
+ protected static String nl;
+
+ public static synchronized InterfaceeUnsetoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceeUnsetoverride result = new InterfaceeUnsetoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_2 = NL + "\t@Override";
+ protected final String TEXT_3 = NL + "\tpublic void eUnset(int featureID)" + NL + "\t{" + NL
+ + "\t\tswitch (featureID";
+ protected final String TEXT_4 = ")" + NL + "\t\t{";
+ protected final String TEXT_5 = NL + "\t\t\tcase ";
+ protected final String TEXT_6 = ":";
+ protected final String TEXT_7 = NL + "\t\t\t\t((";
+ protected final String TEXT_8 = ".Internal.Wrapper)";
+ protected final String TEXT_9 = "()).featureMap().clear();";
+ protected final String TEXT_10 = NL + "\t\t\t\t";
+ protected final String TEXT_11 = "().clear();";
+ protected final String TEXT_12 = NL + "\t\t\t\tunset";
+ protected final String TEXT_13 = "();";
+ protected final String TEXT_14 = NL + "\t\t\t\tset";
+ protected final String TEXT_15 = "((";
+ protected final String TEXT_16 = ")null);";
+ protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";
+ protected final String TEXT_18 = "(";
+ protected final String TEXT_19 = ");";
+ protected final String TEXT_20 = NL + "\t\t\t\treturn;";
+ protected final String TEXT_21 = NL + "\t\t\tdefault:";
+ protected final String TEXT_22 = NL + "\t\t}";
+ protected final String TEXT_23 = NL;
+ protected final String TEXT_24 = "\t\tsuper.eUnset(featureID);";
+ protected final String TEXT_25 = "\t\teDynamicUnset(featureID);";
+ protected final String TEXT_26 = NL + "\t}" + NL + NL;
+ protected final String TEXT_27 = NL;
+
+ public InterfaceeUnsetoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(TEXT_27);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_2);
+ }
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_4);
+ for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(TEXT_6);
+ if (genFeature.isListType() && !genFeature.isUnsettable()) {
+ if (genFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_9);
+ } else {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_11);
+ }
+ } else if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_13);
+ } else if (!genFeature.hasEDefault()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_16);
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_17);
+ } else {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ }
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_21);
+ } else { // {
+ stringBuffer.append(TEXT_22);
+ }
+ if (genModel.isMinimalReflectiveMethods()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_24);
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_20);
+ }
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(indentDefaultCase);
+ stringBuffer.append(TEXT_25);
+ if (forceDefaultCase) {
+ stringBuffer.append(TEXT_20);
+ }
+ }
+ if (forceDefaultCase) { // {
+ stringBuffer.append(TEXT_22);
+ } // }
+ stringBuffer.append(TEXT_26);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceegfCustomconstructoroverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceegfCustomconstructoroverride.java
new file mode 100644
index 000000000..22f62d728
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceegfCustomconstructoroverride.java
@@ -0,0 +1,305 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceegfCustomconstructoroverride {
+ protected static String nl;
+
+ public static synchronized InterfaceegfCustomconstructoroverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceegfCustomconstructoroverride result = new InterfaceegfCustomconstructoroverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\tsuper();" + NL;
+ protected final String TEXT_2 = NL;
+
+ public InterfaceegfCustomconstructoroverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java
new file mode 100644
index 000000000..c37daa66a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java
@@ -0,0 +1,715 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenFeatureReifiedoverride {
+ protected static String nl;
+
+ public static synchronized InterfacegenFeatureReifiedoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegenFeatureReifiedoverride result = new InterfacegenFeatureReifiedoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL
+ + "\t * This is specialized for the more specific element type known in this context." + NL + "\t * @see #";
+ protected final String TEXT_3 = "()";
+ protected final String TEXT_4 = NL + "\t * ";
+ protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_6 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_7 = NL + "\t@Deprecated";
+ protected final String TEXT_8 = NL + "\t@Override";
+ protected final String TEXT_9 = NL + "\tpublic ";
+ protected final String TEXT_10 = "[] ";
+ protected final String TEXT_11 = "()" + NL + "\t{";
+ protected final String TEXT_12 = NL + "\t\t";
+ protected final String TEXT_13 = " list = (";
+ protected final String TEXT_14 = ")";
+ protected final String TEXT_15 = "();" + NL + "\t\tif (list.isEmpty()) return ";
+ protected final String TEXT_16 = "_EEMPTY_ARRAY;";
+ protected final String TEXT_17 = NL + "\t\tif (";
+ protected final String TEXT_18 = " == null || ";
+ protected final String TEXT_19 = ".isEmpty()) return ";
+ protected final String TEXT_20 = "_EEMPTY_ARRAY;" + NL + "\t\t";
+ protected final String TEXT_21 = ";";
+ protected final String TEXT_22 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";
+ protected final String TEXT_23 = "[])list.data();" + NL + "\t}" + NL;
+ protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL
+ + "\t * This is specialized for the more specific element type known in this context.";
+ protected final String TEXT_25 = NL;
+ protected final String TEXT_26 = " ";
+ protected final String TEXT_27 = "_";
+ protected final String TEXT_28 = " = (";
+ protected final String TEXT_29 = ")eVirtualGet(";
+ protected final String TEXT_30 = ");";
+ protected final String TEXT_31 = " == null)" + NL + "\t\t{";
+ protected final String TEXT_32 = NL + "\t\t\teVirtualSet(";
+ protected final String TEXT_33 = ", ";
+ protected final String TEXT_34 = " = new ";
+ protected final String TEXT_35 = NL + "\t\t\t";
+ protected final String TEXT_36 = NL + "\t\t}" + NL + "\t\treturn ";
+ protected final String TEXT_37 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_38 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL
+ + "\t * This is specialized for the more specific type known in this context.";
+ protected final String TEXT_39 = " basicSet";
+ protected final String TEXT_40 = "(";
+ protected final String TEXT_41 = " new";
+ protected final String TEXT_42 = " msgs)" + NL + "\t{" + NL + "\t\treturn super.basicSet";
+ protected final String TEXT_43 = "(new";
+ protected final String TEXT_44 = ", msgs);" + NL + "\t}" + NL;
+ protected final String TEXT_45 = NL + "\tpublic void set";
+ protected final String TEXT_46 = ")" + NL + "\t{" + NL + "\t\tsuper.set";
+ protected final String TEXT_47 = ");" + NL + "\t}" + NL;
+ protected final String TEXT_48 = NL;
+
+ public InterfacegenFeatureReifiedoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> classExtendsGenClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> classExtendsAllGenFeaturesList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object classExtendsGenClassParameter : classExtendsGenClassList) {
+ for (Object classExtendsAllGenFeaturesParameter : classExtendsAllGenFeaturesList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.classExtendsGenClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) classExtendsGenClassParameter;
+ this.classExtendsAllGenFeatures = (java.util.List) classExtendsAllGenFeaturesParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(TEXT_48);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("classExtendsGenClass", this.classExtendsGenClass);
+ parameterValues.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass classExtendsGenClass = null;
+
+ public void set_classExtendsGenClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.classExtendsGenClass = object;
+ }
+
+ protected java.util.List classExtendsAllGenFeatures = null;
+
+ public void set_classExtendsAllGenFeatures(java.util.List object) {
+ this.classExtendsAllGenFeatures = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("classExtendsGenClass", this.classExtendsGenClass);
+ parameters.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+ && !genFeature.isMapType()) {
+ String arrayElementType = genFeature.getArrayItemType(genClass);
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(arrayElementType);
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_11);
+ if (genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_16);
+ } else {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(arrayElementType);
+ stringBuffer.append(TEXT_23);
+ }
+ if (genFeature.isGet() && genFeature.isListType()) {
+ stringBuffer.append(TEXT_24);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_25);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wTpQGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (genFeature.isListType() && genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getGetAccessor());
+ if (genClass.hasCollidingGetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(TEXT_25);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wczMGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_30);
+ }
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_31);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getListConstructor(genFeature));
+ stringBuffer.append(TEXT_30);
+ } else {
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getListConstructor(genFeature));
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");
+ stringBuffer.append(TEXT_37);
+ }
+ if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {
+ stringBuffer.append(TEXT_38);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_25);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xpGAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ if (classExtendsAllGenFeatures.contains(genFeature)) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getImportedInternalType(genClass));
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_44);
+ }
+ if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {
+ stringBuffer.append(TEXT_38);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_25);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ysO4GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ {
+ GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_7);
+ }
+ if (classExtendsAllGenFeatures.contains(genFeature)) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getAccessorName());
+ if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+ : setAccessorOperation.getGenParameters().get(0).getName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getAccessorName());
+ if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_27);
+ }
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+ : setAccessorOperation.getGenParameters().get(0).getName());
+ stringBuffer.append(TEXT_47);
+ }
+ }
+ stringBuffer.append(TEXT_25);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java
new file mode 100644
index 000000000..eefa90db6
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenFeatureinsert {
+ protected static String nl;
+
+ public static synchronized InterfacegenFeatureinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegenFeatureinsert result = new InterfacegenFeatureinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacegenFeatureinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java
new file mode 100644
index 000000000..4f7acf7a7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java
@@ -0,0 +1,841 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized InterfacegenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegenFeatureoverride result = new InterfacegenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_3 = NL + "\t * ";
+ protected final String TEXT_4 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_5 = NL + "\t";
+ protected final String TEXT_6 = "[] ";
+ protected final String TEXT_7 = "();" + NL;
+ protected final String TEXT_8 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_9 = NL + "\t@Deprecated";
+ protected final String TEXT_10 = NL + "\t@Override";
+ protected final String TEXT_11 = NL + "\tpublic ";
+ protected final String TEXT_12 = "()" + NL + "\t{";
+ protected final String TEXT_13 = NL + "\t\t";
+ protected final String TEXT_14 = " list = (";
+ protected final String TEXT_15 = ")";
+ protected final String TEXT_16 = "();" + NL + "\t\tif (list.isEmpty()) return ";
+ protected final String TEXT_17 = "_EEMPTY_ARRAY;";
+ protected final String TEXT_18 = NL + "\t\tif (";
+ protected final String TEXT_19 = " == null || ";
+ protected final String TEXT_20 = ".isEmpty()) return ";
+ protected final String TEXT_21 = "_EEMPTY_ARRAY;" + NL + "\t\t";
+ protected final String TEXT_22 = ";";
+ protected final String TEXT_23 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";
+ protected final String TEXT_24 = "[])list.data();" + NL + "\t}" + NL;
+ protected final String TEXT_25 = " get";
+ protected final String TEXT_26 = "(int index);" + NL;
+ protected final String TEXT_27 = "(int index)" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_28 = "(";
+ protected final String TEXT_29 = "().get(index);" + NL + "\t}" + NL;
+ protected final String TEXT_30 = NL + "\tint get";
+ protected final String TEXT_31 = "Length();" + NL;
+ protected final String TEXT_32 = NL + "\tpublic int get";
+ protected final String TEXT_33 = "Length()" + NL + "\t{";
+ protected final String TEXT_34 = NL + "\t\treturn ";
+ protected final String TEXT_35 = "().size();";
+ protected final String TEXT_36 = " == null ? 0 : ";
+ protected final String TEXT_37 = ".size();";
+ protected final String TEXT_38 = NL + "\t}" + NL;
+ protected final String TEXT_39 = NL + "\tvoid set";
+ protected final String TEXT_40 = "[] new";
+ protected final String TEXT_41 = ");" + NL;
+ protected final String TEXT_42 = NL + "\tpublic void set";
+ protected final String TEXT_43 = ")" + NL + "\t{" + NL + "\t\t((";
+ protected final String TEXT_44 = "()).setData(new";
+ protected final String TEXT_45 = ".length, new";
+ protected final String TEXT_46 = ");" + NL + "\t}" + NL;
+ protected final String TEXT_47 = "(int index, ";
+ protected final String TEXT_48 = " element);" + NL;
+ protected final String TEXT_49 = " element)" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_50 = "().set(index, element);" + NL + "\t}" + NL;
+ protected final String TEXT_51 = NL;
+ protected final String TEXT_52 = NL;
+
+ public InterfacegenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(TEXT_52);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+ && !genFeature.isMapType()) {
+ String arrayElementType = genFeature.getArrayItemType(genClass);
+ stringBuffer.append(TEXT_2);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_4);
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(arrayElementType);
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_7);
+ } else {
+ if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {
+ stringBuffer.append(TEXT_8);
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(arrayElementType);
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genFeature.getGetArrayAccessor());
+ stringBuffer.append(TEXT_12);
+ if (genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_17);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(arrayElementType);
+ stringBuffer.append(TEXT_24);
+ }
+ stringBuffer.append(TEXT_2);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_4);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_26);
+ } else {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_27);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_15);
+ }
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_29);
+ }
+ stringBuffer.append(TEXT_2);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_4);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_31);
+ } else {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_33);
+ if (genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_35);
+ } else {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_37);
+ }
+ stringBuffer.append(TEXT_38);
+ }
+ stringBuffer.append(TEXT_2);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_4);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_41);
+ } else {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_2);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_4);
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_48);
+ } else {
+ if (useInterfaceOverrideAnnotation) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genFeature.getListItemType(genClass));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_50);
+ }
+ }
+ if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vkCYGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/getGenFeature.override.javajetinc
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicGet()) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wwVMGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/basicGetGenFeature.override.javajetinc
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xWLEGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/basicSetGenFeature.override.javajetinc
+ }
+ if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0yPi8GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/setGenFeature.override.javajetinc
+ }
+ if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicUnset()) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0zSEwGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class.basicUnsetGenFeature.override.javajetinc
+ }
+ if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0z4hsGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/unsetGenFeature.override.javajetinc
+ }
+ if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00oIkGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/isSetGenFeature.override.javajetinc
+ }
+ stringBuffer.append(TEXT_51);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_010bYGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_51);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java
new file mode 100644
index 000000000..cd08a78f9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenOperationannotationsinsert {
+ protected static String nl;
+
+ public static synchronized InterfacegenOperationannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegenOperationannotationsinsert result = new InterfacegenOperationannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacegenOperationannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java
new file mode 100644
index 000000000..5879fb5ce
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenOperationinsert {
+ protected static String nl;
+
+ public static synchronized InterfacegenOperationinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegenOperationinsert result = new InterfacegenOperationinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacegenOperationinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java
new file mode 100644
index 000000000..bcecbfba3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenOperationjavadocinsert {
+ protected static String nl;
+
+ public static synchronized InterfacegenOperationjavadocinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegenOperationjavadocinsert result = new InterfacegenOperationjavadocinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacegenOperationjavadocinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java
new file mode 100644
index 000000000..e1acc53e4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java
@@ -0,0 +1,406 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenOperationjavadocoverride {
+ protected static String nl;
+
+ public static synchronized InterfacegenOperationjavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegenOperationjavadocoverride result = new InterfacegenOperationjavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_4 = NL + "\t * <!-- begin-model-doc -->";
+ protected final String TEXT_5 = NL + "\t * ";
+ protected final String TEXT_6 = NL + "\t * @param ";
+ protected final String TEXT_7 = NL + "\t * ";
+ protected final String TEXT_8 = " ";
+ protected final String TEXT_9 = NL + "\t * <!-- end-model-doc -->";
+ protected final String TEXT_10 = NL + "\t * @model ";
+ protected final String TEXT_11 = NL + "\t * ";
+ protected final String TEXT_12 = NL + "\t * @model";
+ protected final String TEXT_13 = NL + "\t * @generated" + NL + "\t */" + NL;
+ protected final String TEXT_14 = NL;
+
+ public InterfacegenOperationjavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_14);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_02kCQGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_3);
+ if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {
+ stringBuffer.append(TEXT_4);
+ if (genOperation.hasDocumentation()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genOperation.getDocumentation(genModel.getIndentation(stringBuffer)));
+ }
+ for (GenParameter genParameter : genOperation.getGenParameters()) {
+ if (genParameter.hasDocumentation()) {
+ String documentation = genParameter.getDocumentation("");
+ if (documentation.contains("\n") || documentation.contains("\r")) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genParameter.getName());
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genParameter.getName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));
+ }
+ }
+ }
+ stringBuffer.append(TEXT_9);
+ }
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genOperation.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_12);
+ }
+ }
+ stringBuffer.append(TEXT_13);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java
new file mode 100644
index 000000000..7ccb24ef1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java
@@ -0,0 +1,751 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenOperationoverride {
+ protected static String nl;
+
+ public static synchronized InterfacegenOperationoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegenOperationoverride result = new InterfacegenOperationoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached validation expression for the '{@link #";
+ protected final String TEXT_3 = "(";
+ protected final String TEXT_4 = ") <em>";
+ protected final String TEXT_5 = "</em>}' invariant operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+ protected final String TEXT_6 = ")";
+ protected final String TEXT_7 = NL + "\t * ";
+ protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+ protected final String TEXT_9 = NL + "\t@Deprecated";
+ protected final String TEXT_10 = NL + "\tprotected static final ";
+ protected final String TEXT_11 = " ";
+ protected final String TEXT_12 = "__EEXPRESSION = \"";
+ protected final String TEXT_13 = "\";";
+ protected final String TEXT_14 = NL;
+ protected final String TEXT_15 = NL + "\t/**" + NL + "\t * The cached invocation delegate for the '{@link #";
+ protected final String TEXT_16 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+ protected final String TEXT_17 = ".Internal.InvocationDelegate ";
+ protected final String TEXT_18 = "__EINVOCATION_DELEGATE = ((";
+ protected final String TEXT_19 = ".Internal)";
+ protected final String TEXT_20 = ").getInvocationDelegate();" + NL;
+ protected final String TEXT_21 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_22 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_23 = NL + "\t";
+ protected final String TEXT_24 = ";" + NL;
+ protected final String TEXT_25 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_26 = NL + "\t@Override";
+ protected final String TEXT_27 = NL + "\tpublic ";
+ protected final String TEXT_28 = NL + "\t{";
+ protected final String TEXT_29 = NL + "\t\t";
+ protected final String TEXT_30 = NL + "\t\treturn" + NL + "\t\t\t";
+ protected final String TEXT_31 = ".validate" + NL + "\t\t\t\t(";
+ protected final String TEXT_32 = "," + NL + "\t\t\t\t this," + NL + "\t\t\t\t ";
+ protected final String TEXT_33 = "," + NL + "\t\t\t\t ";
+ protected final String TEXT_34 = "," + NL + "\t\t\t\t \"";
+ protected final String TEXT_35 = "\",";
+ protected final String TEXT_36 = NL + "\t\t\t\t ";
+ protected final String TEXT_37 = "__EEXPRESSION," + NL + "\t\t\t\t ";
+ protected final String TEXT_38 = ".ERROR," + NL + "\t\t\t\t ";
+ protected final String TEXT_39 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t ";
+ protected final String TEXT_40 = ".";
+ protected final String TEXT_41 = ");";
+ protected final String TEXT_42 = NL + "\t\t// TODO: implement this method" + NL
+ + "\t\t// -> specify the condition that violates the invariant" + NL
+ + "\t\t// -> verify the details of the diagnostic, including severity and message" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL
+ + "\t\t{" + NL + "\t\t\tif (";
+ protected final String TEXT_43 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+ protected final String TEXT_44 = ".add" + NL + "\t\t\t\t\t(new ";
+ protected final String TEXT_45 = NL + "\t\t\t\t\t\t(";
+ protected final String TEXT_46 = ".ERROR," + NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_47 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_48 = "," + NL + "\t\t\t\t\t\t ";
+ protected final String TEXT_49 = ".INSTANCE.getString(\"_UI_GenericInvariant_diagnostic\", new Object[] { \"";
+ protected final String TEXT_50 = "\", ";
+ protected final String TEXT_51 = ".getObjectLabel(this, ";
+ protected final String TEXT_52 = ") }),";
+ protected final String TEXT_53 = NL + "\t\t\t\t\t\t new Object [] { this }));" + NL + "\t\t\t}" + NL
+ + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;";
+ protected final String TEXT_54 = NL + "\t\ttry" + NL + "\t\t{";
+ protected final String TEXT_55 = NL + "\t\t\t";
+ protected final String TEXT_56 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";
+ protected final String TEXT_57 = "new ";
+ protected final String TEXT_58 = ".UnmodifiableEList<Object>(";
+ protected final String TEXT_59 = ", ";
+ protected final String TEXT_60 = "null";
+ protected final String TEXT_61 = NL + "\t\t\treturn ";
+ protected final String TEXT_62 = ").";
+ protected final String TEXT_63 = "()";
+ protected final String TEXT_64 = ";";
+ protected final String TEXT_65 = NL + "\t\t}" + NL + "\t\tcatch (";
+ protected final String TEXT_66 = " ite)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
+ protected final String TEXT_67 = "(ite);" + NL + "\t\t}";
+ protected final String TEXT_68 = NL + "\t}" + NL;
+ protected final String TEXT_69 = NL;
+
+ public InterfacegenOperationoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(TEXT_69);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isImplementation) {
+ if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_6);
+ if (genOperation.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genOperation.getInvariantExpression("\t\t"));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_14);
+ } else if (genOperation.hasInvocationDelegate()) {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_6);
+ if (genOperation.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genOperation.getQualifiedOperationAccessor());
+ stringBuffer.append(TEXT_20);
+ }
+ }
+ if (isInterface) {
+ stringBuffer.append(TEXT_14);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_02HWUGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/genOperation.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_21);
+ if (genOperation.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_22);
+ if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_14);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_02tzQGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ }
+ if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genOperation.getTypeParameters(genClass));
+ stringBuffer.append(genOperation.getImportedType(genClass));
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameters(genClass));
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genOperation.getThrows(genClass));
+ stringBuffer.append(TEXT_24);
+ } else {
+ if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant()
+ && genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {
+ stringBuffer.append(TEXT_25);
+ }
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genOperation.isSuppressedVisibility()) {
+ stringBuffer.append(TEXT_26);
+ }
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genOperation.getTypeParameters(genClass));
+ stringBuffer.append(genOperation.getImportedType(genClass));
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameters(isImplementation, genClass));
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genOperation.getThrows(genClass));
+ stringBuffer.append(TEXT_28);
+ if (genOperation.hasBody()) {
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genOperation.getBody(genModel.getIndentation(stringBuffer)));
+ } else if (genOperation.isInvariant()) {
+ GenClass opClass = genOperation.getGenClass();
+ String diagnostics = genOperation.getGenParameters().get(0).getName();
+ String context = genOperation.getGenParameters().get(1).getName();
+ if (genOperation.hasInvariantExpression()) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genOperation.getValidationDelegate());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genOperation.getQualifiedOperationAccessor());
+ stringBuffer.append(TEXT_33);
+ stringBuffer
+ .append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(opClass.getOperationID(genOperation));
+ stringBuffer.append(TEXT_41);
+ } else {
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(diagnostics);
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(opClass.getOperationID(genOperation));
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(context);
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(genModel.getNonNLS(2));
+ stringBuffer.append(TEXT_53);
+ }
+ } else if (genOperation.hasInvocationDelegate()) {
+ int size = genOperation.getGenParameters().size();
+ stringBuffer.append(TEXT_54);
+ if (genOperation.isVoid()) {
+ stringBuffer.append(TEXT_55);
+ stringBuffer
+ .append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+ stringBuffer.append(TEXT_56);
+ if (size > 0) {
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(size);
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genOperation.getParametersArray(genClass));
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_60);
+ }
+ stringBuffer.append(TEXT_41);
+ } else {
+ stringBuffer.append(TEXT_61);
+ if (!isJDK50 && genOperation.isPrimitiveType()) {
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getObjectType(genClass));
+ stringBuffer.append(TEXT_6);
+ stringBuffer
+ .append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+ stringBuffer.append(TEXT_56);
+ if (size > 0) {
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(size);
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genOperation.getParametersArray(genClass));
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_60);
+ }
+ stringBuffer.append(TEXT_6);
+ if (!isJDK50 && genOperation.isPrimitiveType()) {
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genOperation.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_63);
+ }
+ stringBuffer.append(TEXT_64);
+ }
+ stringBuffer.append(TEXT_65);
+ stringBuffer
+ .append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+ : "java.lang.reflect.InvocationTargetException"));
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));
+ stringBuffer.append(TEXT_67);
+ } else {
+ stringBuffer.append(TEXT_14);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0229MGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/implementedGenOperation.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_68);
+ }
+ stringBuffer.append(TEXT_14);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03AuMGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_14);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..ee6bf6c90
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java
@@ -0,0 +1,344 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized InterfacegetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegetGenFeatureTODOoverride result = new InterfacegetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT";
+ protected final String TEXT_4 = NL
+ + "\t\t// The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting"
+ + NL + "\t\t// so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.";
+ protected final String TEXT_5 = "EcoreEMap";
+ protected final String TEXT_6 = "BasicFeatureMap";
+ protected final String TEXT_7 = "EcoreEList";
+ protected final String TEXT_8 = " should be used.";
+ protected final String TEXT_9 = NL + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_10 = NL;
+
+ public InterfacegetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(TEXT_10);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ if (genFeature.isListType()) {
+ stringBuffer.append(TEXT_4);
+ if (genFeature.isMapType()) {
+ stringBuffer.append(TEXT_5);
+ } else if (genFeature.isFeatureMapType()) {
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..7a137b3cd
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized InterfacegetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegetGenFeatureannotationsinsert result = new InterfacegetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacegetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java
new file mode 100644
index 000000000..4e808ddf7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeaturejavadocinsert {
+ protected static String nl;
+
+ public static synchronized InterfacegetGenFeaturejavadocinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegetGenFeaturejavadocinsert result = new InterfacegetGenFeaturejavadocinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacegetGenFeaturejavadocinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java
new file mode 100644
index 000000000..8e1a0fff8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java
@@ -0,0 +1,525 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeaturejavadocoverride {
+ protected static String nl;
+
+ public static synchronized InterfacegetGenFeaturejavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegetGenFeaturejavadocoverride result = new InterfacegetGenFeaturejavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns the value of the '<em><b>";
+ protected final String TEXT_2 = "</b></em>' ";
+ protected final String TEXT_3 = ".";
+ protected final String TEXT_4 = NL + "\t * The key is of type ";
+ protected final String TEXT_5 = "list of {@link ";
+ protected final String TEXT_6 = "}";
+ protected final String TEXT_7 = "{@link ";
+ protected final String TEXT_8 = "," + NL + "\t * and the value is of type ";
+ protected final String TEXT_9 = ",";
+ protected final String TEXT_10 = NL + "\t * The list contents are of type {@link ";
+ protected final String TEXT_11 = NL + "\t * The default value is <code>";
+ protected final String TEXT_12 = "</code>.";
+ protected final String TEXT_13 = NL + "\t * The literals are from the enumeration {@link ";
+ protected final String TEXT_14 = "}.";
+ protected final String TEXT_15 = NL + "\t * It is bidirectional and its opposite is '{@link ";
+ protected final String TEXT_16 = "#";
+ protected final String TEXT_17 = " <em>";
+ protected final String TEXT_18 = "</em>}'.";
+ protected final String TEXT_19 = NL;
+ protected final String TEXT_20 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_21 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";
+ protected final String TEXT_22 = NL + "\t * <!-- end-model-doc -->";
+ protected final String TEXT_23 = NL + "\t * @return the value of the '<em>";
+ protected final String TEXT_24 = "</em>' ";
+ protected final String TEXT_25 = NL + "\t * @see ";
+ protected final String TEXT_26 = NL + "\t * @see #isSet";
+ protected final String TEXT_27 = "()";
+ protected final String TEXT_28 = NL + "\t * @see #unset";
+ protected final String TEXT_29 = NL + "\t * @see #set";
+ protected final String TEXT_30 = "(";
+ protected final String TEXT_31 = ")";
+ protected final String TEXT_32 = "#get";
+ protected final String TEXT_33 = NL + "\t * @model ";
+ protected final String TEXT_34 = NL + "\t * ";
+ protected final String TEXT_35 = NL + "\t * @model";
+ protected final String TEXT_36 = NL + "\t * @generated" + NL + "\t */" + NL;
+ protected final String TEXT_37 = NL;
+
+ public InterfacegetGenFeaturejavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(TEXT_37);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ if (genFeature.isListType() && genFeature.getEcoreFeature().getEGenericType().getETypeParameter() == null) {
+ if (genFeature.isMapType()) {
+ GenFeature keyFeature = genFeature.getMapEntryTypeGenClass().getMapEntryKeyFeature();
+ GenFeature valueFeature = genFeature.getMapEntryTypeGenClass().getMapEntryValueFeature();
+ stringBuffer.append(TEXT_4);
+ if (keyFeature.isListType()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(keyFeature.getQualifiedListItemType(genClass));
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(keyFeature.getType(genClass));
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_8);
+ if (valueFeature.isListType()) {
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(valueFeature.getQualifiedListItemType(genClass));
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(valueFeature.getType(genClass));
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_9);
+ } else if (!genFeature.isWrappedFeatureMapType() && !(genModel.isSuppressEMFMetaData()
+ && "org.eclipse.emf.ecore.EObject".equals(genFeature.getQualifiedListItemType(genClass)))) {
+ String typeName = genFeature.getQualifiedListItemType(genClass);
+ String head = typeName;
+ String tail = "";
+ int index = typeName.indexOf('<');
+ if (index == -1) {
+ index = typeName.indexOf('[');
+ }
+ if (index != -1) {
+ head = typeName.substring(0, index);
+ tail = "<code>" + CodeGenUtil.xmlEscapeEncode(typeName.substring(index)) + "</code>";
+ }
+
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(head);
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(tail);
+ stringBuffer.append(TEXT_3);
+ }
+ } else if (genFeature.isSetDefaultValue()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getDefaultValue());
+ stringBuffer.append(TEXT_12);
+ }
+ if (genFeature.getTypeGenEnum() != null) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+ stringBuffer.append(TEXT_14);
+ }
+ if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {
+ GenFeature reverseGenFeature = genFeature.getReverse();
+ if (!reverseGenFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(reverseGenFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(reverseGenFeature.getGetAccessor());
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(reverseGenFeature.getFormattedName());
+ stringBuffer.append(TEXT_18);
+ }
+ }
+ stringBuffer.append(TEXT_19);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wJ4QGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_20);
+ if (genFeature.hasDocumentation()) {
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_22);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ if (genFeature.getTypeGenEnum() != null) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+ }
+ if (genFeature.isUnsettable()) {
+ if (!genFeature.isSuppressedIsSetVisibility()) {
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_27);
+ }
+ if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_27);
+ }
+ }
+ if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getRawImportedBoundType());
+ stringBuffer.append(TEXT_31);
+ }
+ if (!genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getFeatureAccessorName());
+ stringBuffer.append(TEXT_27);
+ }
+ if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {
+ GenFeature reverseGenFeature = genFeature.getReverse();
+ if (!reverseGenFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(reverseGenFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(reverseGenFeature.getGetAccessor());
+ }
+ }
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genFeature.getModelInfo(),
+ "\n\r"); stringTokenizer.hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_35);
+ }
+ }
+ stringBuffer.append(TEXT_36);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java
new file mode 100644
index 000000000..dae3cf2ac
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java
@@ -0,0 +1,994 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized InterfacegetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegetGenFeatureoverride result = new InterfacegetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_4 = NL + "\t * ";
+ protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_6 = NL + "\t@Deprecated";
+ protected final String TEXT_7 = NL + "\t";
+ protected final String TEXT_8 = " ";
+ protected final String TEXT_9 = "();" + NL;
+ protected final String TEXT_10 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_11 = NL + "\t@Override";
+ protected final String TEXT_12 = NL + "\tpublic ";
+ protected final String TEXT_13 = "_";
+ protected final String TEXT_14 = "()" + NL + "\t{";
+ protected final String TEXT_15 = NL + "\t\treturn ";
+ protected final String TEXT_16 = "(";
+ protected final String TEXT_17 = ")eDynamicGet(";
+ protected final String TEXT_18 = " - ESTATIC_FEATURE_COUNT";
+ protected final String TEXT_19 = ", ";
+ protected final String TEXT_20 = ", true, ";
+ protected final String TEXT_21 = ")";
+ protected final String TEXT_22 = ").";
+ protected final String TEXT_23 = "()";
+ protected final String TEXT_24 = ";";
+ protected final String TEXT_25 = NL + "\t\t";
+ protected final String TEXT_26 = ")eGet(";
+ protected final String TEXT_27 = ", true)";
+ protected final String TEXT_28 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)";
+ protected final String TEXT_29 = " = (";
+ protected final String TEXT_30 = ")eVirtualGet(";
+ protected final String TEXT_31 = ");";
+ protected final String TEXT_32 = NL + "\t\tif (";
+ protected final String TEXT_33 = " == null)" + NL + "\t\t{";
+ protected final String TEXT_34 = NL + "\t\t\teVirtualSet(";
+ protected final String TEXT_35 = " = new ";
+ protected final String TEXT_36 = NL + "\t\t\t";
+ protected final String TEXT_37 = NL + "\t\t}" + NL + "\t\treturn ";
+ protected final String TEXT_38 = NL + "\t\tif (eContainerFeatureID() != ";
+ protected final String TEXT_39 = ") return null;" + NL + "\t\treturn (";
+ protected final String TEXT_40 = "eContainer";
+ protected final String TEXT_41 = "eInternalContainer";
+ protected final String TEXT_42 = "();";
+ protected final String TEXT_43 = " != null && ";
+ protected final String TEXT_44 = ".eIsProxy())" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_45 = " old";
+ protected final String TEXT_46 = " = ";
+ protected final String TEXT_47 = ";" + NL + "\t\t\t";
+ protected final String TEXT_48 = "eResolveProxy(old";
+ protected final String TEXT_49 = ");" + NL + "\t\t\tif (";
+ protected final String TEXT_50 = " != old";
+ protected final String TEXT_51 = ")" + NL + "\t\t\t{";
+ protected final String TEXT_52 = NL + "\t\t\t\t";
+ protected final String TEXT_53 = " new";
+ protected final String TEXT_54 = " msgs = old";
+ protected final String TEXT_55 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_56 = ", null, null);";
+ protected final String TEXT_57 = " msgs = old";
+ protected final String TEXT_58 = ".eInverseRemove(this, ";
+ protected final String TEXT_59 = ".class, null);";
+ protected final String TEXT_60 = NL + "\t\t\t\tif (new";
+ protected final String TEXT_61 = ".eInternalContainer() == null)" + NL + "\t\t\t\t{";
+ protected final String TEXT_62 = NL + "\t\t\t\t\tmsgs = new";
+ protected final String TEXT_63 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_64 = ", null, msgs);";
+ protected final String TEXT_65 = NL + "\t\t\t\t\tmsgs = new";
+ protected final String TEXT_66 = ".eInverseAdd(this, ";
+ protected final String TEXT_67 = ".class, msgs);";
+ protected final String TEXT_68 = NL + "\t\t\t\t}" + NL + "\t\t\t\tif (msgs != null) msgs.dispatch();";
+ protected final String TEXT_69 = NL + "\t\t\t\teVirtualSet(";
+ protected final String TEXT_70 = NL + "\t\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\t\teNotify(new ";
+ protected final String TEXT_71 = "(this, ";
+ protected final String TEXT_72 = ".RESOLVE, ";
+ protected final String TEXT_73 = ", old";
+ protected final String TEXT_74 = "));";
+ protected final String TEXT_75 = NL + "\t\t\t}" + NL + "\t\t}";
+ protected final String TEXT_76 = NL + "\t\treturn (";
+ protected final String TEXT_77 = " & ";
+ protected final String TEXT_78 = "_EFLAG) != 0;";
+ protected final String TEXT_79 = "_EFLAG_VALUES[(";
+ protected final String TEXT_80 = "_EFLAG) >>> ";
+ protected final String TEXT_81 = "_EFLAG_OFFSET];";
+ protected final String TEXT_82 = " = basicGet";
+ protected final String TEXT_83 = "();" + NL + "\t\treturn ";
+ protected final String TEXT_84 = ".eIsProxy() ? ";
+ protected final String TEXT_85 = "eResolveProxy(";
+ protected final String TEXT_86 = ") : ";
+ protected final String TEXT_87 = NL + "\t\treturn new ";
+ protected final String TEXT_88 = "((";
+ protected final String TEXT_89 = ".Internal)((";
+ protected final String TEXT_90 = ".Internal.Wrapper)get";
+ protected final String TEXT_91 = "()).featureMap().";
+ protected final String TEXT_92 = "list(";
+ protected final String TEXT_93 = ")get";
+ protected final String TEXT_94 = "().";
+ protected final String TEXT_95 = NL + "\t\treturn ((";
+ protected final String TEXT_96 = "()).featureMap().list(";
+ protected final String TEXT_97 = NL + "\t\treturn get";
+ protected final String TEXT_98 = "().list(";
+ protected final String TEXT_99 = "()).featureMap().get(";
+ protected final String TEXT_100 = "get";
+ protected final String TEXT_101 = "().get(";
+ protected final String TEXT_102 = NL + "\t}" + NL;
+ protected final String TEXT_103 = NL;
+
+ public InterfacegetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_103);
+ stringBuffer.append(TEXT_103);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isInterface) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vtMUGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/getGenFeature.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_3);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wTpQGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_9);
+ } else {
+ if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies())
+ && !genFeature.isListType() && genFeature.isUncheckedCast(genClass)
+ || genFeature.isListType() && !genFeature.isFeatureMapType()
+ && (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation()
+ || (genModel.isDynamicDelegation() && !genFeature.isVolatile()))
+ || genFeature.isListDataType() && genFeature.hasDelegateFeature()
+ || genFeature.isListType() && genFeature.hasSettingDelegate())) {
+ stringBuffer.append(TEXT_10);
+ }
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()
+ && !genClass.hasCollidingGetAccessorOperation(genFeature)
+ && !genFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getGetAccessor());
+ if (genClass.hasCollidingGetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_13);
+ }
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wczMGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_18);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());
+ stringBuffer.append(TEXT_21);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ } else if (genModel.isReflectiveDelegation()) {
+ if (genFeature.hasGetterBody()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_27);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ }
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_28);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ } else if (!genFeature.isVolatile()) {
+ if (genFeature.isListType()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_33);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genClass.getListConstructor(genFeature));
+ stringBuffer.append(TEXT_31);
+ } else {
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genClass.getListConstructor(genFeature));
+ stringBuffer.append(TEXT_24);
+ }
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer
+ .append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");
+ stringBuffer.append(TEXT_24);
+ } else if (genFeature.isContainer()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_21);
+ if (genFeature.isResolveProxies()) {
+ stringBuffer.append(TEXT_40);
+ } else {
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_42);
+ } else {
+ if (genFeature.isResolveProxies()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ if (genFeature.hasEDefault()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getEDefault());
+ }
+ stringBuffer.append(TEXT_31);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getSafeNameAsEObject());
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_51);
+ if (genFeature.isEffectiveContains()) {
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+ stringBuffer.append(TEXT_53);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));
+ stringBuffer.append(TEXT_24);
+ if (!genFeature.isBidirectional()) {
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_56);
+ } else {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(
+ genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_59);
+ }
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_61);
+ if (!genFeature.isBidirectional()) {
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_64);
+ } else {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_68);
+ } else if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_31);
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_70);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_71);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_72);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_74);
+ }
+ stringBuffer.append(TEXT_75);
+ }
+ if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation()
+ && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ if (genFeature.hasEDefault()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getEDefault());
+ }
+ stringBuffer.append(TEXT_31);
+ } else if (genClass.isFlag(genFeature)) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_78);
+ } else {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_81);
+ }
+ } else {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_24);
+ }
+ }
+ } else {//volatile
+ if (genFeature.isResolveProxies() && !genFeature.isListType()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getSafeNameAsEObject());
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_24);
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (genFeature.isFeatureMapType()) {
+ String featureMapEntryTemplateArgument = isJDK50
+ ? "<" + genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap") + ".Entry>"
+ : "";
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(genFeature.getImportedEffectiveFeatureMapWrapperClass());
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_91);
+ stringBuffer.append(featureMapEntryTemplateArgument);
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_74);
+ } else {
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(featureMapEntryTemplateArgument);
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_31);
+ }
+ } else if (genFeature.isListType()) {
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_31);
+ } else {
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_98);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_31);
+ }
+ } else {
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ if (genFeature.getTypeGenDataType() == null
+ || !genFeature.getTypeGenDataType().isObjectType()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_27);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ } else {
+ stringBuffer.append(TEXT_15);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_16);
+ }
+ if (genFeature.getTypeGenDataType() == null
+ || !genFeature.getTypeGenDataType().isObjectType()) {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_100);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_27);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getPrimitiveValueFunction());
+ stringBuffer.append(TEXT_23);
+ }
+ stringBuffer.append(TEXT_24);
+ }
+ }
+ } else if (genClass.getGetAccessorOperation(genFeature) != null) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genClass.getGetAccessorOperation(genFeature)
+ .getBody(genModel.getIndentation(stringBuffer)));
+ } else if (genFeature.hasGetterBody()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wmkMGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/getGenFeature.todo.override.javajetinc
+ }
+ }
+ stringBuffer.append(TEXT_102);
+ }
+ stringBuffer.append(TEXT_2);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java
new file mode 100644
index 000000000..62b6b55f4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeaturepreinsert {
+ protected static String nl;
+
+ public static synchronized InterfacegetGenFeaturepreinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacegetGenFeaturepreinsert result = new InterfacegetGenFeaturepreinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacegetGenFeaturepreinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java
new file mode 100644
index 000000000..c972d1345
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java
@@ -0,0 +1,320 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceimplementedGenOperationTODOoverride {
+ protected static String nl;
+
+ public static synchronized InterfaceimplementedGenOperationTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceimplementedGenOperationTODOoverride result = new InterfaceimplementedGenOperationTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_2 = NL;
+
+ public InterfaceimplementedGenOperationTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java
new file mode 100644
index 000000000..f1ccfe5e1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java
@@ -0,0 +1,304 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Interfaceinsert {
+ protected static String nl;
+
+ public static synchronized Interfaceinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ Interfaceinsert result = new Interfaceinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public Interfaceinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java
new file mode 100644
index 000000000..e8a23c535
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java
@@ -0,0 +1,384 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Interfaceinterfacejavadocoverride {
+ protected static String nl;
+
+ public static synchronized Interfaceinterfacejavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ Interfaceinterfacejavadocoverride result = new Interfaceinterfacejavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * A representation of the model object '<em><b>";
+ protected final String TEXT_2 = "</b></em>'." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_3 = NL + " *" + NL + " * <!-- begin-model-doc -->" + NL + " * ";
+ protected final String TEXT_4 = NL + " * <!-- end-model-doc -->";
+ protected final String TEXT_5 = NL + " *";
+ protected final String TEXT_6 = NL + " * <p>" + NL + " * The following features are supported:" + NL + " * </p>"
+ + NL + " * <ul>";
+ protected final String TEXT_7 = NL + " * <li>{@link ";
+ protected final String TEXT_8 = "#";
+ protected final String TEXT_9 = " <em>";
+ protected final String TEXT_10 = "</em>}</li>";
+ protected final String TEXT_11 = NL + " * </ul>";
+ protected final String TEXT_12 = NL + " * @see ";
+ protected final String TEXT_13 = "#get";
+ protected final String TEXT_14 = "()";
+ protected final String TEXT_15 = NL + " * @model ";
+ protected final String TEXT_16 = NL + " * ";
+ protected final String TEXT_17 = NL + " * @model";
+ protected final String TEXT_18 = NL + " * @extends ";
+ protected final String TEXT_19 = NL + " * ";
+ protected final String TEXT_20 = NL + " * @generated" + NL + " */" + NL;
+ protected final String TEXT_21 = NL;
+
+ public Interfaceinterfacejavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(TEXT_21);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ if (genClass.hasDocumentation()) {
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genClass.getDocumentation(genModel.getIndentation(stringBuffer)));
+ stringBuffer.append(TEXT_4);
+ }
+ stringBuffer.append(TEXT_5);
+ if (!genClass.getGenFeatures().isEmpty()) {
+ stringBuffer.append(TEXT_6);
+ for (GenFeature genFeature : genClass.getGenFeatures()) {
+ if (!genFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_10);
+ }
+ }
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_5);
+ if (!genModel.isSuppressEMFMetaData()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genClass.getClassifierAccessorName());
+ stringBuffer.append(TEXT_14);
+ }
+ if (!genModel.isSuppressEMFModelTags()) {
+ boolean first = true;
+ for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer
+ .hasMoreTokens();) {
+ String modelInfo = stringTokenizer.nextToken();
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(modelInfo);
+ } else {
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(modelInfo);
+ }
+ }
+ if (first) {
+ stringBuffer.append(TEXT_17);
+ }
+ }
+ if (genClass.needsRootExtendsInterfaceExtendsTag()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getImportedName(genModel.getRootExtendsInterface()));
+ }
+ if (genClass.hasImplicitAPITags(true)) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer), true));
+ }
+ stringBuffer.append(TEXT_20);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..45da55be4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java
@@ -0,0 +1,326 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceisSetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized InterfaceisSetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceisSetGenFeatureTODOoverride result = new InterfaceisSetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return whether the '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = " is set" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public InterfaceisSetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..5ff28a40a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceisSetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized InterfaceisSetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceisSetGenFeatureannotationsinsert result = new InterfaceisSetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfaceisSetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java
new file mode 100644
index 000000000..c85037253
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceisSetGenFeaturejavadocinsert {
+ protected static String nl;
+
+ public static synchronized InterfaceisSetGenFeaturejavadocinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceisSetGenFeaturejavadocinsert result = new InterfaceisSetGenFeaturejavadocinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfaceisSetGenFeaturejavadocinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java
new file mode 100644
index 000000000..a3f3c401d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java
@@ -0,0 +1,399 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceisSetGenFeaturejavadocoverride {
+ protected static String nl;
+
+ public static synchronized InterfaceisSetGenFeaturejavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceisSetGenFeaturejavadocoverride result = new InterfaceisSetGenFeaturejavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns whether the value of the '{@link ";
+ protected final String TEXT_2 = "#";
+ protected final String TEXT_3 = " <em>";
+ protected final String TEXT_4 = "</em>}' ";
+ protected final String TEXT_5 = " is set.";
+ protected final String TEXT_6 = NL;
+ protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @return whether the value of the '<em>";
+ protected final String TEXT_8 = "</em>' ";
+ protected final String TEXT_9 = NL + "\t * @see #unset";
+ protected final String TEXT_10 = "()";
+ protected final String TEXT_11 = NL + "\t * @see #";
+ protected final String TEXT_12 = NL + "\t * @see #set";
+ protected final String TEXT_13 = "(";
+ protected final String TEXT_14 = ")";
+ protected final String TEXT_15 = NL + "\t * ";
+ protected final String TEXT_16 = NL + "\t * @generated" + NL + "\t */" + NL;
+ protected final String TEXT_17 = NL;
+
+ public InterfaceisSetGenFeaturejavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(TEXT_17);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(TEXT_6);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01N-cGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_10);
+ if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getRawImportedBoundType());
+ stringBuffer.append(TEXT_14);
+ }
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_16);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java
new file mode 100644
index 000000000..259905617
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java
@@ -0,0 +1,573 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceisSetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized InterfaceisSetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceisSetGenFeatureoverride result = new InterfaceisSetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_4 = NL + "\t * ";
+ protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_6 = NL + "\t@Deprecated";
+ protected final String TEXT_7 = NL + "\tboolean isSet";
+ protected final String TEXT_8 = "();" + NL;
+ protected final String TEXT_9 = NL + "\t@Override";
+ protected final String TEXT_10 = NL + "\tpublic boolean isSet";
+ protected final String TEXT_11 = "_";
+ protected final String TEXT_12 = "()" + NL + "\t{";
+ protected final String TEXT_13 = NL + "\t\treturn eDynamicIsSet(";
+ protected final String TEXT_14 = " - ESTATIC_FEATURE_COUNT";
+ protected final String TEXT_15 = ", ";
+ protected final String TEXT_16 = ");";
+ protected final String TEXT_17 = NL + "\t\treturn eIsSet(";
+ protected final String TEXT_18 = NL + "\t\treturn ";
+ protected final String TEXT_19 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";
+ protected final String TEXT_20 = NL + "\t\t";
+ protected final String TEXT_21 = " ";
+ protected final String TEXT_22 = " = (";
+ protected final String TEXT_23 = ")eVirtualGet(";
+ protected final String TEXT_24 = " != null && ((";
+ protected final String TEXT_25 = ".Unsettable";
+ protected final String TEXT_26 = ")";
+ protected final String TEXT_27 = ").isSet();";
+ protected final String TEXT_28 = NL + "\t\treturn eVirtualIsSet(";
+ protected final String TEXT_29 = NL + "\t\treturn (";
+ protected final String TEXT_30 = " & ";
+ protected final String TEXT_31 = "_ESETFLAG) != 0;";
+ protected final String TEXT_32 = "ESet;";
+ protected final String TEXT_33 = NL + "\t\treturn !((";
+ protected final String TEXT_34 = ".Internal)((";
+ protected final String TEXT_35 = ".Internal.Wrapper)get";
+ protected final String TEXT_36 = "()).featureMap()).isEmpty(";
+ protected final String TEXT_37 = ".Internal)get";
+ protected final String TEXT_38 = "()).isEmpty(";
+ protected final String TEXT_39 = NL + "\t}" + NL;
+ protected final String TEXT_40 = NL;
+
+ public InterfaceisSetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(TEXT_40);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isInterface) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00x5kGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/isSetGenFeature.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_3);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/isSetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01hgcGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ } else {
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()
+ && !genClass.hasCollidingIsSetAccessorOperation(genFeature)
+ && !genFeature.isSuppressedIsSetVisibility()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getAccessorName());
+ if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else if (genModel.isReflectiveDelegation()) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_19);
+ } else if (!genFeature.isVolatile()) {
+ if (genFeature.isListType()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_27);
+ } else {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ } else if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_31);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_32);
+ }
+ }
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else {
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ }
+ } else if (genClass.getIsSetAccessorOperation(genFeature) != null) {
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(
+ genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01qqYGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/isSetGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_39);
+ }
+ stringBuffer.append(TEXT_2);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java
new file mode 100644
index 000000000..e64c281a4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java
@@ -0,0 +1,338 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacereflectiveDelegationoverride {
+ protected static String nl;
+
+ public static synchronized InterfacereflectiveDelegationoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacereflectiveDelegationoverride result = new InterfacereflectiveDelegationoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected static final int ESTATIC_FEATURE_COUNT = ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_5 = NL + "\t@Override";
+ protected final String TEXT_6 = NL + "\tprotected int eStaticFeatureCount()" + NL + "\t{" + NL + "\t\treturn ";
+ protected final String TEXT_7 = ";" + NL + "\t}" + NL;
+ protected final String TEXT_8 = NL;
+ protected final String TEXT_9 = NL;
+
+ public InterfacereflectiveDelegationoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode,
+ getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(TEXT_9);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isImplementation
+ && (genModel.getFeatureDelegation() == GenDelegationKind.REFLECTIVE_LITERAL
+ || genModel.isDynamicDelegation())
+ && (genClass.getClassExtendsGenClass() == null || (genClass.getClassExtendsGenClass().getGenModel()
+ .getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL
+ && !genClass.getClassExtendsGenClass().getGenModel().isDynamicDelegation()))) {
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genClass.getClassExtendsGenClass() == null ? 0
+ : genClass.getClassExtendsGenClass().getAllGenFeatures().size());
+ stringBuffer.append(TEXT_3);
+ }
+ stringBuffer.append(TEXT_4);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_5);
+ }
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genClass.getClassExtendsGenClass() == null ? "0"
+ : genClass.hasStaticFeatures() ? "ESTATIC_FEATURE_COUNT"
+ : Integer.toString(genClass.getClassExtendsGenClass().getAllGenFeatures().size()));
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..86d477be3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java
@@ -0,0 +1,338 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized InterfacesetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacesetGenFeatureTODOoverride result = new InterfacesetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public InterfacesetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> setAccessorOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object setAccessorOperationParameter : setAccessorOperationList) {
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+ public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.setAccessorOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("setAccessorOperation", this.setAccessorOperation);
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..7383d4bd2
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized InterfacesetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacesetGenFeatureannotationsinsert result = new InterfacesetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacesetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java
new file mode 100644
index 000000000..4d41d0272
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeaturejavadocinsert {
+ protected static String nl;
+
+ public static synchronized InterfacesetGenFeaturejavadocinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacesetGenFeaturejavadocinsert result = new InterfacesetGenFeaturejavadocinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacesetGenFeaturejavadocinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java
new file mode 100644
index 000000000..a54a46865
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java
@@ -0,0 +1,402 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeaturejavadocoverride {
+ protected static String nl;
+
+ public static synchronized InterfacesetGenFeaturejavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacesetGenFeaturejavadocoverride result = new InterfacesetGenFeaturejavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Sets the value of the '{@link ";
+ protected final String TEXT_2 = "#";
+ protected final String TEXT_3 = " <em>";
+ protected final String TEXT_4 = "</em>}' ";
+ protected final String TEXT_5 = ".";
+ protected final String TEXT_6 = NL;
+ protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @param value the new value of the '<em>";
+ protected final String TEXT_8 = "</em>' ";
+ protected final String TEXT_9 = NL + "\t * @see ";
+ protected final String TEXT_10 = NL + "\t * @see #isSet";
+ protected final String TEXT_11 = "()";
+ protected final String TEXT_12 = NL + "\t * @see #unset";
+ protected final String TEXT_13 = NL + "\t * @see #";
+ protected final String TEXT_14 = NL + "\t * ";
+ protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;
+ protected final String TEXT_16 = NL;
+
+ public InterfacesetGenFeaturejavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(TEXT_16);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(TEXT_6);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0yid4GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ if (genFeature.isEnumType()) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+ }
+ if (genFeature.isUnsettable()) {
+ if (!genFeature.isSuppressedIsSetVisibility()) {
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_11);
+ }
+ if (!genFeature.isSuppressedUnsetVisibility()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_11);
+ }
+ }
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_11);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_15);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java
new file mode 100644
index 000000000..68546a328
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java
@@ -0,0 +1,1235 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized InterfacesetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacesetGenFeatureoverride result = new InterfacesetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_4 = NL + "\t * ";
+ protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_6 = NL + "\t@Deprecated";
+ protected final String TEXT_7 = NL + "\tvoid set";
+ protected final String TEXT_8 = "(";
+ protected final String TEXT_9 = " value);" + NL;
+ protected final String TEXT_10 = NL + "\t@Override";
+ protected final String TEXT_11 = NL + "\tpublic void set";
+ protected final String TEXT_12 = "_";
+ protected final String TEXT_13 = " ";
+ protected final String TEXT_14 = ")" + NL + "\t{";
+ protected final String TEXT_15 = NL + "\t\teDynamicSet(";
+ protected final String TEXT_16 = " - ESTATIC_FEATURE_COUNT";
+ protected final String TEXT_17 = ", ";
+ protected final String TEXT_18 = "new ";
+ protected final String TEXT_19 = "new";
+ protected final String TEXT_20 = ")";
+ protected final String TEXT_21 = ");";
+ protected final String TEXT_22 = NL + "\t\teSet(";
+ protected final String TEXT_23 = NL + "\t\t";
+ protected final String TEXT_24 = "__ESETTING_DELEGATE.dynamicSet(this, null, 0, ";
+ protected final String TEXT_25 = NL + "\t\tif (new";
+ protected final String TEXT_26 = " != eInternalContainer() || (eContainerFeatureID() != ";
+ protected final String TEXT_27 = " && new";
+ protected final String TEXT_28 = " != null))" + NL + "\t\t{" + NL + "\t\t\tif (";
+ protected final String TEXT_29 = ".isAncestor(this, ";
+ protected final String TEXT_30 = "))" + NL + "\t\t\t\tthrow new ";
+ protected final String TEXT_31 = "(\"Recursive containment not allowed for \" + toString());";
+ protected final String TEXT_32 = NL + "\t\t\t";
+ protected final String TEXT_33 = " msgs = null;" + NL + "\t\t\tif (eInternalContainer() != null)" + NL
+ + "\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);" + NL + "\t\t\tif (new";
+ protected final String TEXT_34 = " != null)" + NL + "\t\t\t\tmsgs = ";
+ protected final String TEXT_35 = ".eInverseAdd(this, ";
+ protected final String TEXT_36 = ".class, msgs);" + NL + "\t\t\tmsgs = basicSet";
+ protected final String TEXT_37 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";
+ protected final String TEXT_38 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+ protected final String TEXT_39 = "(this, ";
+ protected final String TEXT_40 = ".SET, ";
+ protected final String TEXT_41 = ", new";
+ protected final String TEXT_42 = "));";
+ protected final String TEXT_43 = " = (";
+ protected final String TEXT_44 = ")eVirtualGet(";
+ protected final String TEXT_45 = " != ";
+ protected final String TEXT_46 = ")" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_47 = " msgs = null;" + NL + "\t\t\tif (";
+ protected final String TEXT_48 = " != null)";
+ protected final String TEXT_49 = NL + "\t\t\t\tmsgs = ";
+ protected final String TEXT_50 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_51 = ", null, msgs);" + NL + "\t\t\tif (new";
+ protected final String TEXT_52 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_53 = ", null, msgs);";
+ protected final String TEXT_54 = ".eInverseRemove(this, ";
+ protected final String TEXT_55 = ".class, msgs);" + NL + "\t\t\tif (new";
+ protected final String TEXT_56 = ".class, msgs);";
+ protected final String TEXT_57 = NL + "\t\t\tmsgs = basicSet";
+ protected final String TEXT_58 = NL + "\t\telse" + NL + "\t\t{";
+ protected final String TEXT_59 = NL + "\t\t\tboolean old";
+ protected final String TEXT_60 = "ESet = eVirtualIsSet(";
+ protected final String TEXT_61 = "ESet = (";
+ protected final String TEXT_62 = " & ";
+ protected final String TEXT_63 = "_ESETFLAG) != 0;";
+ protected final String TEXT_64 = " |= ";
+ protected final String TEXT_65 = "_ESETFLAG;";
+ protected final String TEXT_66 = "ESet = ";
+ protected final String TEXT_67 = "ESet;";
+ protected final String TEXT_68 = "ESet = true;";
+ protected final String TEXT_69 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";
+ protected final String TEXT_70 = ", !old";
+ protected final String TEXT_71 = "ESet));";
+ protected final String TEXT_72 = NL + "\t\t}";
+ protected final String TEXT_73 = " old";
+ protected final String TEXT_74 = "_EFLAG) != 0;";
+ protected final String TEXT_75 = " = ";
+ protected final String TEXT_76 = "_EFLAG_VALUES[(";
+ protected final String TEXT_77 = "_EFLAG) >>> ";
+ protected final String TEXT_78 = "_EFLAG_OFFSET];";
+ protected final String TEXT_79 = ") ";
+ protected final String TEXT_80 = "_EFLAG; else ";
+ protected final String TEXT_81 = " &= ~";
+ protected final String TEXT_82 = "_EFLAG;";
+ protected final String TEXT_83 = " == null) new";
+ protected final String TEXT_84 = "_EDEFAULT;" + NL + "\t\t";
+ protected final String TEXT_85 = " & ~";
+ protected final String TEXT_86 = "_EFLAG | ";
+ protected final String TEXT_87 = ".ordinal()";
+ protected final String TEXT_88 = ".VALUES.indexOf(new";
+ protected final String TEXT_89 = " << ";
+ protected final String TEXT_90 = "_EFLAG_OFFSET;";
+ protected final String TEXT_91 = ";";
+ protected final String TEXT_92 = " = new";
+ protected final String TEXT_93 = " == null ? ";
+ protected final String TEXT_94 = " : new";
+ protected final String TEXT_95 = NL + "\t\tObject old";
+ protected final String TEXT_96 = " = eVirtualSet(";
+ protected final String TEXT_97 = NL + "\t\tboolean isSetChange = old";
+ protected final String TEXT_98 = " == EVIRTUAL_NO_VALUE;";
+ protected final String TEXT_99 = NL + "\t\tboolean old";
+ protected final String TEXT_100 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+ protected final String TEXT_101 = "isSetChange ? ";
+ protected final String TEXT_102 = " : old";
+ protected final String TEXT_103 = "old";
+ protected final String TEXT_104 = "isSetChange";
+ protected final String TEXT_105 = "!old";
+ protected final String TEXT_106 = "ESet";
+ protected final String TEXT_107 = " == EVIRTUAL_NO_VALUE ? ";
+ protected final String TEXT_108 = NL + "\t\t((";
+ protected final String TEXT_109 = ".Internal)((";
+ protected final String TEXT_110 = ".Internal.Wrapper)get";
+ protected final String TEXT_111 = "()).featureMap()).set(";
+ protected final String TEXT_112 = ".Internal)get";
+ protected final String TEXT_113 = "()).set(";
+ protected final String TEXT_114 = NL + "\t}" + NL;
+ protected final String TEXT_115 = NL;
+
+ public InterfacesetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_115);
+ stringBuffer.append(TEXT_115);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isInterface) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0yZT8GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/setGenFeature.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_3);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ysO4GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_9);
+ } else {
+ GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()
+ && !genClass.hasCollidingSetAccessorOperation(genFeature)
+ && !genFeature.isSuppressedSetVisibility()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getAccessorName());
+ if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_12);
+ }
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+ : setAccessorOperation.getGenParameters().get(0).getName());
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("setAccessorOperation", setAccessorOperation);
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0y1Y0GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicSetGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("setAccessorOperation", setAccessorOperation);
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_eTdDcCSWEemxeP6B0lLOpA",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_17);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicSetGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("setAccessorOperation", setAccessorOperation);
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_eZahgCSWEemxeP6B0lLOpA",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ } else if (genModel.isReflectiveDelegation()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_17);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_24);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ } else if (!genFeature.isVolatile()) {
+ if (genFeature.isContainer()) {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genFeature.getEObjectCast());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genModel.getImportedName("java.lang.IllegalArgumentException"));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getInternalTypeCast());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_37);
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_42);
+ }
+ } else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_44);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_21);
+ }
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_48);
+ if (!genFeature.isBidirectional()) {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));
+ stringBuffer.append(TEXT_52);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_53);
+ } else {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_56);
+ }
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getInternalTypeCast());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_37);
+ if (genFeature.isUnsettable()) {
+ stringBuffer.append(TEXT_58);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_21);
+ } else if (genClass.isESetFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_63);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_65);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_68);
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_69);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_72);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_38);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_42);
+ }
+ }
+ } else {
+ if (genClass.isFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_74);
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_78);
+ }
+ }
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_81);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_82);
+ } else {
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_86);
+ if (isJDK50) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_87);
+ } else {
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_89);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_90);
+ }
+ } else {
+ if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_91);
+ }
+ }
+ if (genFeature.isEnumType()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_91);
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_92);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_93);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_94);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_91);
+ }
+ } else {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genFeature.getInternalTypeCast());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_91);
+ } else {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genFeature.getInternalTypeCast());
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_91);
+ }
+ }
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_95);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_96);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ }
+ }
+ if (genFeature.isUnsettable()) {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_97);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_98);
+ } else if (genClass.isESetFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_63);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_65);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_99);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_68);
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_100);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_101);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(TEXT_103);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_17);
+ if (genClass.isFlag(genFeature)) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(genFeature.getSafeName());
+ }
+ stringBuffer.append(TEXT_17);
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_104);
+ } else {
+ stringBuffer.append(TEXT_105);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_106);
+ }
+ stringBuffer.append(TEXT_42);
+ }
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_100);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_17);
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_103);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_107);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_102);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(TEXT_103);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_17);
+ if (genClass.isFlag(genFeature)) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ } else {
+ stringBuffer.append(genFeature.getSafeName());
+ }
+ stringBuffer.append(TEXT_42);
+ }
+ }
+ }
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("setAccessorOperation", setAccessorOperation);
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0y_J0GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_109);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_110);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_111);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_17);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ } else {
+ stringBuffer.append(TEXT_108);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_112);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_113);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_17);
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getObjectType(genClass));
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genFeature.getCapName());
+ if (!isJDK50 && genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ }
+ } else if (setAccessorOperation != null) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(setAccessorOperation.getBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.TODO.override" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("setAccessorOperation", setAccessorOperation);
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0y_J5WJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/setGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_114);
+ }
+ stringBuffer.append(TEXT_2);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java
new file mode 100644
index 000000000..b8b005f5c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeaturepostinsert {
+ protected static String nl;
+
+ public static synchronized InterfacesetGenFeaturepostinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacesetGenFeaturepostinsert result = new InterfacesetGenFeaturepostinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacesetGenFeaturepostinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> setAccessorOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object setAccessorOperationParameter : setAccessorOperationList) {
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+ public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.setAccessorOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("setAccessorOperation", this.setAccessorOperation);
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java
new file mode 100644
index 000000000..d23bdfbb7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java
@@ -0,0 +1,330 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeaturepreinsert {
+ protected static String nl;
+
+ public static synchronized InterfacesetGenFeaturepreinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfacesetGenFeaturepreinsert result = new InterfacesetGenFeaturepreinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfacesetGenFeaturepreinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> setAccessorOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object setAccessorOperationParameter : setAccessorOperationList) {
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+ public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.setAccessorOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("setAccessorOperation", this.setAccessorOperation);
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..f2633bfb4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java
@@ -0,0 +1,325 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceunsetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized InterfaceunsetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceunsetGenFeatureTODOoverride result = new InterfaceunsetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the '";
+ protected final String TEXT_2 = "' ";
+ protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+ + "\t\tthrow new UnsupportedOperationException();" + NL;
+ protected final String TEXT_4 = NL;
+
+ public InterfaceunsetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_4);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_3);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..87cc7102d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceunsetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized InterfaceunsetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceunsetGenFeatureannotationsinsert result = new InterfaceunsetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfaceunsetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java
new file mode 100644
index 000000000..109d0527e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java
@@ -0,0 +1,317 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceunsetGenFeaturejavadocinsert {
+ protected static String nl;
+
+ public static synchronized InterfaceunsetGenFeaturejavadocinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceunsetGenFeaturejavadocinsert result = new InterfaceunsetGenFeaturejavadocinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public InterfaceunsetGenFeaturejavadocinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java
new file mode 100644
index 000000000..1c031f948
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java
@@ -0,0 +1,393 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceunsetGenFeaturejavadocoverride {
+ protected static String nl;
+
+ public static synchronized InterfaceunsetGenFeaturejavadocoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceunsetGenFeaturejavadocoverride result = new InterfaceunsetGenFeaturejavadocoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Unsets the value of the '{@link ";
+ protected final String TEXT_2 = "#";
+ protected final String TEXT_3 = " <em>";
+ protected final String TEXT_4 = "</em>}' ";
+ protected final String TEXT_5 = ".";
+ protected final String TEXT_6 = NL;
+ protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_8 = NL + "\t * @see #isSet";
+ protected final String TEXT_9 = "()";
+ protected final String TEXT_10 = NL + "\t * @see #";
+ protected final String TEXT_11 = NL + "\t * @see #set";
+ protected final String TEXT_12 = "(";
+ protected final String TEXT_13 = ")";
+ protected final String TEXT_14 = NL + "\t * ";
+ protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;
+ protected final String TEXT_16 = NL;
+
+ public InterfaceunsetGenFeaturejavadocoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(TEXT_16);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genClass.getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFeatureKind());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(TEXT_6);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00LcoGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_7);
+ if (!genFeature.isSuppressedIsSetVisibility()) {
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_9);
+ if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genFeature.getRawImportedBoundType());
+ stringBuffer.append(TEXT_13);
+ }
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_15);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java
new file mode 100644
index 000000000..0589597f1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java
@@ -0,0 +1,887 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceunsetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized InterfaceunsetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ InterfaceunsetGenFeatureoverride result = new InterfaceunsetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->";
+ protected final String TEXT_4 = NL + "\t * ";
+ protected final String TEXT_5 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_6 = NL + "\t@Deprecated";
+ protected final String TEXT_7 = NL + "\tvoid unset";
+ protected final String TEXT_8 = "();" + NL;
+ protected final String TEXT_9 = NL + "\t@Override";
+ protected final String TEXT_10 = NL + "\tpublic void unset";
+ protected final String TEXT_11 = "_";
+ protected final String TEXT_12 = "()" + NL + "\t{";
+ protected final String TEXT_13 = NL + "\t\teDynamicUnset(";
+ protected final String TEXT_14 = " - ESTATIC_FEATURE_COUNT";
+ protected final String TEXT_15 = ", ";
+ protected final String TEXT_16 = ");";
+ protected final String TEXT_17 = NL + "\t\teUnset(";
+ protected final String TEXT_18 = NL + "\t\t";
+ protected final String TEXT_19 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";
+ protected final String TEXT_20 = " ";
+ protected final String TEXT_21 = " = (";
+ protected final String TEXT_22 = ")eVirtualGet(";
+ protected final String TEXT_23 = NL + "\t\tif (";
+ protected final String TEXT_24 = " != null) ((";
+ protected final String TEXT_25 = ".Unsettable";
+ protected final String TEXT_26 = ")";
+ protected final String TEXT_27 = ").unset();";
+ protected final String TEXT_28 = " != null)" + NL + "\t\t{" + NL + "\t\t\t";
+ protected final String TEXT_29 = " msgs = null;";
+ protected final String TEXT_30 = NL + "\t\t\tmsgs = ";
+ protected final String TEXT_31 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+ protected final String TEXT_32 = ", null, msgs);";
+ protected final String TEXT_33 = ".eInverseRemove(this, ";
+ protected final String TEXT_34 = ".class, msgs);";
+ protected final String TEXT_35 = NL + "\t\t\tmsgs = basicUnset";
+ protected final String TEXT_36 = "(msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}" + NL
+ + "\t\telse" + NL + "\t\t{";
+ protected final String TEXT_37 = NL + "\t\t\tboolean old";
+ protected final String TEXT_38 = "ESet = eVirtualIsSet(";
+ protected final String TEXT_39 = "ESet = (";
+ protected final String TEXT_40 = " & ";
+ protected final String TEXT_41 = "_ESETFLAG) != 0;";
+ protected final String TEXT_42 = NL + "\t\t\t";
+ protected final String TEXT_43 = " &= ~";
+ protected final String TEXT_44 = "_ESETFLAG;";
+ protected final String TEXT_45 = "ESet = ";
+ protected final String TEXT_46 = "ESet;";
+ protected final String TEXT_47 = "ESet = false;";
+ protected final String TEXT_48 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";
+ protected final String TEXT_49 = "(this, ";
+ protected final String TEXT_50 = ".UNSET, ";
+ protected final String TEXT_51 = ", null, null, old";
+ protected final String TEXT_52 = "ESet));";
+ protected final String TEXT_53 = NL + "\t\t}";
+ protected final String TEXT_54 = " old";
+ protected final String TEXT_55 = "_EFLAG) != 0;";
+ protected final String TEXT_56 = " = ";
+ protected final String TEXT_57 = "_EFLAG_VALUES[(";
+ protected final String TEXT_58 = "_EFLAG) >>> ";
+ protected final String TEXT_59 = "_EFLAG_OFFSET];";
+ protected final String TEXT_60 = NL + "\t\tObject old";
+ protected final String TEXT_61 = " = eVirtualUnset(";
+ protected final String TEXT_62 = ";";
+ protected final String TEXT_63 = NL + "\t\tboolean isSetChange = old";
+ protected final String TEXT_64 = " != EVIRTUAL_NO_VALUE;";
+ protected final String TEXT_65 = NL + "\t\tboolean old";
+ protected final String TEXT_66 = " = null;";
+ protected final String TEXT_67 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+ protected final String TEXT_68 = "isSetChange ? old";
+ protected final String TEXT_69 = " : null";
+ protected final String TEXT_70 = "old";
+ protected final String TEXT_71 = ", null, ";
+ protected final String TEXT_72 = "isSetChange";
+ protected final String TEXT_73 = "ESet";
+ protected final String TEXT_74 = "));";
+ protected final String TEXT_75 = ") ";
+ protected final String TEXT_76 = " |= ";
+ protected final String TEXT_77 = "_EFLAG; else ";
+ protected final String TEXT_78 = "_EFLAG;";
+ protected final String TEXT_79 = " & ~";
+ protected final String TEXT_80 = "_EFLAG | ";
+ protected final String TEXT_81 = "_EFLAG_DEFAULT;";
+ protected final String TEXT_82 = " : ";
+ protected final String TEXT_83 = NL + "\t\t((";
+ protected final String TEXT_84 = ".Internal)((";
+ protected final String TEXT_85 = ".Internal.Wrapper)get";
+ protected final String TEXT_86 = "()).featureMap()).clear(";
+ protected final String TEXT_87 = ".Internal)get";
+ protected final String TEXT_88 = "()).clear(";
+ protected final String TEXT_89 = NL + "\t}" + NL;
+ protected final String TEXT_90 = NL;
+
+ public InterfaceunsetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isInterfaceList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isImplementationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> useInterfaceOverrideAnnotationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isGWTList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> forceDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> indentDefaultCaseList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> publicStaticFinalFlagList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> negativeOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> positiveOperationOffsetCorrectionList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object isInterfaceParameter : isInterfaceList) {
+ for (Object isImplementationParameter : isImplementationList) {
+ for (Object useInterfaceOverrideAnnotationParameter : useInterfaceOverrideAnnotationList) {
+ for (Object isGWTParameter : isGWTList) {
+ for (Object forceDefaultCaseParameter : forceDefaultCaseList) {
+ for (Object indentDefaultCaseParameter : indentDefaultCaseList) {
+ for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+ for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+ for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+ for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+ this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+ this.useInterfaceOverrideAnnotation = (java.lang.Boolean) useInterfaceOverrideAnnotationParameter;
+ this.isGWT = (java.lang.Boolean) isGWTParameter;
+ this.forceDefaultCase = (java.lang.Boolean) forceDefaultCaseParameter;
+ this.indentDefaultCase = (java.lang.String) indentDefaultCaseParameter;
+ this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+ this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+ this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+ this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(
+ currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_90);
+ stringBuffer.append(TEXT_90);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("isInterface", this.isInterface);
+ parameterValues.put("isImplementation", this.isImplementation);
+ parameterValues.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameterValues.put("isGWT", this.isGWT);
+ parameterValues.put("forceDefaultCase", this.forceDefaultCase);
+ parameterValues.put("indentDefaultCase", this.indentDefaultCase);
+ parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.Boolean isInterface = null;
+
+ public void set_isInterface(java.lang.Boolean object) {
+ this.isInterface = object;
+ }
+
+ protected java.lang.Boolean isImplementation = null;
+
+ public void set_isImplementation(java.lang.Boolean object) {
+ this.isImplementation = object;
+ }
+
+ protected java.lang.Boolean useInterfaceOverrideAnnotation = null;
+
+ public void set_useInterfaceOverrideAnnotation(java.lang.Boolean object) {
+ this.useInterfaceOverrideAnnotation = object;
+ }
+
+ protected java.lang.Boolean isGWT = null;
+
+ public void set_isGWT(java.lang.Boolean object) {
+ this.isGWT = object;
+ }
+
+ protected java.lang.Boolean forceDefaultCase = null;
+
+ public void set_forceDefaultCase(java.lang.Boolean object) {
+ this.forceDefaultCase = object;
+ }
+
+ protected java.lang.String indentDefaultCase = null;
+
+ public void set_indentDefaultCase(java.lang.String object) {
+ this.indentDefaultCase = object;
+ }
+
+ protected java.lang.String publicStaticFinalFlag = null;
+
+ public void set_publicStaticFinalFlag(java.lang.String object) {
+ this.publicStaticFinalFlag = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String negativeOffsetCorrection = null;
+
+ public void set_negativeOffsetCorrection(java.lang.String object) {
+ this.negativeOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOffsetCorrection = null;
+
+ public void set_positiveOffsetCorrection(java.lang.String object) {
+ this.positiveOffsetCorrection = object;
+ }
+
+ protected java.lang.String negativeOperationOffsetCorrection = null;
+
+ public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+ this.negativeOperationOffsetCorrection = object;
+ }
+
+ protected java.lang.String positiveOperationOffsetCorrection = null;
+
+ public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+ this.positiveOperationOffsetCorrection = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("isInterface", this.isInterface);
+ parameters.put("isImplementation", this.isImplementation);
+ parameters.put("useInterfaceOverrideAnnotation", this.useInterfaceOverrideAnnotation);
+ parameters.put("isGWT", this.isGWT);
+ parameters.put("forceDefaultCase", this.forceDefaultCase);
+ parameters.put("indentDefaultCase", this.indentDefaultCase);
+ parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+ parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+ parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+ parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (isInterface) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00BroGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/unsetGenFeature.javadoc.override.javajetinc
+ } else {
+ stringBuffer.append(TEXT_3);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_5);
+ if (isJDK50) { //Class/unsetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00VNoGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_6);
+ }
+ if (!isImplementation) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_8);
+ } else {
+ if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()
+ && !genClass.hasCollidingUnsetAccessorOperation(genFeature)
+ && !genFeature.isSuppressedUnsetVisibility()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getAccessorName());
+ if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {
+ stringBuffer.append(TEXT_11);
+ }
+ stringBuffer.append(TEXT_12);
+ if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ if (genClass.hasStaticFeatures()) {
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else if (genModel.isReflectiveDelegation()) {
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else if (genFeature.hasSettingDelegate()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_19);
+ } else if (!genFeature.isVolatile()) {
+ if (genFeature.isListType()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(singleWildcard);
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_27);
+ } else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ }
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+ stringBuffer.append(TEXT_29);
+ if (!genFeature.isBidirectional()) {
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(negativeOffsetCorrection);
+ stringBuffer.append(TEXT_32);
+ } else {
+ GenFeature reverseFeature = genFeature.getReverse();
+ GenClass targetClass = reverseFeature.getGenClass();
+ String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+ ? " + " + genClass.getOffsetCorrectionField(genFeature)
+ : "";
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+ stringBuffer.append(TEXT_33);
+ stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+ stringBuffer.append(reverseOffsetCorrection);
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(targetClass.getRawImportedInterfaceName());
+ stringBuffer.append(TEXT_34);
+ }
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_36);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ } else if (genClass.isESetFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_41);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_44);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_46);
+ }
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_47);
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_48);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_51);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_52);
+ }
+ stringBuffer.append(TEXT_53);
+ } else {
+ if (genClass.isFlag(genFeature)) {
+ if (!genModel.isSuppressNotification()) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_55);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_59);
+ }
+ }
+ } else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_16);
+ } else {
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getImportedType(genClass));
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_62);
+ }
+ }
+ if (!genModel.isSuppressNotification()) {
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_64);
+ } else if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_41);
+ } else {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_46);
+ }
+ }
+ if (genFeature.isReferenceType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_66);
+ if (!genModel.isVirtualDelegation()) {
+ if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_47);
+ }
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_67);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_15);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_69);
+ } else {
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_71);
+ if (genModel.isVirtualDelegation()) {
+ stringBuffer.append(TEXT_72);
+ } else {
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_73);
+ }
+ stringBuffer.append(TEXT_74);
+ }
+ } else {
+ if (genClass.isFlag(genFeature)) {
+ if (genFeature.isBooleanType()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_76);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_78);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genClass.getFlagsField(genFeature));
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_81);
+ }
+ } else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getSafeName());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_62);
+ }
+ if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+ if (genClass.isESetFlag(genFeature)) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genClass.getESetFlagsField(genFeature));
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(genFeature.getUpperName());
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genFeature.getUncapName());
+ stringBuffer.append(TEXT_47);
+ }
+ }
+ if (!genModel.isSuppressNotification()) {
+ stringBuffer.append(TEXT_67);
+ stringBuffer
+ .append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+ stringBuffer.append(TEXT_50);
+ stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+ stringBuffer.append(positiveOffsetCorrection);
+ stringBuffer.append(TEXT_15);
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_68);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(genFeature.getEDefault());
+ } else {
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genFeature.getCapName());
+ }
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genFeature.getEDefault());
+ stringBuffer.append(TEXT_15);
+ if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+ stringBuffer.append(TEXT_72);
+ } else {
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(genFeature.getCapName());
+ stringBuffer.append(TEXT_73);
+ }
+ stringBuffer.append(TEXT_74);
+ }
+ }
+ }
+ } else if (genFeature.hasDelegateFeature()) {
+ GenFeature delegateFeature = genFeature.getDelegateFeature();
+ if (delegateFeature.isWrappedFeatureMapType()) {
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_84);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_85);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_86);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ } else {
+ stringBuffer.append(TEXT_83);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+ stringBuffer.append(TEXT_87);
+ stringBuffer.append(delegateFeature.getAccessorName());
+ stringBuffer.append(TEXT_88);
+ stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_16);
+ }
+ } else if (genClass.getUnsetAccessorOperation(genFeature) != null) {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(
+ genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));
+ } else {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ callParameters.put("isInterface", isInterface);
+ callParameters.put("isImplementation", isImplementation);
+ callParameters.put("useInterfaceOverrideAnnotation", useInterfaceOverrideAnnotation);
+ callParameters.put("isGWT", isGWT);
+ callParameters.put("forceDefaultCase", forceDefaultCase);
+ callParameters.put("indentDefaultCase", indentDefaultCase);
+ callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+ callParameters.put("singleWildcard", singleWildcard);
+ callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+ callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+ callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+ callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00eXkGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //Class/unsetGenFeature.todo.override.javajetinc
+ }
+ stringBuffer.append(TEXT_89);
+ }
+ stringBuffer.append(TEXT_2);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java
new file mode 100644
index 000000000..8fbbd12b1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java
@@ -0,0 +1,208 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ResourceFactoryClasscreateResourceoverride {
+ protected static String nl;
+
+ public static synchronized ResourceFactoryClasscreateResourceoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ ResourceFactoryClasscreateResourceoverride result = new ResourceFactoryClasscreateResourceoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t\t";
+ protected final String TEXT_3 = " result = new ";
+ protected final String TEXT_4 = "(uri);" + NL + "\t\tresult.getDefaultSaveOptions().put(";
+ protected final String TEXT_5 = ".OPTION_EXTENDED_META_DATA, ";
+ protected final String TEXT_6 = "Boolean.TRUE";
+ protected final String TEXT_7 = "extendedMetaData";
+ protected final String TEXT_8 = ");" + NL + "\t\tresult.getDefaultLoadOptions().put(";
+ protected final String TEXT_9 = ");" + NL + "" + NL + "\t\tresult.getDefaultSaveOptions().put(";
+ protected final String TEXT_10 = ".OPTION_SCHEMA_LOCATION, Boolean.TRUE);" + NL + "" + NL
+ + "\t\tresult.getDefaultLoadOptions().put(";
+ protected final String TEXT_11 = ".OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);" + NL
+ + "\t\tresult.getDefaultSaveOptions().put(";
+ protected final String TEXT_12 = ".OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);" + NL + "" + NL
+ + "\t\tresult.getDefaultLoadOptions().put(";
+ protected final String TEXT_13 = ".OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);";
+ protected final String TEXT_14 = NL + "\t\tresult.getDefaultLoadOptions().put(";
+ protected final String TEXT_15 = ".OPTION_USE_DATA_CONVERTER, Boolean.TRUE);";
+ protected final String TEXT_16 = ".OPTION_XML_MAP, xmlMap);" + NL + "\t\tresult.getDefaultLoadOptions().put(";
+ protected final String TEXT_17 = ".OPTION_XML_MAP, xmlMap);";
+ protected final String TEXT_18 = NL + "\t\tResource result = new ";
+ protected final String TEXT_19 = "(uri);";
+ protected final String TEXT_20 = NL + "\t\treturn result;" + NL;
+ protected final String TEXT_21 = NL;
+
+ public ResourceFactoryClasscreateResourceoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(TEXT_21);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genPackage.hasExtendedMetaData()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genPackage.getResourceClassName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+ stringBuffer.append(TEXT_5);
+ if (genPackage.hasTargetNamespace()) {
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+ stringBuffer.append(TEXT_5);
+ if (genPackage.hasTargetNamespace()) {
+ stringBuffer.append(TEXT_6);
+ } else {
+ stringBuffer.append(TEXT_7);
+ }
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+ stringBuffer.append(TEXT_13);
+ if (genPackage.isDataTypeConverters() && genPackage.hasDocumentRoot()) {
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genPackage.getResourceClassName());
+ stringBuffer.append(TEXT_15);
+ }
+ } else if (genPackage.hasXMLMap()) {
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genPackage.getResourceClassName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+ stringBuffer.append(TEXT_17);
+ } else {
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genPackage.getResourceClassName());
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java
new file mode 100644
index 000000000..31814f65b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java
@@ -0,0 +1,186 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.model.call.ValidatorClass;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ValidatorClassinsert {
+ protected static String nl;
+
+ public static synchronized ValidatorClassinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ ValidatorClassinsert result = new ValidatorClassinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public ValidatorClassinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> singleWildcardList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> _MapList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> objectArgumentList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> countList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+ for (Object singleWildcardParameter : singleWildcardList) {
+ for (Object _MapParameter : _MapList) {
+ for (Object objectArgumentParameter : objectArgumentList) {
+ for (Object countParameter : countList) {
+
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+ this.singleWildcard = (java.lang.String) singleWildcardParameter;
+ this._Map = (java.lang.String) _MapParameter;
+ this.objectArgument = (java.lang.String) objectArgumentParameter;
+ this.count = (java.lang.Integer) countParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ parameterValues.put("singleWildcard", this.singleWildcard);
+ parameterValues.put("_Map", this._Map);
+ parameterValues.put("objectArgument", this.objectArgument);
+ parameterValues.put("count", this.count);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ protected java.lang.String singleWildcard = null;
+
+ public void set_singleWildcard(java.lang.String object) {
+ this.singleWildcard = object;
+ }
+
+ protected java.lang.String _Map = null;
+
+ public void set__Map(java.lang.String object) {
+ this._Map = object;
+ }
+
+ protected java.lang.String objectArgument = null;
+
+ public void set_objectArgument(java.lang.String object) {
+ this.objectArgument = object;
+ }
+
+ protected java.lang.Integer count = null;
+
+ public void set_count(java.lang.Integer object) {
+ this.count = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ parameters.put("singleWildcard", this.singleWildcard);
+ parameters.put("_Map", this._Map);
+ parameters.put("objectArgument", this.objectArgument);
+ parameters.put("count", this.count);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java
new file mode 100644
index 000000000..85b10470c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java
@@ -0,0 +1,229 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized BuildProperties create(String lineSeparator) {
+ nl = lineSeparator;
+ BuildProperties result = new BuildProperties();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + NL + "bin.includes = ";
+ protected final String TEXT_3 = ",\\";
+ protected final String TEXT_4 = NL + " META-INF/,\\";
+ protected final String TEXT_5 = NL + " plugin.xml,\\";
+ protected final String TEXT_6 = NL + " ";
+ protected final String TEXT_7 = ".properties";
+ protected final String TEXT_8 = NL + "jars.compile.order = ";
+ protected final String TEXT_9 = NL + "source.";
+ protected final String TEXT_10 = " = ";
+ protected final String TEXT_11 = NL + "output.";
+ protected final String TEXT_12 = " = bin/" + NL;
+ protected final String TEXT_13 = NL;
+
+ public BuildProperties() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_13);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getTestsProjectDirectory() + "/build.properties";
+ overwrite = false;
+ encoding = "ISO-8859-1";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+ GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005-2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getTestsPluginID() + ".jar" : ".";
+ List<String> sourceFolders = genModel.getTestsSourceFolders();
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_3);
+ if (genModel.isBundleManifest()) {
+ stringBuffer.append(TEXT_4);
+ } else {
+ stringBuffer.append(TEXT_5);
+ }
+ String testsBundleLocalization = genModel.getTestsBundleLocalization();
+ int index = testsBundleLocalization.indexOf("/");
+ if (index == -1) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(testsBundleLocalization);
+ stringBuffer.append(TEXT_7);
+ } else {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(testsBundleLocalization.substring(0, index + 1));
+ }
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(pluginClassesLocation);
+ boolean first = true;
+ for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {
+ String sourceFolder = i.next();
+ if (i.hasNext()) {
+ sourceFolder += ",\\";
+ }
+ if (first) {
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(sourceFolder);
+ first = false;
+ } else {
+ stringBuffer.append(sourceFolder);
+ }
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(pluginClassesLocation);
+ stringBuffer.append(TEXT_12);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+ canGenerate = canGenerate && (!genModel.sameModelTestsProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java
new file mode 100644
index 000000000..8240f3b89
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java
@@ -0,0 +1,247 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized ManifestMF create(String lineSeparator) {
+ nl = lineSeparator;
+ ManifestMF result = new ManifestMF();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL + "Bundle-Name: ";
+ protected final String TEXT_2 = NL + "Bundle-SymbolicName: ";
+ protected final String TEXT_3 = ";singleton:=true" + NL + "Automatic-Module-Name: ";
+ protected final String TEXT_4 = NL + "Bundle-Version: 1.0.0.qualifier" + NL + "Bundle-ClassPath: ";
+ protected final String TEXT_5 = ".jar";
+ protected final String TEXT_6 = ".";
+ protected final String TEXT_7 = NL + "Bundle-Vendor: ";
+ protected final String TEXT_8 = NL + "Bundle-Localization: ";
+ protected final String TEXT_9 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";
+ protected final String TEXT_10 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";
+ protected final String TEXT_11 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";
+ protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";
+ protected final String TEXT_13 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-9";
+ protected final String TEXT_14 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-10";
+ protected final String TEXT_15 = NL + "Export-Package: ";
+ protected final String TEXT_16 = ",";
+ protected final String TEXT_17 = NL + " ";
+ protected final String TEXT_18 = NL + "Require-Bundle: ";
+ protected final String TEXT_19 = ";visibility:=reexport";
+ protected final String TEXT_20 = NL + "Eclipse-LazyStart: true";
+ protected final String TEXT_21 = NL + "Bundle-ActivationPolicy: lazy" + NL;
+ protected final String TEXT_22 = NL;
+
+ public ManifestMF() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(TEXT_22);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getTestsProjectDirectory() + "/META-INF/MANIFEST.MF";
+ overwrite = genModel.isUpdateClasspath();
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+ GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genModel.getTestsBundleNameKey());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getTestsPluginID());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getTestsPluginID());
+ stringBuffer.append(TEXT_4);
+ if (genModel.isRuntimeJar()) {
+ stringBuffer.append(genModel.getTestsPluginID());
+ stringBuffer.append(TEXT_5);
+ } else {
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genModel.getTestsBundleVendorKey());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genModel.getTestsBundleLocalization());
+ if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {
+ stringBuffer.append(TEXT_9);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {
+ stringBuffer.append(TEXT_10);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {
+ stringBuffer.append(TEXT_11);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {
+ stringBuffer.append(TEXT_12);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {
+ stringBuffer.append(TEXT_13);
+ } else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {
+ stringBuffer.append(TEXT_14);
+ }
+ Iterator<String> packagesIterator = genModel.getTestsQualifiedPackageNames().iterator();
+ if (packagesIterator.hasNext()) {
+ String pack = packagesIterator.next();
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(pack);
+ while (packagesIterator.hasNext()) {
+ pack = packagesIterator.next();
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(pack);
+ }
+ }
+ Iterator<String> requiredPluginIterator = genModel.getTestsRequiredPlugins().iterator();
+ if (requiredPluginIterator.hasNext()) {
+ String pluginID = requiredPluginIterator.next();
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(pluginID);
+ if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+ stringBuffer.append(TEXT_19);
+ }
+ while (requiredPluginIterator.hasNext()) {
+ pluginID = requiredPluginIterator.next();
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(pluginID);
+ if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.xtext.xbase.lib")
+ && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {
+ stringBuffer.append(TEXT_19);
+ }
+ }
+ }
+ if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22
+ || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {
+ stringBuffer.append(TEXT_20);
+ }
+ stringBuffer.append(TEXT_21);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+ canGenerate = canGenerate && (genModel.isBundleManifest()) && (!genModel.sameModelTestsProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java
new file mode 100644
index 000000000..5ec6342e0
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java
@@ -0,0 +1,282 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModelTestSuite extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+ protected static String nl;
+
+ public static synchronized ModelTestSuite create(String lineSeparator) {
+ nl = lineSeparator;
+ ModelTestSuite result = new ModelTestSuite();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * A test suite for the '<em><b>";
+ protected final String TEXT_5 = "</b></em>' model." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * ";
+ protected final String TEXT_7 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_8 = NL + "@Deprecated";
+ protected final String TEXT_9 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_10 = NL + "public class ";
+ protected final String TEXT_11 = " extends ";
+ protected final String TEXT_12 = NL + "{";
+ protected final String TEXT_13 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_14 = " copyright = ";
+ protected final String TEXT_15 = ";";
+ protected final String TEXT_16 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static void main(String[] args)" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_17 = ".run(suite());" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static ";
+ protected final String TEXT_18 = " suite()" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_19 = " suite = new ";
+ protected final String TEXT_20 = "(\"";
+ protected final String TEXT_21 = " Tests\");";
+ protected final String TEXT_22 = NL + "\t\tsuite.addTest(";
+ protected final String TEXT_23 = ".suite());";
+ protected final String TEXT_24 = NL + "\t\treturn suite;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic ";
+ protected final String TEXT_25 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}" + NL + "" + NL
+ + "} //";
+ protected final String TEXT_26 = NL;
+ protected final String TEXT_27 = NL;
+
+ public ModelTestSuite() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(TEXT_27);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPath = genModel.getTestsDirectory();
+ packageName = genModel.getTestSuitePackageName();
+ className = genModel.getTestSuiteClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+ GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getTestSuitePackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_5);
+ if (genModel.hasAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (isJDK50 && genModel.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_8);
+ } else if (isJDK50) {
+ boolean needsSuppressDeprecation = false;
+ LOOP: for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ if (genPackage.hasTests()) {
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests()
+ && genClass.hasImplicitAPIDeprecatedTag()) {
+ needsSuppressDeprecation = true;
+ break LOOP;
+ }
+ }
+ }
+ }
+ if (needsSuppressDeprecation) {
+ stringBuffer.append(TEXT_9);
+ }
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.getTestSuiteClassName());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));
+ stringBuffer.append(TEXT_12);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genModel.getImportedName("junit.textui.TestRunner"));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genModel.getImportedName("junit.framework.Test"));
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genModel.getTestSuiteClassName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getModelName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getNonNLS());
+ for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+ if (genPackage.hasTests()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genModel.getImportedName(genPackage.getImportedTestSuiteClassName()));
+ stringBuffer.append(TEXT_23);
+ }
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getTestSuiteClassName());
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genModel.getTestSuiteClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_26);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+ canGenerate = canGenerate && (genModel.hasTestSuiteClass());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java
new file mode 100644
index 000000000..12719db45
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java
@@ -0,0 +1,514 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PackageExample extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized PackageExample create(String lineSeparator) {
+ nl = lineSeparator;
+ PackageExample result = new PackageExample();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * A sample utility for the '<em><b>";
+ protected final String TEXT_5 = "</b></em>' package." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * ";
+ protected final String TEXT_7 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_8 = NL + "@Deprecated";
+ protected final String TEXT_9 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_10 = NL + "public class ";
+ protected final String TEXT_11 = NL + "{";
+ protected final String TEXT_12 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_13 = " copyright = ";
+ protected final String TEXT_14 = ";";
+ protected final String TEXT_15 = NL + "\t";
+ protected final String TEXT_16 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * Load all the argument file paths or URIs as instances of the model." + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @param args the file paths or URIs." + NL + "\t * @generated"
+ + NL + "\t */" + NL + "\tpublic static void main(String[] args)" + NL + "\t{" + NL
+ + "\t\t// Create a resource set to hold the resources." + NL + "\t\t//" + NL + "\t\t";
+ protected final String TEXT_17 = " resourceSet = new ";
+ protected final String TEXT_18 = "();" + NL + "\t\t";
+ protected final String TEXT_19 = NL + "\t\t// Register the appropriate resource factory to handle the content type."
+ + NL + "\t\t//" + NL + "\t\tresourceSet.getResourceFactoryRegistry().getContentTypeToFactoryMap().put" + NL
+ + "\t\t\t(";
+ protected final String TEXT_20 = ".eCONTENT_TYPE," + NL + "\t\t\t new ";
+ protected final String TEXT_21 = "());" + NL + "\t\t" + NL
+ + "\t\t// Register the appropriate content handler for all file extensions and any element from the package's namespace."
+ + NL + "\t\t//" + NL + "\t\tresourceSet.getURIConverter().getContentHandlers().add" + NL + "\t\t\t(new ";
+ protected final String TEXT_22 = "(";
+ protected final String TEXT_23 = ".eCONTENT_TYPE, null, null, ";
+ protected final String TEXT_24 = ".eNS_URI";
+ protected final String TEXT_25 = ")null";
+ protected final String TEXT_26 = ", null));";
+ protected final String TEXT_27 = NL
+ + "\t\t// Register the appropriate resource factory to handle all file extensions." + NL + "\t\t//" + NL
+ + "\t\tresourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put" + NL
+ + "\t\t\t(Resource.Factory.Registry.DEFAULT_EXTENSION, " + NL + "\t\t\t new ";
+ protected final String TEXT_28 = "());";
+ protected final String TEXT_29 = NL + NL + "\t\t// Register the package to ensure it is available during loading."
+ + NL + "\t\t//" + NL + "\t\tresourceSet.getPackageRegistry().put" + NL + "\t\t\t(";
+ protected final String TEXT_30 = ".eNS_URI, " + NL + "\t\t\t ";
+ protected final String TEXT_31 = ".eINSTANCE);" + NL + " " + NL
+ + "\t\t// If there are no arguments, emit an appropriate usage message." + NL + "\t\t//" + NL
+ + "\t\tif (args.length == 0)" + NL + "\t\t{";
+ protected final String TEXT_32 = NL
+ + "\t\t\tSystem.out.println(\"Enter a list of file paths or URIs that have content like this:\");";
+ protected final String TEXT_33 = NL + "\t\t\ttry" + NL + "\t\t\t{";
+ protected final String TEXT_34 = NL + "\t\t\t\t";
+ protected final String TEXT_35 = " resource = resourceSet.createResource(";
+ protected final String TEXT_36 = ".createURI(\"http:///My.";
+ protected final String TEXT_37 = "\"), ";
+ protected final String TEXT_38 = ".eCONTENT_TYPE);";
+ protected final String TEXT_39 = "\"));";
+ protected final String TEXT_40 = " documentRoot = ";
+ protected final String TEXT_41 = ".create";
+ protected final String TEXT_42 = "();" + NL + "\t\t\t\t";
+ protected final String TEXT_43 = " root = ";
+ protected final String TEXT_44 = "();";
+ protected final String TEXT_45 = NL + "\t\t\t\tdocumentRoot.eSet(";
+ protected final String TEXT_46 = ", root);";
+ protected final String TEXT_47 = NL + "\t\t\t\tdocumentRoot.set";
+ protected final String TEXT_48 = "(root);";
+ protected final String TEXT_49 = NL + "\t\t\t\tresource.getContents().add(";
+ protected final String TEXT_50 = ")";
+ protected final String TEXT_51 = "documentRoot);";
+ protected final String TEXT_52 = "();" + NL + "\t\t\t\tresource.getContents().add(";
+ protected final String TEXT_53 = "root);";
+ protected final String TEXT_54 = NL + "\t\t\t\tresource.save(";
+ protected final String TEXT_55 = ".out, null);" + NL + "\t\t\t}" + NL + "\t\t\tcatch (";
+ protected final String TEXT_56 = " exception) " + NL + "\t\t\t{" + NL + "\t\t\t\texception.printStackTrace();" + NL
+ + "\t\t\t}";
+ protected final String TEXT_57 = NL + "\t\t\tSystem.out.println(\"Enter a list of file paths or URIs\");";
+ protected final String TEXT_58 = NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL
+ + "\t\t\t// Iterate over all the arguments." + NL + "\t\t\t//" + NL
+ + "\t\t\tfor (int i = 0; i < args.length; ++i)" + NL + "\t\t\t{" + NL
+ + "\t\t\t\t// Construct the URI for the instance file." + NL
+ + "\t\t\t\t// The argument is treated as a file path only if it denotes an existing file." + NL
+ + "\t\t\t\t// Otherwise, it's directly treated as a URL." + NL + "\t\t\t\t//" + NL + "\t\t\t\t";
+ protected final String TEXT_59 = " file = new ";
+ protected final String TEXT_60 = "(args[i]);" + NL + "\t\t\t\t";
+ protected final String TEXT_61 = " uri = file.isFile() ? ";
+ protected final String TEXT_62 = ".createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);" + NL + "" + NL
+ + "\t\t\t\ttry" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t// Demand load resource for this file." + NL
+ + "\t\t\t\t\t//" + NL + "\t\t\t\t\t";
+ protected final String TEXT_63 = " resource = resourceSet.getResource(uri, true);" + NL
+ + "\t\t\t\t\tSystem.out.println(\"Loaded \" + uri);";
+ protected final String TEXT_64 = NL + NL + "\t\t\t\t\t// Validate the contents of the loaded resource." + NL
+ + "\t\t\t\t\t//";
+ protected final String TEXT_65 = NL + "\t\t\t\t\tfor (";
+ protected final String TEXT_66 = " eObject : resource.getContents())";
+ protected final String TEXT_67 = " j = resource.getContents().iterator(); j.hasNext(); )";
+ protected final String TEXT_68 = NL + "\t\t\t\t\t{";
+ protected final String TEXT_69 = NL + "\t\t\t\t\t\t";
+ protected final String TEXT_70 = " eObject = (";
+ protected final String TEXT_71 = ")j.next();";
+ protected final String TEXT_72 = " diagnostic = ";
+ protected final String TEXT_73 = ".INSTANCE.validate(eObject);" + NL
+ + "\t\t\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t\t\t{" + NL
+ + "\t\t\t\t\t\t\tprintDiagnostic(diagnostic, \"\");";
+ protected final String TEXT_74 = NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL
+ + "\t\t\t\tcatch (";
+ protected final String TEXT_75 = " exception) " + NL + "\t\t\t\t{" + NL
+ + "\t\t\t\t\tSystem.out.println(\"Problem loading \" + uri);";
+ protected final String TEXT_76 = NL + "\t\t\t\t\texception.printStackTrace();" + NL + "\t\t\t\t}" + NL + "\t\t\t}"
+ + NL + "\t\t}" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * Prints diagnostics with indentation." + NL + "\t * <!-- end-user-doc -->" + NL
+ + "\t * @param diagnostic the diagnostic to print." + NL
+ + "\t * @param indent the indentation for printing." + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected static void printDiagnostic(Diagnostic diagnostic, String indent)" + NL + "\t{" + NL
+ + "\t\tSystem.out.print(indent);" + NL + "\t\tSystem.out.println(diagnostic.getMessage());";
+ protected final String TEXT_77 = NL + "\t\tfor (Diagnostic child : diagnostic.getChildren())" + NL + "\t\t{" + NL
+ + "\t\t\tprintDiagnostic(child, indent + \" \");";
+ protected final String TEXT_78 = NL + "\t\t}";
+ protected final String TEXT_79 = NL + "\t\tfor (Iterator i = diagnostic.getChildren().iterator(); i.hasNext(); )"
+ + NL + "\t\t{" + NL + "\t\t\tprintDiagnostic((Diagnostic)i.next(), indent + \" \");";
+ protected final String TEXT_80 = NL + "\t}" + NL + "" + NL + "} //";
+ protected final String TEXT_81 = NL;
+ protected final String TEXT_82 = NL;
+
+ public PackageExample() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_82);
+ stringBuffer.append(TEXT_82);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getTestsDirectory();
+ packageName = genPackage.getTestsPackageName();
+ className = genPackage.getExampleClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+ GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005-2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+
+ String _System = genModel.getImportedName("java.lang.System");
+ String _String = genModel.getImportedName("java.lang.String");
+ String _RuntimeException = genModel.getImportedName("java.lang.RuntimeException");
+ String _File = genModel.getImportedName("java.io.File");
+ String _Iterator = null;
+ if (!genModel.useGenerics()) {
+ _Iterator = genModel.getImportedName("java.util.Iterator");
+ }
+ String _Diagnostic = genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic");
+ String _URI = genModel.getImportedName("org.eclipse.emf.common.util.URI");
+ String _EObject = genModel.getImportedName("org.eclipse.emf.ecore.EObject");
+ String _Diagnostician = genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician");
+ String _Resource = genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource");
+ String _ResourceSet = genModel.getImportedName("org.eclipse.emf.ecore.resource.ResourceSet");
+ String _ResourceSetImpl = genModel.getImportedName("org.eclipse.emf.ecore.resource.impl.ResourceSetImpl");
+
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getTestsPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genPackage.getPackageName());
+ stringBuffer.append(TEXT_5);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_8);
+ } else if (isJDK50 && genPackage.getRootClass() != null && genPackage.getRootClass().hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genPackage.getExampleClassName());
+ stringBuffer.append(TEXT_11);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(_String);
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_15);
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(_ResourceSet);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(_ResourceSetImpl);
+ stringBuffer.append(TEXT_18);
+ if (genPackage.isContentType()) {
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName()));
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl"));
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_23);
+ if (genPackage.hasTargetNamespace()) {
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_24);
+ } else {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(_String);
+ stringBuffer.append(TEXT_25);
+ }
+ stringBuffer.append(TEXT_26);
+ } else {
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName()));
+ stringBuffer.append(TEXT_28);
+ }
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_30);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_31);
+ if (genPackage.getRootClass() != null) {
+ GenClass rootClass = genPackage.getRootClass();
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_33);
+ if (genPackage.isContentType()) {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(_Resource);
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(_URI);
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genPackage.getFileExtension());
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genModel.getNonNLS());
+ } else {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(_Resource);
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(_URI);
+ stringBuffer.append(TEXT_36);
+ stringBuffer.append(genPackage.getFileExtension());
+ stringBuffer.append(TEXT_39);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ if (genPackage.getRootFeature() != null) {
+ GenFeature rootFeature = genPackage.getRootFeature();
+ GenClass documentRoot = rootFeature.getGenClass();
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(documentRoot.getImportedInterfaceName());
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(documentRoot.getName());
+ stringBuffer.append(TEXT_42);
+ stringBuffer.append(rootClass.getImportedInterfaceName());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(rootClass.getName());
+ stringBuffer.append(TEXT_44);
+ if (documentRoot.isDynamic()) {
+ stringBuffer.append(TEXT_45);
+ stringBuffer.append(rootFeature.getQualifiedFeatureAccessor());
+ stringBuffer.append(TEXT_46);
+ } else {
+ stringBuffer.append(TEXT_47);
+ stringBuffer.append(rootFeature.getCapName());
+ stringBuffer.append(TEXT_48);
+ }
+ stringBuffer.append(TEXT_49);
+ if (!documentRoot.isEObjectExtension()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(_EObject);
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ } else {
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(rootClass.getImportedInterfaceName());
+ stringBuffer.append(rootClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_43);
+ stringBuffer.append(rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_41);
+ stringBuffer.append(rootClass.getName());
+ stringBuffer.append(TEXT_52);
+ if (!rootClass.isEObjectExtension()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(_EObject);
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_53);
+ }
+ stringBuffer.append(TEXT_54);
+ stringBuffer.append(_System);
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genModel.getImportedName("java.io.IOException"));
+ stringBuffer.append(TEXT_56);
+ } else {
+ stringBuffer.append(TEXT_57);
+ }
+ stringBuffer.append(TEXT_58);
+ stringBuffer.append(_File);
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(_File);
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(_URI);
+ stringBuffer.append(TEXT_61);
+ stringBuffer.append(_URI);
+ stringBuffer.append(TEXT_62);
+ stringBuffer.append(_Resource);
+ stringBuffer.append(TEXT_63);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_64);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(_EObject);
+ stringBuffer.append(TEXT_66);
+ } else {
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(_Iterator);
+ stringBuffer.append(TEXT_67);
+ }
+ stringBuffer.append(TEXT_68);
+ if (!genModel.useGenerics()) {
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(_EObject);
+ stringBuffer.append(TEXT_70);
+ stringBuffer.append(_EObject);
+ stringBuffer.append(TEXT_71);
+ }
+ stringBuffer.append(TEXT_69);
+ stringBuffer.append(_Diagnostic);
+ stringBuffer.append(TEXT_72);
+ stringBuffer.append(_Diagnostician);
+ stringBuffer.append(TEXT_73);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_74);
+ stringBuffer.append(_RuntimeException);
+ stringBuffer.append(TEXT_75);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_76);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_77);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_78);
+ } else {
+ stringBuffer.append(TEXT_79);
+ stringBuffer.append(genModel.getNonNLS());
+ stringBuffer.append(TEXT_78);
+ }
+ stringBuffer.append(TEXT_80);
+ stringBuffer.append(genPackage.getExampleClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_81);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+ canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isGenerateExampleClass());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java
new file mode 100644
index 000000000..ec206692d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java
@@ -0,0 +1,279 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PackageTestSuite extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+ protected static String nl;
+
+ public static synchronized PackageTestSuite create(String lineSeparator) {
+ nl = lineSeparator;
+ PackageTestSuite result = new PackageTestSuite();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * A test suite for the '<em><b>";
+ protected final String TEXT_5 = "</b></em>' package." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * ";
+ protected final String TEXT_7 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_8 = NL + "@Deprecated";
+ protected final String TEXT_9 = NL + "@SuppressWarnings(\"deprecation\")";
+ protected final String TEXT_10 = NL + "public class ";
+ protected final String TEXT_11 = " extends ";
+ protected final String TEXT_12 = NL + "{";
+ protected final String TEXT_13 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_14 = " copyright = ";
+ protected final String TEXT_15 = ";";
+ protected final String TEXT_16 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static void main(String[] args)" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_17 = ".run(suite());" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic static ";
+ protected final String TEXT_18 = " suite()" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_19 = " suite = new ";
+ protected final String TEXT_20 = "(\"";
+ protected final String TEXT_21 = " Tests\");";
+ protected final String TEXT_22 = NL + "\t\tsuite.addTestSuite(";
+ protected final String TEXT_23 = ".class);";
+ protected final String TEXT_24 = NL + "\t\treturn suite;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+ + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+ + NL + "\tpublic ";
+ protected final String TEXT_25 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}" + NL + "" + NL
+ + "} //";
+ protected final String TEXT_26 = NL;
+ protected final String TEXT_27 = NL;
+
+ public PackageTestSuite() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(TEXT_27);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenPackage genPackage = parameter;
+ targetPath = genPackage.getGenModel().getTestsDirectory();
+ packageName = genPackage.getTestsPackageName();
+ className = genPackage.getTestSuiteClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenPackage genPackage = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+ GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenPackage genPackage = (GenPackage) argument;
+ GenModel genModel = genPackage.getGenModel();
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getTestsPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genPackage.getPackageName());
+ stringBuffer.append(TEXT_5);
+ if (genPackage.hasAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_8);
+ } else if (isJDK50) {
+ boolean needsSuppressDeprecation = false;
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests()
+ && genClass.hasImplicitAPIDeprecatedTag()) {
+ needsSuppressDeprecation = true;
+ break;
+ }
+ }
+ if (needsSuppressDeprecation) {
+ stringBuffer.append(TEXT_9);
+ }
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genPackage.getTestSuiteClassName());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));
+ stringBuffer.append(TEXT_12);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(genModel.getImportedName("junit.textui.TestRunner"));
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(genModel.getImportedName("junit.framework.Test"));
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(genPackage.getTestSuiteClassName());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genPackage.getPackageName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genModel.getNonNLS());
+ for (GenClass genClass : genPackage.getGenClasses()) {
+ if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests()) {
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(genClass.getImportedTestCaseClassName());
+ stringBuffer.append(TEXT_23);
+ }
+ }
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genPackage.getTestSuiteClassName());
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genPackage.getTestSuiteClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_26);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenPackage genPackage = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+ canGenerate = canGenerate && (genPackage.hasClassifiers());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java
new file mode 100644
index 000000000..d8d9de5a3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java
@@ -0,0 +1,184 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {
+ protected static String nl;
+
+ public static synchronized PluginProperties create(String lineSeparator) {
+ nl = lineSeparator;
+ PluginProperties result = new PluginProperties();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + NL + "pluginName = ";
+ protected final String TEXT_3 = NL + "providerName = ";
+ protected final String TEXT_4 = NL;
+ protected final String TEXT_5 = NL;
+
+ public PluginProperties() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(TEXT_5);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getTestsProjectDirectory() + "/" + genModel.getTestsBundleLocalization()
+ + ".properties";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+ GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genModel.getTestsBundleName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genModel.getTestsBundleVendorName());
+ stringBuffer.append(TEXT_4);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+ canGenerate = canGenerate && (!genModel.sameModelTestsProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java
new file mode 100644
index 000000000..5360b7914
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java
@@ -0,0 +1,224 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+ protected static String nl;
+
+ public static synchronized PluginXML create(String lineSeparator) {
+ nl = lineSeparator;
+ PluginXML result = new PluginXML();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"
+ + NL;
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL + "<plugin>";
+ protected final String TEXT_4 = NL + "<plugin" + NL + " name=\"%pluginName\"" + NL + " id=\"";
+ protected final String TEXT_5 = "\"" + NL + " version=\"1.0.0\"" + NL
+ + " provider-name=\"%providerName\">" + NL + "" + NL + " <requires>";
+ protected final String TEXT_6 = NL + " <import plugin=\"";
+ protected final String TEXT_7 = "\"";
+ protected final String TEXT_8 = " export=\"true\"";
+ protected final String TEXT_9 = "/>";
+ protected final String TEXT_10 = NL + " </requires>" + NL + "" + NL + " <runtime>";
+ protected final String TEXT_11 = NL + " <library name=\"";
+ protected final String TEXT_12 = ".jar\">";
+ protected final String TEXT_13 = NL + " <library name=\".\">";
+ protected final String TEXT_14 = NL + " <export name=\"*\"/>" + NL + " </library>" + NL
+ + " </runtime>" + NL;
+ protected final String TEXT_15 = NL + "</plugin>" + NL;
+ protected final String TEXT_16 = NL;
+
+ public PluginXML() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(TEXT_16);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenModel genModel = parameter;
+ targetPathName = genModel.getTestsProjectDirectory() + "/plugin.xml";
+ overwrite = true;
+ encoding = "UTF-8";
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenModel genModel = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+ GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenModel genModel = (GenModel) argument;
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ if (genModel.isBundleManifest()) {
+ stringBuffer.append(TEXT_3);
+ } else {
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genModel.getTestsPluginID());
+ stringBuffer.append(TEXT_5);
+ for (String pluginID : genModel.getTestsRequiredPlugins()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(pluginID);
+ stringBuffer.append(TEXT_7);
+ if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+ stringBuffer.append(TEXT_8);
+ }
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ if (genModel.isRuntimeJar()) {
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genModel.getTestsPluginID());
+ stringBuffer.append(TEXT_12);
+ } else {
+ stringBuffer.append(TEXT_13);
+ }
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenModel genModel = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+ canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT)
+ && (!(genModel.isBundleManifest())) && (!genModel.sameModelTestsProject());
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java
new file mode 100644
index 000000000..53e1f93a9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java
@@ -0,0 +1,496 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCase extends org.eclipse.egf.emf.pattern.base.GenClassJava {
+ protected static String nl;
+
+ public static synchronized TestCase create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCase result = new TestCase();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "package ";
+ protected final String TEXT_3 = ";" + NL;
+ protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ + " * A test case for the model object '<em><b>";
+ protected final String TEXT_5 = "</b></em>'." + NL + " * <!-- end-user-doc -->";
+ protected final String TEXT_6 = NL + " * <p>" + NL + " * The following features are tested:" + NL + " * <ul>";
+ protected final String TEXT_7 = NL + " * <li>{@link ";
+ protected final String TEXT_8 = "#";
+ protected final String TEXT_9 = "() <em>";
+ protected final String TEXT_10 = "</em>}</li>";
+ protected final String TEXT_11 = NL + " * </ul>" + NL + " * </p>";
+ protected final String TEXT_12 = NL + " * <p>" + NL + " * The following operations are tested:" + NL + " * <ul>";
+ protected final String TEXT_13 = "(";
+ protected final String TEXT_14 = ") <em>";
+ protected final String TEXT_15 = NL + " * ";
+ protected final String TEXT_16 = NL + " * @generated" + NL + " */";
+ protected final String TEXT_17 = NL + "@Deprecated";
+ protected final String TEXT_18 = NL + "public";
+ protected final String TEXT_19 = " abstract";
+ protected final String TEXT_20 = " class ";
+ protected final String TEXT_21 = " extends ";
+ protected final String TEXT_22 = NL + "{";
+ protected final String TEXT_23 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+ protected final String TEXT_24 = " copyright = ";
+ protected final String TEXT_25 = ";";
+ protected final String TEXT_26 = " mofDriverNumber = \"";
+ protected final String TEXT_27 = "\";";
+ protected final String TEXT_28 = NL + NL + "\t/**" + NL + "\t * The fixture for this ";
+ protected final String TEXT_29 = " test case." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+ protected final String TEXT_30 = " fixture = null;";
+ protected final String TEXT_31 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tpublic static void main(String[] args)" + NL + "\t{" + NL + "\t\t";
+ protected final String TEXT_32 = ".run(";
+ protected final String TEXT_33 = ".class);" + NL + "\t}";
+ protected final String TEXT_34 = NL + NL + "\t/**" + NL + "\t * Constructs a new ";
+ protected final String TEXT_35 = " test case with the given name." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+ protected final String TEXT_36 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}";
+ protected final String TEXT_37 = NL + NL + "\t/**" + NL + "\t * Sets the fixture for this ";
+ protected final String TEXT_38 = " test case." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+ + "\tprotected void setFixture(";
+ protected final String TEXT_39 = " fixture)" + NL + "\t{" + NL + "\t\tthis.fixture = fixture;" + NL + "\t}";
+ protected final String TEXT_40 = NL + NL + "\t/**" + NL + "\t * Returns the fixture for this ";
+ protected final String TEXT_41 = " test case." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_42 = NL + "\t@Override";
+ protected final String TEXT_43 = NL + "\t";
+ protected final String TEXT_44 = "protected";
+ protected final String TEXT_45 = "private";
+ protected final String TEXT_46 = " ";
+ protected final String TEXT_47 = " getFixture()" + NL + "\t{";
+ protected final String TEXT_48 = NL + "\t\treturn fixture;";
+ protected final String TEXT_49 = NL + "\t\treturn (";
+ protected final String TEXT_50 = ")fixture;";
+ protected final String TEXT_51 = NL + "\t}";
+ protected final String TEXT_52 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see junit.framework.TestCase#setUp()" + NL + "\t * @generated"
+ + NL + "\t */";
+ protected final String TEXT_53 = NL + "\t@SuppressWarnings(\"unchecked\")";
+ protected final String TEXT_54 = NL + "\tprotected void setUp() throws Exception" + NL + "\t{";
+ protected final String TEXT_55 = NL + "\t\tsetFixture((";
+ protected final String TEXT_56 = ")";
+ protected final String TEXT_57 = ".create(";
+ protected final String TEXT_58 = "));";
+ protected final String TEXT_59 = NL + "\t\tsetFixture(";
+ protected final String TEXT_60 = ".create";
+ protected final String TEXT_61 = "());";
+ protected final String TEXT_62 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see junit.framework.TestCase#tearDown()" + NL
+ + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_63 = NL + "\tprotected void tearDown() throws Exception" + NL + "\t{" + NL
+ + "\t\tsetFixture(null);" + NL + "\t}";
+ protected final String TEXT_64 = NL;
+ protected final String TEXT_65 = NL + "} //";
+ protected final String TEXT_66 = NL;
+
+ public TestCase() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> parameterList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object parameterParameter : parameterList) {
+
+ this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_66);
+ stringBuffer.append(TEXT_66);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ super.orchestration(new SuperOrchestrationContext(ictx));
+
+ method_preGenerate(new StringBuffer(), ictx);
+
+ method_doGenerate(new StringBuffer(), ictx);
+ {
+ final Map<String, Object> parameters = getParameters();
+ CallbackContext ctx_callback = new CallbackContext(ictx);
+ CallHelper.callBack(ctx_callback, parameters);
+ }
+
+ method_postGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("parameter", this.parameter);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("parameter", this.parameter);
+ return parameters;
+ }
+
+ protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ GenClass genClass = parameter;
+ targetPath = genClass.getGenModel().getTestsDirectory();
+ packageName = genClass.getGenPackage().getTestsPackageName();
+ className = genClass.getTestCaseClassName();
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+ }
+
+ protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ GenClass genClass = parameter;
+ argument = parameter;
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+ }
+
+ protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+ throws Exception {
+
+ new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+ GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ /**
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+
+ GenClass genClass = (GenClass) argument;
+ GenPackage genPackage = genClass.getGenPackage();
+ GenModel genModel = genPackage.getGenModel();
+ /* Trick to import java.util.* without warnings */Iterator.class.getName();
+ final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+ stringBuffer.append(TEXT_1);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("argument", parameter);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genPackage.getTestsPackageName());
+ stringBuffer.append(TEXT_3);
+ genModel.markImportLocation(stringBuffer);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_5);
+ if (!genClass.getImplementedGenFeatures().isEmpty()) {
+ boolean first = true;
+ for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+ if (genFeature.isTested() && !genFeature.isSuppressedGetVisibility()) {
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_6);
+ }
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_10);
+ }
+ }
+ if (!first) {
+ stringBuffer.append(TEXT_11);
+ }
+ }
+ if (!genClass.getImplementedGenOperations().isEmpty()) {
+ boolean first = true;
+ for (GenOperation genOperation : genClass.getImplementedGenOperations()) {
+ if (first) {
+ first = false;
+ stringBuffer.append(TEXT_12);
+ }
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genOperation.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_10);
+ }
+ if (!first) {
+ stringBuffer.append(TEXT_11);
+ }
+ }
+ if (genClass.hasImplicitAPITags()) {
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_16);
+ if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_17);
+ }
+ stringBuffer.append(TEXT_18);
+ if (genClass.isAbstract()) {
+ stringBuffer.append(TEXT_19);
+ }
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(genClass.getTestCaseClassName());
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(genClass.isModelRoot() ? genModel.getImportedName("junit.framework.TestCase")
+ : genClass.getClassExtendsGenClass().getImportedTestCaseClassName());
+ stringBuffer.append(TEXT_22);
+ if (genModel.hasCopyrightField()) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(genModel.getCopyrightFieldLiteral());
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ if (genModel.getDriverNumber() != null) {
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(genModel.getImportedName("java.lang.String"));
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(genModel.getDriverNumber());
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(genModel.getNonNLS());
+ }
+ if (genClass.isModelRoot()) {
+ stringBuffer.append(TEXT_28);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_29);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_30);
+ }
+ if (!genClass.isAbstract()) {
+ stringBuffer.append(TEXT_31);
+ stringBuffer.append(genModel.getImportedName("junit.textui.TestRunner"));
+ stringBuffer.append(TEXT_32);
+ stringBuffer.append(genClass.getTestCaseClassName());
+ stringBuffer.append(TEXT_33);
+ }
+ stringBuffer.append(TEXT_34);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_35);
+ stringBuffer.append(genClass.getTestCaseClassName());
+ stringBuffer.append(TEXT_36);
+ if (genClass.isModelRoot()) {
+ stringBuffer.append(TEXT_37);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_38);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_39);
+ }
+ stringBuffer.append(TEXT_40);
+ stringBuffer.append(genClass.getFormattedName());
+ stringBuffer.append(TEXT_41);
+ if (!genClass.isModelRoot() && genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_42);
+ }
+ stringBuffer.append(TEXT_43);
+ if (genModel.useGenerics()) {
+ stringBuffer.append(TEXT_44);
+ } else {
+ stringBuffer.append(TEXT_45);
+ }
+ stringBuffer.append(TEXT_46);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_47);
+ if (genClass.isModelRoot()) {
+ stringBuffer.append(TEXT_48);
+ } else {
+ stringBuffer.append(TEXT_49);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_50);
+ }
+ stringBuffer.append(TEXT_51);
+ if (!genClass.isAbstract()) {
+ stringBuffer.append(TEXT_52);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_42);
+ }
+ if (genModel.useGenerics() && genClass.isMapEntry()) {
+ stringBuffer.append(TEXT_53);
+ }
+ stringBuffer.append(TEXT_54);
+ if (genClass.isMapEntry()) {
+ stringBuffer.append(TEXT_55);
+ stringBuffer.append(genClass.getImportedInterfaceName());
+ stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+ stringBuffer.append(TEXT_56);
+ stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_57);
+ stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+ stringBuffer.append(TEXT_58);
+ } else {
+ stringBuffer.append(TEXT_59);
+ stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());
+ stringBuffer.append(TEXT_60);
+ stringBuffer.append(genClass.getName());
+ stringBuffer.append(TEXT_61);
+ }
+ stringBuffer.append(TEXT_62);
+ if (genModel.useClassOverrideAnnotation()) {
+ stringBuffer.append(TEXT_42);
+ }
+ stringBuffer.append(TEXT_63);
+ }
+ for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+ stringBuffer.append(TEXT_64);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_09kCIWJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/implementedGenFeature.override.javajetinc
+ }
+ for (GenOperation genOperation : genClass.getImplementedGenOperations()) {
+ stringBuffer.append(TEXT_64);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1Cx5UGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/implementedGenOperation.override.javajetinc
+ }
+ stringBuffer.append(TEXT_64);
+ stringBuffer.append(TEXT_64);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1DYWQGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_65);
+ stringBuffer.append(genClass.getTestCaseClassName());
+ genModel.emitSortedImports();
+ stringBuffer.append(TEXT_64);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ GenClass genClass = parameter;
+ genModel = parameter.getGenModel();
+ boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+ .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+ canGenerate = canGenerate && true;
+ return canGenerate;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java
new file mode 100644
index 000000000..de7e9d58b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasegenOperationannotationsinsert {
+ protected static String nl;
+
+ public static synchronized TestCasegenOperationannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCasegenOperationannotationsinsert result = new TestCasegenOperationannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public TestCasegenOperationannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..cfabe2924
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java
@@ -0,0 +1,162 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasegetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized TestCasegetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCasegetGenFeatureTODOoverride result = new TestCasegetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this feature getter test method" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;
+ protected final String TEXT_2 = NL;
+
+ public TestCasegetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..c79d447a9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasegetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized TestCasegetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCasegetGenFeatureannotationsinsert result = new TestCasegetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public TestCasegetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java
new file mode 100644
index 000000000..fb662802a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java
@@ -0,0 +1,238 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasegetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized TestCasegetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCasegetGenFeatureoverride result = new TestCasegetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";
+ protected final String TEXT_2 = "#";
+ protected final String TEXT_3 = "() <em>";
+ protected final String TEXT_4 = "</em>}' feature getter." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+ protected final String TEXT_5 = "()";
+ protected final String TEXT_6 = NL + "\t * ";
+ protected final String TEXT_7 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_8 = NL;
+ protected final String TEXT_9 = NL + "\t@Deprecated";
+ protected final String TEXT_10 = NL + "\tpublic void test";
+ protected final String TEXT_11 = "()" + NL + "\t{";
+ protected final String TEXT_12 = NL + "\t}" + NL;
+ protected final String TEXT_13 = NL;
+
+ public TestCasegetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_13);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getGetAccessor());
+ stringBuffer.append(TEXT_5);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/getGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_8);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-KfEGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genModel.capName(genFeature.getGetAccessor()));
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(TEXT_8);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-UQEGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/getGenFeature.todo.override.javajetinc
+ stringBuffer.append(TEXT_12);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java
new file mode 100644
index 000000000..32feea87d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseimplementedGenFeatureinsert {
+ protected static String nl;
+
+ public static synchronized TestCaseimplementedGenFeatureinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseimplementedGenFeatureinsert result = new TestCaseimplementedGenFeatureinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public TestCaseimplementedGenFeatureinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java
new file mode 100644
index 000000000..e9763bbf4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java
@@ -0,0 +1,277 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseimplementedGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized TestCaseimplementedGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseimplementedGenFeatureoverride result = new TestCaseimplementedGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+ protected final String TEXT_3 = NL;
+
+ public TestCaseimplementedGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(TEXT_3);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ if (genFeature.isTested()) {
+ if (genFeature.isGet() && !genFeature.isSuppressedGetVisibility()) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_093kIGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/getGenFeature.override.javajetinc
+ }
+ if (genFeature.isSet() && !genFeature.isSuppressedSetVisibility()) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-daAGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/setGenFeature.override.javajetinc
+ }
+ if (genFeature.isUnset() && !genFeature.isSuppressedUnsetVisibility()) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0_NA4GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/unsetGenFeature.override.javajetinc
+ }
+ if (genFeature.isIsSet() && !genFeature.isSuppressedIsSetVisibility()) {
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1BvXgGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/isSetGenFeature.override.javajetinc
+ }
+ }
+ stringBuffer.append(TEXT_2);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1CovYGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_2);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java
new file mode 100644
index 000000000..94088ca1c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java
@@ -0,0 +1,162 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseimplementedGenOperationTODOoverride {
+ protected static String nl;
+
+ public static synchronized TestCaseimplementedGenOperationTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseimplementedGenOperationTODOoverride result = new TestCaseimplementedGenOperationTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this operation test method" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;
+ protected final String TEXT_2 = NL;
+
+ public TestCaseimplementedGenOperationTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java
new file mode 100644
index 000000000..649b04165
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseimplementedGenOperationinsert {
+ protected static String nl;
+
+ public static synchronized TestCaseimplementedGenOperationinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseimplementedGenOperationinsert result = new TestCaseimplementedGenOperationinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public TestCaseimplementedGenOperationinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java
new file mode 100644
index 000000000..c7d0cf00b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java
@@ -0,0 +1,264 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseimplementedGenOperationoverride {
+ protected static String nl;
+
+ public static synchronized TestCaseimplementedGenOperationoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseimplementedGenOperationoverride result = new TestCaseimplementedGenOperationoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";
+ protected final String TEXT_2 = "#";
+ protected final String TEXT_3 = "(";
+ protected final String TEXT_4 = ") <em>";
+ protected final String TEXT_5 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+ protected final String TEXT_6 = ")";
+ protected final String TEXT_7 = NL + "\t * ";
+ protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_9 = NL;
+ protected final String TEXT_10 = NL + "\t@Deprecated";
+ protected final String TEXT_11 = NL + "\tpublic void test";
+ protected final String TEXT_12 = "()" + NL + "\t{";
+ protected final String TEXT_13 = NL + "\t}";
+ protected final String TEXT_14 = NL;
+
+ public TestCaseimplementedGenOperationoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genOperationList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genOperationParameter : genOperationList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_14);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genOperation", this.genOperation);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+ public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+ this.genOperation = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genOperation", this.genOperation);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genOperation.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genOperation.getFormattedName());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genOperation.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genOperation.getName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genOperation.getParameterTypes(", "));
+ stringBuffer.append(TEXT_6);
+ if (genOperation.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genOperation.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/genOperation.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_9);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1C7qUGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genClass.getUniqueName(genOperation));
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(TEXT_9);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1DFbUGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/implementedGenOperation.todo.override.javajetinc
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_9);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genOperation", genOperation);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1DOlQGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ stringBuffer.append(TEXT_9);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java
new file mode 100644
index 000000000..a7fa34a3e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java
@@ -0,0 +1,147 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseinsert {
+ protected static String nl;
+
+ public static synchronized TestCaseinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseinsert result = new TestCaseinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public TestCaseinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..28fc7185f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java
@@ -0,0 +1,162 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseisSetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized TestCaseisSetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseisSetGenFeatureTODOoverride result = new TestCaseisSetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this test method" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;
+ protected final String TEXT_2 = NL;
+
+ public TestCaseisSetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..0be552e14
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseisSetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized TestCaseisSetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseisSetGenFeatureannotationsinsert result = new TestCaseisSetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public TestCaseisSetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java
new file mode 100644
index 000000000..d40a2a987
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java
@@ -0,0 +1,238 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseisSetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized TestCaseisSetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseisSetGenFeatureoverride result = new TestCaseisSetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";
+ protected final String TEXT_2 = "#isSet";
+ protected final String TEXT_3 = "() <em>isSet";
+ protected final String TEXT_4 = "()</em>}' method." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+ protected final String TEXT_5 = "()";
+ protected final String TEXT_6 = NL + "\t * ";
+ protected final String TEXT_7 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_8 = NL;
+ protected final String TEXT_9 = NL + "\t@Deprecated";
+ protected final String TEXT_10 = NL + "\tpublic void testIsSet";
+ protected final String TEXT_11 = "()" + NL + "\t{";
+ protected final String TEXT_12 = NL + "\t}" + NL;
+ protected final String TEXT_13 = NL;
+
+ public TestCaseisSetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_13);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_5);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/isSetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_8);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1CMDcGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(TEXT_8);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1Ce-YGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/isSetGenFeature.todo.override.javajetinc
+ stringBuffer.append(TEXT_12);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..04a693495
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java
@@ -0,0 +1,162 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasesetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized TestCasesetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCasesetGenFeatureTODOoverride result = new TestCasesetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this feature setter test method" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;
+ protected final String TEXT_2 = NL;
+
+ public TestCasesetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..5c39598e1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasesetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized TestCasesetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCasesetGenFeatureannotationsinsert result = new TestCasesetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public TestCasesetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java
new file mode 100644
index 000000000..fc7b6f355
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java
@@ -0,0 +1,243 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasesetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized TestCasesetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCasesetGenFeatureoverride result = new TestCasesetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";
+ protected final String TEXT_2 = "#set";
+ protected final String TEXT_3 = "(";
+ protected final String TEXT_4 = ") <em>";
+ protected final String TEXT_5 = "</em>}' feature setter." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+ protected final String TEXT_6 = ")";
+ protected final String TEXT_7 = NL + "\t * ";
+ protected final String TEXT_8 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_9 = NL;
+ protected final String TEXT_10 = NL + "\t@Deprecated";
+ protected final String TEXT_11 = NL + "\tpublic void testSet";
+ protected final String TEXT_12 = "()" + NL + "\t{";
+ protected final String TEXT_13 = NL + "\t}" + NL;
+ protected final String TEXT_14 = NL;
+
+ public TestCasesetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_14);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getRawBoundType());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getFormattedName());
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getRawBoundType());
+ stringBuffer.append(TEXT_6);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_8);
+ if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/setGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_9);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-wU8GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_10);
+ }
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(TEXT_9);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-6F8GJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/setGenFeature.todo.override.javajetinc
+ stringBuffer.append(TEXT_13);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java
new file mode 100644
index 000000000..79c1d8cf8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java
@@ -0,0 +1,162 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseunsetGenFeatureTODOoverride {
+ protected static String nl;
+
+ public static synchronized TestCaseunsetGenFeatureTODOoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseunsetGenFeatureTODOoverride result = new TestCaseunsetGenFeatureTODOoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t// TODO: implement this test method" + NL
+ + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;
+ protected final String TEXT_2 = NL;
+
+ public TestCaseunsetGenFeatureTODOoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java
new file mode 100644
index 000000000..fb17d586f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java
@@ -0,0 +1,160 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseunsetGenFeatureannotationsinsert {
+ protected static String nl;
+
+ public static synchronized TestCaseunsetGenFeatureannotationsinsert create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseunsetGenFeatureannotationsinsert result = new TestCaseunsetGenFeatureannotationsinsert();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public TestCaseunsetGenFeatureannotationsinsert() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java
new file mode 100644
index 000000000..d560774c2
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java
@@ -0,0 +1,238 @@
+//Generated with EGF 1.6.1.201902111324
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseunsetGenFeatureoverride {
+ protected static String nl;
+
+ public static synchronized TestCaseunsetGenFeatureoverride create(String lineSeparator) {
+ nl = lineSeparator;
+ TestCaseunsetGenFeatureoverride result = new TestCaseunsetGenFeatureoverride();
+ nl = null;
+ return result;
+ }
+
+ public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";
+ protected final String TEXT_2 = "#unset";
+ protected final String TEXT_3 = "() <em>unset";
+ protected final String TEXT_4 = "()</em>}' method." + NL + "\t * <!-- begin-user-doc -->" + NL
+ + "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+ protected final String TEXT_5 = "()";
+ protected final String TEXT_6 = NL + "\t * ";
+ protected final String TEXT_7 = NL + "\t * @generated" + NL + "\t */";
+ protected final String TEXT_8 = NL;
+ protected final String TEXT_9 = NL + "\t@Deprecated";
+ protected final String TEXT_10 = NL + "\tpublic void testUnset";
+ protected final String TEXT_11 = "()" + NL + "\t{";
+ protected final String TEXT_12 = NL + "\t}" + NL;
+ protected final String TEXT_13 = NL;
+
+ public TestCaseunsetGenFeatureoverride() {
+ //Here is the constructor
+ StringBuffer stringBuffer = new StringBuffer();
+
+ // add initialisation of the pattern variables (declaration has been already done).
+
+ }
+
+ public String generate(Object argument) throws Exception {
+ final StringBuffer stringBuffer = new StringBuffer();
+
+ InternalPatternContext ctx = (InternalPatternContext) argument;
+ Map<String, String> queryCtx = null;
+ IQuery.ParameterDescription paramDesc = null;
+ Node.Container currentNode = ctx.getNode();
+
+ List<Object> genFeatureList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genClassList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genPackageList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> genModelList = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+ List<Object> isJDK50List = null;
+ //this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+ for (Object genFeatureParameter : genFeatureList) {
+ for (Object genClassParameter : genClassList) {
+ for (Object genPackageParameter : genPackageList) {
+ for (Object genModelParameter : genModelList) {
+ for (Object isJDK50Parameter : isJDK50List) {
+
+ this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+ this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+ this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+ this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+ this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+
+ if (preCondition(ctx)) {
+ ctx.setNode(new Node.Container(currentNode, getClass()));
+ orchestration(ctx);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ ctx.setNode(currentNode);
+ if (ctx.useReporter()) {
+ ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+ }
+
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_13);
+ return stringBuffer.toString();
+ }
+
+ public String orchestration(PatternContext ctx) throws Exception {
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+ method_doGenerate(new StringBuffer(), ictx);
+
+ if (ictx.useReporter()) {
+ Map<String, Object> parameterValues = new HashMap<String, Object>();
+ parameterValues.put("genFeature", this.genFeature);
+ parameterValues.put("genClass", this.genClass);
+ parameterValues.put("genPackage", this.genPackage);
+ parameterValues.put("genModel", this.genModel);
+ parameterValues.put("isJDK50", this.isJDK50);
+ String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+ String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+ ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+ }
+ return null;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+ public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+ this.genFeature = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+ public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+ this.genClass = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+ public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+ this.genPackage = object;
+ }
+
+ protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+ public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+ this.genModel = object;
+ }
+
+ protected java.lang.Boolean isJDK50 = null;
+
+ public void set_isJDK50(java.lang.Boolean object) {
+ this.isJDK50 = object;
+ }
+
+ public Map<String, Object> getParameters() {
+ final Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("genFeature", this.genFeature);
+ parameters.put("genClass", this.genClass);
+ parameters.put("genPackage", this.genPackage);
+ parameters.put("genModel", this.genModel);
+ parameters.put("isJDK50", this.isJDK50);
+ return parameters;
+ }
+
+ protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(genFeature.getGenClass().getRawQualifiedInterfaceName());
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_5);
+ if (genFeature.hasAPITags()) {
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(genFeature.getAPITags(genModel.getIndentation(stringBuffer)));
+ }
+ stringBuffer.append(TEXT_7);
+ if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/unsetGenFeature.annotations.insert.javajetinc
+ stringBuffer.append(TEXT_8);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1BcckGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ }
+ if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {
+ stringBuffer.append(TEXT_9);
+ }
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(genFeature.getAccessorName());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(TEXT_8);
+ {
+ //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+ stringBuffer.setLength(0);
+
+ final Map<String, Object> callParameters = new HashMap<String, Object>();
+ callParameters.put("genFeature", genFeature);
+ callParameters.put("genClass", genClass);
+ callParameters.put("genPackage", genPackage);
+ callParameters.put("genModel", genModel);
+ callParameters.put("isJDK50", isJDK50);
+ CallHelper.executeWithParameterInjection(
+ "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1BlmgGJ-Ed-FqczH3ESmRw",
+ new ExecutionContext((InternalPatternContext) ctx), callParameters);
+ stringBuffer.setLength(0);
+ }
+
+ //TestCase/unsetGenFeature.todo.override.javajetinc
+ stringBuffer.append(TEXT_12);
+ InternalPatternContext ictx = (InternalPatternContext) ctx;
+ new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+ }
+
+ public boolean preCondition(PatternContext ctx) throws Exception {
+ return true;
+ }
+} \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/org.eclipse.emf.codegen.ecore.patch b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/org.eclipse.emf.codegen.ecore.patch
new file mode 100644
index 000000000..90fe9bab3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/org.eclipse.emf.codegen.ecore.patch
@@ -0,0 +1,24 @@
+diff --git a/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet b/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
+index 48d03c8..b578b58 100644
+--- a/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
++++ b/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
+@@ -16,7 +16,7 @@
+ <%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+ <%final boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); final boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]); final boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+ <%final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;%>
+-<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();String indentDefaultCase = forceDefaultCase ? "\t\t" : "";%>
++<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();final String indentDefaultCase = forceDefaultCase ? "\t\t" : "";%>
+ <%final String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+ <%final String singleWildcard = isJDK50 ? "<?>" : "";%>
+ <%final String negativeOffsetCorrection = genClass.hasOffsetCorrection() ? " - " + genClass.getOffsetCorrectionField(null) : "";%>
+@@ -502,7 +502,10 @@
+ */
+ <%if (genModel.isPublicConstructors()) {%>public<%} else {%>protected<%}%> <%=genClass.getClassName()%>()
+ {
++<%@ include file="Class/egfCustom.constructor.override.javajetinc" fail="alternative" %>
++<%@ start %>
+ super();
++<%@ end %>
+ <%for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {%>
+ <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG<%if (!genFeature.isBooleanType()) {%>_DEFAULT<%}%>;
+ <%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/plugin.properties b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/plugin.properties
new file mode 100644
index 000000000..9514905b7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/plugin.properties
@@ -0,0 +1,13 @@
+##
+# Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
+# 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:
+# Thales Corporate Services S.A.S - initial API and implementation
+##
+
+pluginName=EGF EMF Pattern
+providerName=Eclipse Modeling Project \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/plugin.xml b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/plugin.xml
new file mode 100644
index 000000000..b96ebca01
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<!--
+ Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
+ This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ SPDX-License-Identifier: EPL-2.0
+
+ Contributors:
+ Thales Corporate Services S.A.S - initial API and implementation
+ -->
+
+<plugin>
+ <extension
+ point="org.eclipse.egf.core.fcore">
+ <fcore
+ id="egf/EMF_Pattern.fcore">
+ </fcore>
+ </extension>
+
+
+</plugin>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F-2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F-2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..de5a4ae22
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F-2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this feature setter test method
+ // Ensure that you remove @generated or mark it @generated NOT
+ fail();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._0-6F9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._CStaNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._CStaNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-6F8GJ-Ed-FqczH3ESmRw/method._CStaNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfG2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfG2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._0-KfG2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._CLQuZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._CLQuZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-KfEGJ-Ed-FqczH3ESmRw/method._CLQuZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQG2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQG2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..42821b44d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._0-UQG2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this feature getter test method
+ // Ensure that you remove @generated or mark it @generated NOT
+ fail();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._CMmyNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._CMmyNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-UQEGJ-Ed-FqczH3ESmRw/method._CMmyNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daC2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daC2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..f6550dcd4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._0-daC2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,23 @@
+
+
+
+ /**
+ * Tests the '{@link <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawBoundType()%>) <em><%=genFeature.getFormattedName()%></em>}' feature setter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawBoundType()%>)
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/setGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public void testSet<%=genFeature.getAccessorName()%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/setGenFeature.todo.override.javajetinc%>
+ }
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._CPu-tHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._CPu-tHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-daAGJ-Ed-FqczH3ESmRw/method._CPu-tHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU-2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU-2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU-2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._0-wU9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._CRq4ZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._CRq4ZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0-wU8GJ-Ed-FqczH3ESmRw/method._CRq4ZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00Bro2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00Bro2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00Bro2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BromJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BromJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BromJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..592e957ff
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._00BrsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,19 @@
+
+
+ /**
+ * Unsets the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+ * @see #isSet<%=genFeature.getAccessorName()%>()
+ <%}%>
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {%>
+ * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+ <%}%>
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._BW9jpHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._BW9jpHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00BroGJ-Ed-FqczH3ESmRw/method._BW9jpHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00Lco2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00Lco2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00Lco2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._00LcsmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._BX27hHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._BX27hHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00LcoGJ-Ed-FqczH3ESmRw/method._BX27hHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNo2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNo2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNo2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._00VNsmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._BY5dVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._BY5dVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00VNoGJ-Ed-FqczH3ESmRw/method._BY5dVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXk2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXk2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXk2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXkmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXkmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXkmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXlWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXlWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXlWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..bebddb56b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._00eXomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this method to unset the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._BZy1NHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._BZy1NHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00eXkGJ-Ed-FqczH3ESmRw/method._BZy1NHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIk2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIk2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIk2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIkmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIkmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIkmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIlWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIlWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIlWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..beb04202b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._00oIomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,64 @@
+
+
+<%if (isInterface) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/isSetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+ boolean isSet<%=genFeature.getAccessorName()%>();
+
+<%} else {%>
+ <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingIsSetAccessorOperation(genFeature) && !genFeature.isSuppressedIsSetVisibility()) {%>
+ @Override
+ <%}%>
+ public boolean isSet<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {%>_<%}%>()
+ {
+ <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+ return eDynamicIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else if (genModel.isReflectiveDelegation()) {%>
+ return eIsSet(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ return <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genFeature.isListType()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ return <%=genFeature.getSafeName()%> != null && ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%>.Unsettable<%=singleWildcard%>)<%=genFeature.getSafeName()%>).isSet();
+ <%} else {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ return eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ return (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%} else {%>
+ return <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%}%>
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).isEmpty(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else {%>
+ return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).isEmpty(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%}%>
+ <%} else if (genClass.getIsSetAccessorOperation(genFeature) != null) {%>
+ <%=genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._BaPhJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._BaPhJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00oIkGJ-Ed-FqczH3ESmRw/method._BaPhJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5k2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5k2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5k2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5kmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5kmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5kmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5lWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5lWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5lWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5omJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5omJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..cb3113523
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._00x5omJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,20 @@
+
+
+ /**
+ * Returns whether the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%> is set.
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%> is set.
+ <%if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {%>
+ * @see #unset<%=genFeature.getAccessorName()%>()
+ <%}%>
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {%>
+ * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+ <%}%>
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._BbSC9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._BbSC9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._00x5kGJ-Ed-FqczH3ESmRw/method._BbSC9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-MZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-McmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-McmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e50843178
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._01-McmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,126 @@
+
+
+ <%if (isImplementation) {%>
+ <%if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {%>
+ /**
+ * The cached validation expression for the '{@link #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+ <%if (genOperation.hasAPITags()) {%>
+ * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final <%=genModel.getImportedName("java.lang.String")%> <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EEXPRESSION = "<%=genOperation.getInvariantExpression("\t\t")%>";<%=genModel.getNonNLS()%>
+
+ <%} else if (genOperation.hasInvocationDelegate()) {%>
+ /**
+ * The cached invocation delegate for the '{@link #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+ <%if (genOperation.hasAPITags()) {%>
+ * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%>.Internal.InvocationDelegate <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%>.Internal)<%=genOperation.getQualifiedOperationAccessor()%>).getInvocationDelegate();
+
+ <%}%>
+ <%}%>
+<%if (isInterface) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genOperation.javadoc.override.javajetinc%>
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasAPITags()) {%>
+ * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+ <%=genOperation.getTypeParameters(genClass)%><%=genOperation.getImportedType(genClass)%> <%=genOperation.getName()%>(<%=genOperation.getParameters(genClass)%>)<%=genOperation.getThrows(genClass)%>;
+
+<%} else {%>
+ <%if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant() && genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genOperation.isSuppressedVisibility()) {%>
+ @Override
+ <%}%>
+ public <%=genOperation.getTypeParameters(genClass)%><%=genOperation.getImportedType(genClass)%> <%=genOperation.getName()%>(<%=genOperation.getParameters(isImplementation, genClass)%>)<%=genOperation.getThrows(genClass)%>
+ {
+ <%if (genOperation.hasBody()) {%>
+ <%=genOperation.getBody(genModel.getIndentation(stringBuffer))%>
+ <%} else if (genOperation.isInvariant()) {GenClass opClass = genOperation.getGenClass(); String diagnostics = genOperation.getGenParameters().get(0).getName(); String context = genOperation.getGenParameters().get(1).getName();%>
+ <%if (genOperation.hasInvariantExpression()) {%>
+ return
+ <%=opClass.getGenPackage().getImportedValidatorClassName()%>.validate
+ (<%=genClass.getQualifiedClassifierAccessor()%>,
+ this,
+ <%=diagnostics%>,
+ <%=context%>,
+ "<%=genOperation.getValidationDelegate()%>",<%=genModel.getNonNLS()%>
+ <%=genOperation.getQualifiedOperationAccessor()%>,
+ <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EEXPRESSION,
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ <%=opClass.getGenPackage().getImportedValidatorClassName()%>.DIAGNOSTIC_SOURCE,
+ <%=opClass.getGenPackage().getImportedValidatorClassName()%>.<%=opClass.getOperationID(genOperation)%>);
+ <%} else {%>
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false)
+ {
+ if (<%=diagnostics%> != null)
+ {
+ <%=diagnostics%>.add
+ (new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+ (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ <%=opClass.getGenPackage().getImportedValidatorClassName()%>.DIAGNOSTIC_SOURCE,
+ <%=opClass.getGenPackage().getImportedValidatorClassName()%>.<%=opClass.getOperationID(genOperation)%>,
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "<%=genOperation.getName()%>", <%=genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")%>.getObjectLabel(this, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ <%}%>
+ <%} else if (genOperation.hasInvocationDelegate()) { int size = genOperation.getGenParameters().size();%>
+ try
+ {
+ <%if (genOperation.isVoid()) {%>
+ <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE.dynamicInvoke(this, <%if (size > 0) {%>new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%>.UnmodifiableEList<Object>(<%=size%>, <%=genOperation.getParametersArray(genClass)%>)<%} else {%>null<%}%>);
+ <%} else {%>
+ return <%if (!isJDK50 && genOperation.isPrimitiveType()) {%>(<%}%>(<%=genOperation.getObjectType(genClass)%>)<%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE.dynamicInvoke(this, <%if (size > 0) {%>new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%>.UnmodifiableEList<Object>(<%=size%>, <%=genOperation.getParametersArray(genClass)%>)<%} else {%>null<%}%>)<%if (!isJDK50 && genOperation.isPrimitiveType()) {%>).<%=genOperation.getPrimitiveValueFunction()%>()<%}%>;
+ <%}%>
+ }
+ catch (<%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%> ite)
+ {
+ throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(ite);
+ }
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/implementedGenOperation.todo.override.javajetinc%>
+ <%}%>
+ }
+
+<%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._BiI45HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._BiI45HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01-MYGJ-Ed-FqczH3ESmRw/method._BiI45HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._010bcmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._BgWJJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._BgWJJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._010bYGJ-Ed-FqczH3ESmRw/method._BgWJJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-c2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-c2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-c2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-cmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-cmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-cmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-dWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-dWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-dWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-gmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-gmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._01N-gmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._BcoGxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._BcoGxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01N-cGJ-Ed-FqczH3ESmRw/method._BcoGxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgc2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgc2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgc2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgdWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgdWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hgdWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hggmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hggmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._01hggmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._Bd9jhHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._Bd9jhHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01hgcGJ-Ed-FqczH3ESmRw/method._Bd9jhHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..b837f39e8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._01qqcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this method to return whether the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%> is set
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._BfAsZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._BfAsZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._01qqYGJ-Ed-FqczH3ESmRw/method._BfAsZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229M2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229M2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229M2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229MmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229MmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229MmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229NWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229NWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229NWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229QmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229QmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..fc18b0e52
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._0229QmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._Bn8l9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._Bn8l9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0229MGJ-Ed-FqczH3ESmRw/method._Bn8l9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWU2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWU2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWU2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWUmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWVWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWVWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWVWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..79b2cdcd0
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._02HWYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,32 @@
+
+
+ /**
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ <%if (genOperation.hasDocumentation()) {%>
+ * <%=genOperation.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ <%for (GenParameter genParameter : genOperation.getGenParameters()) {%>
+ <%if (genParameter.hasDocumentation()) { String documentation = genParameter.getDocumentation("");%>
+ <%if (documentation.contains("\n") || documentation.contains("\r")) {%>
+ * @param <%=genParameter.getName()%>
+ * <%=genParameter.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+ * @param <%=genParameter.getName()%> <%=genParameter.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ <%}%>
+ <%}%>
+ * <!-- end-model-doc -->
+ <%}%>
+ <%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genOperation.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+ <%} else {%>
+ * <%=modelInfo%>
+ <%}} if (first) {%>
+ * @model
+ <%}}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._Bjx3pHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._Bjx3pHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02HWUGJ-Ed-FqczH3ESmRw/method._Bjx3pHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCRWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCRWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCRWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._02kCUmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._BlkAVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._BlkAVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02kCQGJ-Ed-FqczH3ESmRw/method._BlkAVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzRWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzRWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzRWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._02tzUmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._BnDOFHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._BnDOFHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._02tzQGJ-Ed-FqczH3ESmRw/method._BnDOFHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GIGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GIGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7f68806a8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._036GIGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,13 @@
+
+
+ newChildDescriptors.add
+ (createChildParameter
+ (<%=createFeature.getQualifiedFeatureAccessor()%>,
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")%>.createEntry
+ (<%=delegatedFeature.getQualifiedFeatureAccessor()%>,
+ <%if (createClass.isMapEntry()) { %>
+ <%=createClass.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.create(<%=createClass.getQualifiedClassifierAccessor()%>))));
+ <%} else {%>
+ <%=createClass.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.create<%=createClass.getName()%>())));
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.insert" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._Bx7oZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._Bx7oZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._036GEGJ-Ed-FqczH3ESmRw/method._Bx7oZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._03AuQmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._BpSpxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._BpSpxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03AuMGJ-Ed-FqczH3ESmRw/method._BpSpxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfQWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfQWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..703dd2cf7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._03KfQWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,54 @@
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public void eUnset(int featureID)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+ <%for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.isListType() && !genFeature.isUnsettable()) {%>
+ <%if (genFeature.isWrappedFeatureMapType()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap().clear();
+ <%} else {%>
+ <%=genFeature.getGetAccessor()%>().clear();
+ <%}%>
+ <%} else if (genFeature.isUnsettable()) {%>
+ unset<%=genFeature.getAccessorName()%>();
+ <%} else if (!genFeature.hasEDefault()) {%>
+ set<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)null);
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicUnset(this, null, 0);
+ <%} else {%>
+ set<%=genFeature.getAccessorName()%>(<%=genFeature.getEDefault()%>);
+ <%}%>
+ return;
+ <%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+ <%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> super.eUnset(featureID);
+<%if (forceDefaultCase) {%>
+ return;
+<%}%>
+ <%} else {%>
+<%=indentDefaultCase%> eDynamicUnset(featureID);
+<%if (forceDefaultCase) {%>
+ return;
+<%}%>
+ <%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._BqoGhHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._BqoGhHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03KfMGJ-Ed-FqczH3ESmRw/method._BqoGhHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpMWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpMWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..4b6981bcf
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._03TpMWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,116 @@
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useGenerics()) {%>
+ <%for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {%>
+ <%if (genFeature.isListType() && !genFeature.isUnsettable() && !genFeature.isWrappedFeatureMapType() && !genClass.isField(genFeature) && genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ @SuppressWarnings("unchecked")
+ <%break; }%>
+ <%}%>
+ <%}%>
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+<%for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) { String safeNameAccessor = genFeature.getSafeName(); if ("featureID".equals(safeNameAccessor)) { safeNameAccessor = "this." + safeNameAccessor; }%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.hasSettingDelegate()) {%>
+ <%if (genFeature.isUnsettable()) {%>
+ return isSet<%=genFeature.getAccessorName()%>();
+ <%} else {%>
+ return <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
+ <%}%>
+ <%} else if (genFeature.isListType() && !genFeature.isUnsettable()) {%>
+ <%if (genFeature.isWrappedFeatureMapType()) {%>
+ <%if (genFeature.isVolatile()) {%>
+ return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap().isEmpty();
+ <%} else {%>
+ return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.featureMap().isEmpty();
+ <%}%>
+ <%} else {%>
+ <%if (genClass.isField(genFeature)) {%>
+ return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.isEmpty();
+ <%} else {%>
+ <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=safeNameAccessor%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.isEmpty();
+ <%} else {%>
+ return !<%=genFeature.getGetAccessor()%>().isEmpty();
+ <%}%>
+ <%}%>
+ <%}%>
+ <%} else if (genFeature.isUnsettable()) {%>
+ return isSet<%=genFeature.getAccessorName()%>();
+ <%} else if (genFeature.isResolveProxies()) {%>
+ <%if (genClass.isField(genFeature)) {%>
+ return <%=safeNameAccessor%> != null;
+ <%} else {%>
+ <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) != null;
+ <%} else {%>
+ return basicGet<%=genFeature.getAccessorName()%>() != null;
+ <%}%>
+ <%}%>
+ <%} else if (!genFeature.hasEDefault()) {%>
+ <%if (genClass.isField(genFeature)) {%>
+ return <%=safeNameAccessor%> != null;
+ <%} else {%>
+ <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) != null;
+ <%} else {%>
+ return <%=genFeature.getGetAccessor()%>() != null;
+ <%}%>
+ <%}%>
+ <%} else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {%>
+ <%if (genClass.isField(genFeature)) {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ return ((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0) != <%=genFeature.getEDefault()%>;
+ <%} else {%>
+ return (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != <%=genFeature.getUpperName()%>_EFLAG_DEFAULT;
+ <%}%>
+ <%} else {%>
+ return <%=safeNameAccessor%> != <%=genFeature.getEDefault()%>;
+ <%}%>
+ <%} else {%>
+ <%if (genFeature.isEnumType() && genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getEDefault()%>) != <%=genFeature.getEDefault()%>;
+ <%} else {%>
+ return <%=genFeature.getGetAccessor()%>() != <%=genFeature.getEDefault()%>;
+ <%}%>
+ <%}%>
+ <%} else {//datatype%>
+ <%if (genClass.isField(genFeature)) {%>
+ return <%=genFeature.getEDefault()%> == null ? <%=safeNameAccessor%> != null : !<%=genFeature.getEDefault()%>.equals(<%=safeNameAccessor%>);
+ <%} else {%>
+ <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=safeNameAccessor%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getEDefault()%>);
+ return <%=genFeature.getEDefault()%> == null ? <%=safeNameAccessor%> != null : !<%=genFeature.getEDefault()%>.equals(<%=safeNameAccessor%>);
+ <%} else {%>
+ return <%=genFeature.getEDefault()%> == null ? <%=genFeature.getGetAccessor()%>() != null : !<%=genFeature.getEDefault()%>.equals(<%=genFeature.getGetAccessor()%>());
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eIsSet(featureID);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicIsSet(featureID);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._BsH7VHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._BsH7VHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03TpIGJ-Ed-FqczH3ESmRw/method._BsH7VHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daMWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daMWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._03daMWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._BtAsJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._BtAsJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03daIGJ-Ed-FqczH3ESmRw/method._BtAsJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkFmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkHWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkHWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..4985f198a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._03mkHWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,47 @@
+
+
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((<%=genModel.getImportedName("org.eclipse.emf.edit.provider.ComposeableAdapterFactory")%>)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_feature"),<%=genModel.getNonNLS()%>
+ <%if (genFeature.getPropertyDescription() == null || genFeature.getPropertyDescription().length() == 0) {%>
+ getString("_UI_PropertyDescriptor_description", "_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_feature", "_UI_<%=genFeature.getGenClass().getName()%>_type"),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+ <%} else {%>
+ getString("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_description"),<%=genModel.getNonNLS()%>
+ <%}%>
+ <%=genFeature.getQualifiedFeatureAccessor()%>,
+ <%=genFeature.getProperty() == GenPropertyKind.EDITABLE_LITERAL ? "true" : "false"%>,
+ <%=genFeature.isPropertyMultiLine() ? "true" : "false"%>,
+ <%=genFeature.isPropertySortChoices() ? "true" : "false"%>,
+ <%if (genFeature.isReferenceType()) {%>
+ null,
+ <%} else {%>
+ <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ItemPropertyDescriptor")%>.<%=genFeature.getPropertyImageName()%>,
+ <%}%>
+ <%if (genFeature.getPropertyCategory() == null || genFeature.getPropertyCategory().length() == 0) {%>
+ null,
+ <%} else {%>
+ getString("<%=genModel.getPropertyCategoryKey(genFeature.getPropertyCategory())%>"),<%=genModel.getNonNLS()%>
+ <%}%>
+ <%if (genFeature.getPropertyFilterFlags().isEmpty()) {%>
+ <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE && genFeature.getPropertyEditorFactory() != null && genFeature.getPropertyEditorFactory().trim().length() != 0) {%>
+ null,
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%=org.eclipse.emf.codegen.ecore.genmodel.impl.Literals.toStringLiteral(genFeature.getPropertyEditorFactory().trim(), genModel)%>)));<%=genModel.getNonNLS()%>
+ <%} else {%>
+ null));
+ <%}%>
+ <%} else {%>
+ new String[] {
+ <%/*}*/for (Iterator<String> j = genFeature.getPropertyFilterFlags().iterator(); j.hasNext();) { String filterFlag = j.next();%>
+ <%if (filterFlag != null && filterFlag.length() > 0) {%>
+ "<%=filterFlag%>"<%if (j.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+ <%}%>
+ <%}%>
+ <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE && genFeature.getPropertyEditorFactory() != null && genFeature.getPropertyEditorFactory().trim().length() != 0) { // {%>
+ },
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%=org.eclipse.emf.codegen.ecore.genmodel.impl.Literals.toStringLiteral(genFeature.getPropertyEditorFactory().trim(), genModel)%>)));
+ <%} else { // {%>
+ }));
+ <%}%>
+ <%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._BuWv9XLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._BuWv9XLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03mkEWJ-Ed-FqczH3ESmRw/method._BuWv9XLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVG2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVG2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..1b4a9351b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._03wVG2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,49 @@
+
+
+<%if (genModel.isStyleProviders()) {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>)getStyledText(object)).getString();
+<%} else {%>
+<%if (genClass.isMapEntry()) {%>
+ <%=genClass.getImportedInterfaceName()%><%if (genModel.useGenerics()) {%><?, ?><%}%> <%=genClass.getSafeUncapName()%> = (<%=genClass.getImportedInterfaceName()%><%if (genModel.useGenerics()) {%><?, ?><%}%>)object;
+ <%if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine() && !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {%>
+ return "" + <%=genClass.getSafeUncapName()%>.getKey() + " -> " + <%=genClass.getSafeUncapName()%>.getValue();<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ <%} else {%>
+ <%if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {%>
+ String key = crop("" + <%=genClass.getSafeUncapName()%>.getKey());<%=genModel.getNonNLS()%>
+ <%} else {%>
+ String key = "" + <%=genClass.getSafeUncapName()%>.getKey();<%=genModel.getNonNLS()%>
+ <%}%>
+ <%if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {%>
+ String value = crop("" + <%=genClass.getSafeUncapName()%>.getValue());<%=genModel.getNonNLS()%>
+ <%} else {%>
+ String value = "" + <%=genClass.getSafeUncapName()%>.getValue();<%=genModel.getNonNLS()%>
+ <%}%>
+ return key + " -> " + value;<%=genModel.getNonNLS()%>
+ <%}%>
+<%} else if (genClass.getLabelFeature() != null) { GenFeature labelFeature = genClass.getLabelFeature();%>
+ <%if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic() && !labelFeature.isSuppressedGetVisibility()) {%>
+ <%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> <%=genClass.getSafeUncapName()%> = (<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object;
+ return getString("_UI_<%=genClass.getName()%>_type") + " " + <%=genClass.getSafeUncapName()%>.<%=genClass.getLabelFeature().getGetAccessor()%>();<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ <%} else {%>
+ <%if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic() && !labelFeature.isSuppressedGetVisibility()) {%>
+ <%if (labelFeature.isPropertyMultiLine()) {%>
+ String label = crop(((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>());
+ <%} else {%>
+ String label = ((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>();
+ <%}%>
+ <%} else {%>
+ <%if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {%>
+ <%=genModel.getImportedName("java.lang.Object")%> labelValue = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)object).eGet(<%=labelFeature.getQualifiedFeatureAccessor()%>);
+ <%} else {%>
+ <%=labelFeature.getRawImportedType()%> labelValue = ((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>();
+ <%}%>
+ String label = labelValue == null ? null : labelValue.toString();
+ <%}%>
+ return label == null || label.length() == 0 ?
+ getString("_UI_<%=genClass.getName()%>_type") :<%=genModel.getNonNLS()%>
+ getString("_UI_<%=genClass.getName()%>_type") + " " + label;<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ <%}%>
+<%} else {%>
+ return getString("_UI_<%=genClass.getName()%>_type");<%=genModel.getNonNLS()%>
+<%}%>
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._BvZRxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._BvZRxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._03wVEGJ-Ed-FqczH3ESmRw/method._BvZRxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n8GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n8GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..f2a29e1d6
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._048n8GJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,13 @@
+
+
+ newChildDescriptors.add
+ (createChildParameter
+ (<%=createFeature.getQualifiedFeatureAccessor()%>,
+ <%if (createFeature.isEnumBasedType()) {%>
+ <%=createFeature.getTypeGenEnum().getStaticValue(createFeature.getEcoreFeature().getDefaultValueLiteral())%>));
+ <%} else if (createFeature.isStringBasedType()) {%>
+ <%=createFeature.getCreateChildValueLiteral()%>));<%=genModel.getNonNLS()%>
+ <%} else { String literal = createFeature.getCreateChildValueLiteral();%>
+ <%=createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.createFromString(<%=createDataType.getQualifiedClassifierAccessor()%>, <%=literal%>)));<%if (literal != null) {%><%=genModel.getNonNLS()%><%} else {%> // TODO: ensure this is a valid literal value<%}%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.insert" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._B_otNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._B_otNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._048n4GJ-Ed-FqczH3ESmRw/method._B_otNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBEGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBEGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._04NBEGJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._B2Z4tHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._B2Z4tHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04NBAGJ-Ed-FqczH3ESmRw/method._B2Z4tHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyEGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyEGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e60fe3188
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._04WyEGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,15 @@
+
+
+ newChildDescriptors.add
+ (createChildParameter
+ (<%=createFeature.getQualifiedFeatureAccessor()%>,
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")%>.createEntry
+ (<%=delegatedFeature.getQualifiedFeatureAccessor()%>,
+ <%if (delegatedFeature.isEnumBasedType()) {%>
+ <%=delegatedFeature.getTypeGenEnum().getStaticValue(delegatedFeature.getEcoreFeature().getDefaultValueLiteral())%>)));
+ <%} else if (delegatedFeature.isStringBasedType()) {%>
+ <%=delegatedFeature.getCreateChildValueLiteral()%>)));<%=genModel.getNonNLS()%>
+ <%} else { String literal = delegatedFeature.getCreateChildValueLiteral();%>
+ <%=createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.createFromString(<%=createDataType.getQualifiedClassifierAccessor()%>, <%=literal%>))));<%if (literal != null) {%><%=genModel.getNonNLS()%><%} else {%> // TODO: ensure this is a valid literal value<%}%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.insert" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._B3vVdHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._B3vVdHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04WyAGJ-Ed-FqczH3ESmRw/method._B3vVdHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f782J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f782J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f782J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f78mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f78mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f78mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f79WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f79WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f79WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f8AGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f8AGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._04f8AGJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._B4yeVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._B4yeVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04f78GJ-Ed-FqczH3ESmRw/method._B4yeVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ps9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ptAGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ptAGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..da8f1804c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._04ptAGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,11 @@
+
+
+ newChildDescriptors.add
+ (createChildParameter
+ (<%=createFeature.getQualifiedFeatureAccessor()%>,
+ <%if (createClass.isMapEntry()) { %>
+ <%=createClass.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.create(<%=createClass.getQualifiedClassifierAccessor()%>)));
+ <%} else {%>
+ <%=createClass.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.create<%=createClass.getName()%>()));
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.insert" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._B63h9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._B63h9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04ps8GJ-Ed-FqczH3ESmRw/method._B63h9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y242J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y242J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y242J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y24mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y24mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y24mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y25WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y25WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y25WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y28GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y28GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._04y28GJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._B-caZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._B-caZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._04y24GJ-Ed-FqczH3ESmRw/method._B-caZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_w2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_w2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_w2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_wmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_wmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_wmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_xWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_xWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_xWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_y2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_y2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._051_y2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._CCU01HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._CCU01HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._051_wGJ-Ed-FqczH3ESmRw/method._CCU01HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT4GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT4GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._05ZT4GJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._CBIiBHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._CBIiBHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._05ZT0GJ-Ed-FqczH3ESmRw/method._CBIiBHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MRmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MXGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MXGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..1800b0a2c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._08-MXGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,13 @@
+
+
+<%for (GenPackage aGenPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+ <%if (!aGenPackage.getGenClasses().isEmpty() && aGenPackage.getGenModel().hasEditSupport()) {%>
+ adapterFactory.addAdapterFactory(new <%=aGenPackage.getImportedItemProviderAdapterFactoryClassName()%>());
+ <%}%>
+<%}%>
+<%for (GenPackage aGenPackage : genModel.getAllUsedGenPackagesWithClassifiers()) {%>
+ <%if (!aGenPackage.getGenClasses().isEmpty() && aGenPackage.getGenModel().hasEditSupport()) {%>
+ adapterFactory.addAdapterFactory(new <%=aGenPackage.getImportedItemProviderAdapterFactoryClassName()%>());
+ <%}%>
+<%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.insert" args="genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ListOfResource:_ListOfResource,_ArrayListOfResource:_ArrayListOfResource,_CollectionOfResource:_CollectionOfResource,_MapOfResourceToDiagnostic:_MapOfResourceToDiagnostic,_HashMapOfResourceToBoolean:_HashMapOfResourceToBoolean,_MapOfObjectToObject:_MapOfObjectToObject,_HashMapOfObjectToObject:_HashMapOfObjectToObject,_LinkedHashMapOfResourceToDiagnostic:_LinkedHashMapOfResourceToDiagnostic,_CollectionOfAnything:_CollectionOfAnything,_ListOfAnything:_ListOfAnything,useExtendedLabelProvider:useExtendedLabelProvider,useStyledLabelProvider:useStyledLabelProvider,_AdapterFactoryLabelProvider:_AdapterFactoryLabelProvider,_DelegatingAdapterFactoryLabelProvider:_DelegatingAdapterFactoryLabelProvider,_DecoratingColumLabelProvider:_DecoratingColumLabelProvider,_DiagnosticDecorator:_DiagnosticDecorator,_ArrayListOfString:_ArrayListOfString,_ListOfString:_ListOfString,_ListOfPropertySheetPage:_ListOfPropertySheetPage,_ArrayListOfPropertySheetPage:_ArrayListOfPropertySheetPage"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._CC6qtXLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._CC6qtXLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._08-MQWJ-Ed-FqczH3ESmRw/method._CC6qtXLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kK2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kK2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..8d82bd419
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._093kK2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,23 @@
+
+
+
+ /**
+ * Tests the '{@link <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' feature getter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/getGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public void test<%=genModel.capName(genFeature.getGetAccessor())%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/getGenFeature.todo.override.javajetinc%>
+ }
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._CKEblHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._CKEblHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._093kIGJ-Ed-FqczH3ESmRw/method._CKEblHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHS2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHS2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._09RHS2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._CHY7BHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._CHY7BHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09RHMGJ-Ed-FqczH3ESmRw/method._CHY7BHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCJmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCLGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCLGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..df68dc1b4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._09kCLGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,17 @@
+
+
+ <%if (genFeature.isTested()) {%>
+ <%if (genFeature.isGet() && !genFeature.isSuppressedGetVisibility()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/getGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (genFeature.isSet() && !genFeature.isSuppressedSetVisibility()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/setGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (genFeature.isUnset() && !genFeature.isSuppressedUnsetVisibility()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/unsetGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (genFeature.isIsSet() && !genFeature.isSuppressedIsSetVisibility()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/isSetGenFeature.override.javajetinc%>
+ <%}%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._CIbc1XLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._CIbc1XLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._09kCIWJ-Ed-FqczH3ESmRw/method._CIbc1XLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA62J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA62J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..482db9ec8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._0_NA62J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,23 @@
+
+
+
+ /**
+ * Tests the '{@link <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#unset<%=genFeature.getAccessorName()%>() <em>unset<%=genFeature.getAccessorName()%>()</em>}' method.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#unset<%=genFeature.getAccessorName()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/unsetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public void testUnset<%=genFeature.getAccessorName()%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/unsetGenFeature.todo.override.javajetinc%>
+ }
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._CUDeBHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._CUDeBHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0_NA4GJ-Ed-FqczH3ESmRw/method._CUDeBHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGU2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGU2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGU2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGUWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGYGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGYGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..980007010
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method._0jpGYGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,242 @@
+
+
+ <%if (genFeature.hasSettingDelegate()) {%>
+ /**
+ * The cached setting delegate for the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Internal.SettingDelegate <%=genFeature.getUpperName()%>__ESETTING_DELEGATE = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Internal)<%=genFeature.getQualifiedFeatureAccessor()%>).getSettingDelegate();
+
+ <%} else if (genFeature.isListType() || genFeature.isReferenceType()) {%>
+ <%if (genClass.isField(genFeature)) {%>
+ /**
+ * The cached value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected <%=genFeature.getImportedInternalType(genClass)%> <%=genFeature.getSafeName()%>;
+
+ <%}%>
+ <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String rawListItemType = genFeature.getRawListItemType(genClass); int index = rawListItemType.indexOf('['); String head = rawListItemType; String tail = ""; if (index != -1) { head = rawListItemType.substring(0, index); tail = rawListItemType.substring(index); } %>
+ /**
+ * The empty value for the '{@link #<%=genFeature.getGetArrayAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' array accessor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetArrayAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (genFeature.getQualifiedListItemType(genClass).contains("<") || genFeature.getArrayItemType(genClass).contains("<")) {%>
+ @SuppressWarnings("rawtypes")
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final <%=rawListItemType%>[] <%=genFeature.getUpperName()%>_EEMPTY_ARRAY = new <%=head%> [0]<%=tail%>;
+
+ <%}%>
+ <%} else {%>
+ <%if (genFeature.hasEDefault() && (!genFeature.isVolatile() || !genModel.isReflectiveDelegation() && (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) { String staticDefaultValue = genFeature.getStaticDefaultValue();%>
+ /**
+ * The default value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final <%=genFeature.getImportedType(genClass)%> <%=genFeature.getEDefault()%><%if ("".equals(staticDefaultValue)) {%>; // TODO The default value literal "<%=genFeature.getEcoreFeature().getDefaultValueLiteral()%>" is not valid.<%} else {%> = <%=staticDefaultValue%>;<%=genModel.getNonNLS(staticDefaultValue)%><%}%>
+
+ <%}%>
+ <%if (genClass.isField(genFeature)) {%>
+ <%if (genClass.isFlag(genFeature)) { int flagIndex = genClass.getFlagIndex(genFeature);%>
+ <%if (flagIndex > 31 && flagIndex % 32 == 0) {%>
+ /**
+ * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected int <%=genClass.getFlagsField(genFeature)%> = 0;
+
+ <%}%>
+ <%if (genFeature.isEnumType()) {%>
+ /**
+ * The offset of the flags representing the value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final int <%=genFeature.getUpperName()%>_EFLAG_OFFSET = <%=flagIndex % 32%>;
+
+ /**
+ * The flags representing the default value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final int <%=genFeature.getUpperName()%>_EFLAG_DEFAULT = <%if (isJDK50) {%><%=genFeature.getEDefault()%>.ordinal()<%} else {%><%=genFeature.getImportedType(genClass)%>.VALUES.indexOf(<%=genFeature.getEDefault()%>)<%}%> << <%=genFeature.getUpperName()%>_EFLAG_OFFSET;
+
+ /**
+ * The array of enumeration values for '{@link <%=genFeature.getImportedType(genClass)%> <%=genFeature.getTypeGenClassifier().getFormattedName()%>}'
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ private static final <%=genFeature.getImportedType(genClass)%>[] <%=genFeature.getUpperName()%>_EFLAG_VALUES = <%if (isJDK50) {%><%=genFeature.getImportedType(genClass)%>.values()<%} else {%>(<%=genFeature.getImportedType(genClass)%>[])<%=genFeature.getImportedType(genClass)%>.VALUES.toArray(new <%=genFeature.getImportedType(genClass)%>[<%=genFeature.getImportedType(genClass)%>.VALUES.size()])<%}%>;
+
+ <%}%>
+ /**
+ * The flag<%=genClass.getFlagSize(genFeature) > 1 ? "s" : ""%> representing the value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final int <%=genFeature.getUpperName()%>_EFLAG = <%=genClass.getFlagMask(genFeature)%> << <%if (genFeature.isEnumType()) {%><%=genFeature.getUpperName()%>_EFLAG_OFFSET<%} else {%><%=flagIndex % 32%><%}%>;
+
+ <%} else {%>
+ /**
+ * The cached value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%><%if (genFeature.hasEDefault()) {%> = <%=genFeature.getEDefault()%><%}%>;
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (genClass.isESetField(genFeature)) {%>
+ <%if (genClass.isESetFlag(genFeature)) { int flagIndex = genClass.getESetFlagIndex(genFeature);%>
+ <%if (flagIndex > 31 && flagIndex % 32 == 0) {%>
+ /**
+ * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected int <%=genClass.getESetFlagsField(genFeature)%> = 0;
+
+ <%}%>
+ /**
+ * The flag representing whether the <%=genFeature.getFormattedName()%> <%=genFeature.getFeatureKind()%> has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ protected static final int <%=genFeature.getUpperName()%>_ESETFLAG = 1 << <%=flagIndex % 32 %>;
+
+ <%} else {%>
+ /**
+ * This is true if the <%=genFeature.getFormattedName()%> <%=genFeature.getFeatureKind()%> has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected boolean <%=genFeature.getUncapName()%>ESet;
+
+ <%}%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method.__Dly1XLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method.__Dly1XLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jpGTmJ-Ed-FqczH3ESmRw/method.__Dly1XLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method._0jyQQmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method.__Fq2dHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method.__Fq2dHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0jyQMGJ-Ed-FqczH3ESmRw/method.__Fq2dHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyQWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyQWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d5092be40
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method._0kFyQWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,26 @@
+
+
+<%if (isImplementation && (genModel.getFeatureDelegation() == GenDelegationKind.REFLECTIVE_LITERAL || genModel.isDynamicDelegation()) && (genClass.getClassExtendsGenClass() == null || (genClass.getClassExtendsGenClass().getGenModel().getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL && !genClass.getClassExtendsGenClass().getGenModel().isDynamicDelegation()))) {%>
+ <%if (genClass.hasStaticFeatures()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = <%=genClass.getClassExtendsGenClass() == null ? 0 : genClass.getClassExtendsGenClass().getAllGenFeatures().size()%>;
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected int eStaticFeatureCount()
+ {
+ return <%=genClass.getClassExtendsGenClass() == null ? "0" : genClass.hasStaticFeatures() ? "ESTATIC_FEATURE_COUNT" : Integer.toString(genClass.getClassExtendsGenClass().getAllGenFeatures().size())%>;
+ }
+
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method.__IDcFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method.__IDcFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kFyMGJ-Ed-FqczH3ESmRw/method.__IDcFHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8I2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8I2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8I2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8ImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8ImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8ImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8JWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8JWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8JWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8MmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8MmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..2a8838eb9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method._0kO8MmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,161 @@
+
+
+ <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String arrayElementType = genFeature.getArrayItemType(genClass);%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (!isImplementation) {%>
+ <%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>();
+
+ <%} else {%>
+ <%if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>()
+ {
+ <%if (genFeature.isVolatile()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>();
+ if (list.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+ <%} else {%>
+ if (<%=genFeature.getSafeName()%> == null || <%=genFeature.getSafeName()%>.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getSafeName()%>;
+ <%}%>
+ list.shrink();
+ return (<%=arrayElementType%>[])list.data();
+ }
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (!isImplementation) {%>
+ <%=genFeature.getListItemType(genClass)%> get<%=genFeature.getAccessorName()%>(int index);
+
+ <%} else {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genFeature.getListItemType(genClass)%> get<%=genFeature.getAccessorName()%>(int index)
+ {
+ return <%if (!genModel.useGenerics()) {%>(<%=genFeature.getListItemType(genClass)%>)<%}%><%=genFeature.getGetAccessor()%>().get(index);
+ }
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (!isImplementation) {%>
+ int get<%=genFeature.getAccessorName()%>Length();
+
+ <%} else {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public int get<%=genFeature.getAccessorName()%>Length()
+ {
+ <%if (genFeature.isVolatile()) {%>
+ return <%=genFeature.getGetAccessor()%>().size();
+ <%} else {%>
+ return <%=genFeature.getSafeName()%> == null ? 0 : <%=genFeature.getSafeName()%>.size();
+ <%}%>
+ }
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (!isImplementation) {%>
+ void set<%=genFeature.getAccessorName()%>(<%=genFeature.getListItemType(genClass)%>[] new<%=genFeature.getCapName()%>);
+
+ <%} else {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public void set<%=genFeature.getAccessorName()%>(<%=genFeature.getListItemType(genClass)%>[] new<%=genFeature.getCapName()%>)
+ {
+ ((<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).setData(new<%=genFeature.getCapName()%>.length, new<%=genFeature.getCapName()%>);
+ }
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (!isImplementation) {%>
+ void set<%=genFeature.getAccessorName()%>(int index, <%=genFeature.getListItemType(genClass)%> element);
+
+ <%} else {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public void set<%=genFeature.getAccessorName()%>(int index, <%=genFeature.getListItemType(genClass)%> element)
+ {
+ <%=genFeature.getGetAccessor()%>().set(index, element);
+ }
+
+ <%}%>
+ <%}%>
+ <%if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicGet()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicGetGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicSetGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicUnset()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class.basicUnsetGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.override.javajetinc%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method.__LCepHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method.__LCepHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kO8IGJ-Ed-FqczH3ESmRw/method.__LCepHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3E2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3E2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3E2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3EmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3EmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3EmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3FWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3FWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3FWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3ImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3ImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..01cd65f07
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method._0kh3ImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,145 @@
+
+
+<%if (isInterface) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+<%if (!isImplementation) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%>();
+
+<%} else {%>
+ <%if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies()) && !genFeature.isListType() && genFeature.isUncheckedCast(genClass) || genFeature.isListType() && !genFeature.isFeatureMapType() && (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation() || (genModel.isDynamicDelegation() && !genFeature.isVolatile())) || genFeature.isListDataType() && genFeature.hasDelegateFeature() || genFeature.isListType() && genFeature.hasSettingDelegate())) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingGetAccessorOperation(genFeature) && !genFeature.isSuppressedGetVisibility()) {%>
+ @Override
+ <%}%>
+ public <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%><%if (genClass.hasCollidingGetAccessorOperation(genFeature)) {%>_<%}%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)eDynamicGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, true, <%=!genFeature.isEffectiveSuppressEMFTypes()%>)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%} else if (genModel.isReflectiveDelegation()) {%>
+ <%if (genFeature.hasGetterBody()) {%>
+ <%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)eGet(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%}%>
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genFeature.isListType()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ if (<%=genFeature.getSafeName()%> == null)
+ {
+ <%if (genModel.isVirtualDelegation()) {%>
+ eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>);
+ <%} else {%>
+ <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>;
+ <%}%>
+ }
+ return <%=genFeature.getSafeName()%><%=genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : ""%>;
+ <%} else if (genFeature.isContainer()) {%>
+ if (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) return null;
+ return (<%=genFeature.getImportedType(genClass)%>)<%if (genFeature.isResolveProxies()) {%>eContainer<%} else {%>eInternalContainer<%}%>();
+ <%} else {%>
+ <%if (genFeature.isResolveProxies()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (genFeature.hasEDefault()) {%>, <%=genFeature.getEDefault()%><%}%>);
+ <%}%>
+ if (<%=genFeature.getSafeName()%> != null && <%=genFeature.getSafeNameAsEObject()%>.eIsProxy())
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> old<%=genFeature.getCapName()%> = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>;
+ <%=genFeature.getSafeName()%> = <%=genFeature.getNonEObjectInternalTypeCast(genClass)%>eResolveProxy(old<%=genFeature.getCapName()%>);
+ if (<%=genFeature.getSafeName()%> != old<%=genFeature.getCapName()%>)
+ {
+ <%if (genFeature.isEffectiveContains()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> new<%=genFeature.getCapName()%> = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>;
+ <%if (!genFeature.isBidirectional()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = old<%=genFeature.getCapName()%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, null);
+ <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = old<%=genFeature.getCapName()%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, null);
+ <%}%>
+ if (new<%=genFeature.getCapName()%>.eInternalContainer() == null)
+ {
+ <%if (!genFeature.isBidirectional()) {%>
+ msgs = new<%=genFeature.getCapName()%>.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+ <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ msgs = new<%=genFeature.getCapName()%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ <%}%>
+ }
+ if (msgs != null) msgs.dispatch();
+ <%} else if (genModel.isVirtualDelegation()) {%>
+ eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%>);
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.RESOLVE, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, old<%=genFeature.getCapName()%>, <%=genFeature.getSafeName()%>));
+ <%}%>
+ }
+ }
+ <%}%>
+ <%if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ return (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (genFeature.hasEDefault()) {%>, <%=genFeature.getEDefault()%><%}%>);
+ <%} else if (genClass.isFlag(genFeature)) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ return (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+ <%} else {%>
+ return <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+ <%}%>
+ <%} else {%>
+ return <%=genFeature.getSafeName()%>;
+ <%}%>
+ <%}%>
+ <%} else {//volatile%>
+ <%if (genFeature.isResolveProxies() && !genFeature.isListType()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = basicGet<%=genFeature.getAccessorName()%>();
+ return <%=genFeature.getSafeName()%> != null && <%=genFeature.getSafeNameAsEObject()%>.eIsProxy() ? <%=genFeature.getNonEObjectInternalTypeCast(genClass)%>eResolveProxy(<%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>) : <%=genFeature.getSafeName()%>;
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (genFeature.isFeatureMapType()) {%>
+ <%String featureMapEntryTemplateArgument = isJDK50 ? "<" + genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap") + ".Entry>" : "";%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return new <%=genFeature.getImportedEffectiveFeatureMapWrapperClass()%>((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().<%=featureMapEntryTemplateArgument%>list(<%=genFeature.getQualifiedFeatureAccessor()%>));
+ <%} else {%>
+ return (<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>)get<%=delegateFeature.getAccessorName()%>().<%=featureMapEntryTemplateArgument%>list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%}%>
+ <%} else if (genFeature.isListType()) {%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else {%>
+ return get<%=delegateFeature.getAccessorName()%>().list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%}%>
+ <%} else {%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%><%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().get(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%} else {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%><%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>get<%=delegateFeature.getAccessorName()%>().get(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%}%>
+ <%}%>
+ <%} else if (genClass.getGetAccessorOperation(genFeature) != null) {%>
+ <%=genClass.getGetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+ <%} else if (genFeature.hasGetterBody()) {%>
+ <%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.todo.override.javajetinc%>
+ <%}%>
+ <%}%>
+ }
+
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method.__MrdZHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method.__MrdZHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kh3EGJ-Ed-FqczH3ESmRw/method.__MrdZHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..408d299ab
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method._0kroImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,65 @@
+
+
+ /**
+ * Returns the value of the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%>.
+ <%if (genFeature.isListType() && genFeature.getEcoreFeature().getEGenericType().getETypeParameter() == null) {%>
+ <%if (genFeature.isMapType()) { GenFeature keyFeature = genFeature.getMapEntryTypeGenClass().getMapEntryKeyFeature(); GenFeature valueFeature = genFeature.getMapEntryTypeGenClass().getMapEntryValueFeature(); %>
+ * The key is of type <%if (keyFeature.isListType()) {%>list of {@link <%=keyFeature.getQualifiedListItemType(genClass)%>}<%} else {%>{@link <%=keyFeature.getType(genClass)%>}<%}%>,
+ * and the value is of type <%if (valueFeature.isListType()) {%>list of {@link <%=valueFeature.getQualifiedListItemType(genClass)%>}<%} else {%>{@link <%=valueFeature.getType(genClass)%>}<%}%>,
+ <%} else if (!genFeature.isWrappedFeatureMapType() && !(genModel.isSuppressEMFMetaData() && "org.eclipse.emf.ecore.EObject".equals(genFeature.getQualifiedListItemType(genClass)))) {
+String typeName = genFeature.getQualifiedListItemType(genClass); String head = typeName; String tail = ""; int index = typeName.indexOf('<'); if (index == -1) { index = typeName.indexOf('['); }
+if (index != -1) { head = typeName.substring(0, index); tail = "<code>" + CodeGenUtil.xmlEscapeEncode(typeName.substring(index)) + "</code>"; }
+%>
+ * The list contents are of type {@link <%=head%>}<%=tail%>.
+ <%}%>
+ <%} else if (genFeature.isSetDefaultValue()) {%>
+ * The default value is <code><%=genFeature.getDefaultValue()%></code>.
+ <%}%>
+ <%if (genFeature.getTypeGenEnum() != null) {%>
+ * The literals are from the enumeration {@link <%=genFeature.getTypeGenEnum().getQualifiedName()%>}.
+ <%}%>
+ <%if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) { GenFeature reverseGenFeature = genFeature.getReverse(); %>
+ <%if (!reverseGenFeature.isSuppressedGetVisibility()) {%>
+ * It is bidirectional and its opposite is '{@link <%=reverseGenFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=reverseGenFeature.getGetAccessor()%> <em><%=reverseGenFeature.getFormattedName()%></em>}'.
+ <%}%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genFeature.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+ <%}%>
+ * @return the value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%>.
+ <%if (genFeature.getTypeGenEnum() != null) {%>
+ * @see <%=genFeature.getTypeGenEnum().getQualifiedName()%>
+ <%}%>
+ <%if (genFeature.isUnsettable()) {%>
+ <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+ * @see #isSet<%=genFeature.getAccessorName()%>()
+ <%}%>
+ <%if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {%>
+ * @see #unset<%=genFeature.getAccessorName()%>()
+ <%}%>
+ <%}%>
+ <%if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {%>
+ * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+ <%}%>
+ <%if (!genModel.isSuppressEMFMetaData()) {%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genFeature.getFeatureAccessorName()%>()
+ <%}%>
+ <%if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) { GenFeature reverseGenFeature = genFeature.getReverse(); %>
+ <%if (!reverseGenFeature.isSuppressedGetVisibility()) {%>
+ * @see <%=reverseGenFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=reverseGenFeature.getGetAccessor()%>
+ <%}%>
+ <%}%>
+ <%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genFeature.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+ <%} else {%>
+ * <%=modelInfo%>
+ <%}} if (first) {%>
+ * @model
+ <%}}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method.__Nt_NHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method.__Nt_NHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0kroEGJ-Ed-FqczH3ESmRw/method.__Nt_NHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l3642J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l3642J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l3642J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l364mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l364mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l364mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l365WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l365WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l365WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l368mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l368mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method._0l368mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method.__XjQpHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method.__XjQpHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0l364GJ-Ed-FqczH3ESmRw/method.__XjQpHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method._0lIUEmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method.__O6SBHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method.__O6SBHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUAGJ-Ed-FqczH3ESmRw/method.__O6SBHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUF2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUF2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUF2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUFmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUFmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUFmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUGWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUGWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lIUGWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lSFCmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lSFCmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method._0lSFCmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method.__P9a5HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method.__P9a5HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lIUFGJ-Ed-FqczH3ESmRw/method.__P9a5HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lSFDmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lSFDmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lSFDmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8GJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO8mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO_2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO_2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method._0lbO_2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method.__RvjlHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method.__RvjlHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lSFDGJ-Ed-FqczH3ESmRw/method.__RvjlHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPBmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..fa0522b9f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method._0lbPE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,9 @@
+
+
+ // TODO: implement this method to return the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // Ensure that you remove @generated or mark it @generated NOT
+ <%if (genFeature.isListType()) {%>
+ // The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting
+ // so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.<%if (genFeature.isMapType()) {%>EcoreEMap<%} else if (genFeature.isFeatureMapType()) {%>BasicFeatureMap<%} else {%>EcoreEList<%}%> should be used.
+ <%}%>
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method.__TiTVHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method.__TiTVHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lbPAWJ-Ed-FqczH3ESmRw/method.__TiTVHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0lk_9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0llAAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0llAAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..121aab712
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method._0llAAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,45 @@
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/basicGetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public <%=genFeature.getImportedType(genClass)%> basicGet<%=genFeature.getAccessorName()%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+ return (<%=genFeature.getImportedType(genClass)%>)eDynamicGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, false, <%=!genFeature.isEffectiveSuppressEMFTypes()%>);
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%} else if (genFeature.isContainer()) {%>
+ if (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) return null;
+ return (<%=genFeature.getImportedType(genClass)%>)eInternalContainer();
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ return (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else {%>
+ return <%=genFeature.getSafeName()%>;
+ <%}%>
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return (<%=genFeature.getImportedType(genClass)%>)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().get(<%=genFeature.getQualifiedFeatureAccessor()%>, false);
+ <%} else {%>
+ return (<%=genFeature.getImportedType(genClass)%>)get<%=delegateFeature.getAccessorName()%>().get(<%=genFeature.getQualifiedFeatureAccessor()%>, false);
+ <%}%>
+ <%} else if (genFeature.hasGetterBody()) {%>
+ <%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicGetGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method.__VBhFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method.__VBhFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0lk_8GJ-Ed-FqczH3ESmRw/method.__VBhFHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6c0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6c0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..96f1ac198
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6c0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,8 @@
+
+
+ // TODO: implement this method to set the contained '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // -> this method is automatically invoked to keep the containment relationship in synch
+ // -> do not modify other features
+ // -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cw2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cxWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cxWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method._0m6cxWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method.__hsEFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method.__hsEFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0m6cwGJ-Ed-FqczH3ESmRw/method.__hsEFHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method._0mBr8mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method.__ZDFdHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method.__ZDFdHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mBr4GJ-Ed-FqczH3ESmRw/method.__ZDFdHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK102J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK102J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK102J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK10mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK10mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK10mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK11WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK11WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK11WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK14mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK14mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..b72a8636e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method._0mK14mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,6 @@
+
+
+ // TODO: implement this method to return the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // -> do not perform proxy resolution
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method.__a1OJHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method.__a1OJHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mK10GJ-Ed-FqczH3ESmRw/method.__a1OJHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..9a89e4d2f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method._0mUm4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,77 @@
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedInternalType(genClass)%> new<%=genFeature.getCapName()%>, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ <%if (genFeature.isContainer()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ msgs = eBasicSetContainer(<%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false)%>, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ return msgs;
+ <%} else if (genModel.isDynamicDelegation()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ msgs = eDynamicInverseAdd(<%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false)%>, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ return msgs;
+ <%} else if (!genFeature.isVolatile()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ Object old<%=genFeature.getCapName()%> = eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>);
+ <%} else {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+ <%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%>;
+ <%}%>
+ <%if (genFeature.isUnsettable()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean isSetChange = old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE;
+ <%}%>
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+ <%}%>
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%=genFeature.getUncapName()%>ESet = true;
+ <%}%>
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ {
+ <%if (genFeature.isUnsettable()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? null : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, new<%=genFeature.getCapName()%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>!old<%=genFeature.getCapName()%>ESet<%}%>);
+ <%} else {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE ? null : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, new<%=genFeature.getCapName()%>);
+ <%}%>
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ return msgs;
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).basicAdd(<%=genFeature.getQualifiedFeatureAccessor()%>, new<%=genFeature.getCapName()%>, msgs);
+ <%} else {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).basicAdd(<%=genFeature.getQualifiedFeatureAccessor()%>, new<%=genFeature.getCapName()%>, msgs);
+ <%}%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicSetGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method.__d9apHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method.__d9apHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mUm0GJ-Ed-FqczH3ESmRw/method.__d9apHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnh0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnh0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnh0mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhw2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhxWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhxWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method._0mnhxWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method.__fJtdHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method.__fJtdHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mnhwGJ-Ed-FqczH3ESmRw/method.__fJtdHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6csWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6csWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6csWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6cvmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6cvmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0m6cvmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS12J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS12J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS12J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS1mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS1mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method._0mxS1mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method.__gysNHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method.__gysNHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxS1GJ-Ed-FqczH3ESmRw/method.__gysNHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxS0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxS0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxS0mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSw2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSxWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSxWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method._0mxSxWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method.__gDFVHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method.__gDFVHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0mxSwGJ-Ed-FqczH3ESmRw/method.__gDFVHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-s2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-s2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-s2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-smJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-smJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-smJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-tWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-tWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-tWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-wmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-wmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..72f32cdd9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method._0nN-wmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,181 @@
+
+
+<%if (isInterface) { %>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (!isImplementation) { %>
+ void set<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedType(genClass)%> value);
+
+<%} else { GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);%>
+ <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingSetAccessorOperation(genFeature) && !genFeature.isSuppressedSetVisibility()) {%>
+ @Override
+ <%}%>
+ public void set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=genFeature.getImportedType(genClass)%> <%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>)
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicSetGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ eDynamicSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicSetGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%} else if (genModel.isReflectiveDelegation()) {%>
+ eSet(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicSet(this, null, 0, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genFeature.isContainer()) { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ if (new<%=genFeature.getCapName()%> != eInternalContainer() || (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%> && new<%=genFeature.getCapName()%> != null))
+ {
+ if (<%=genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil")%>.isAncestor(this, <%=genFeature.getEObjectCast()%>new<%=genFeature.getCapName()%>))
+ throw new <%=genModel.getImportedName("java.lang.IllegalArgumentException")%>("Recursive containment not allowed for " + toString());<%=genModel.getNonNLS()%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (new<%=genFeature.getCapName()%> != null)
+ msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ msgs = basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ <%if (!genModel.isSuppressNotification()) {%>
+ else if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>));
+ <%}%>
+ <%} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ if (new<%=genFeature.getCapName()%> != <%=genFeature.getSafeName()%>)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+ if (<%=genFeature.getSafeName()%> != null)
+ <%if (!genFeature.isBidirectional()) {%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+ if (new<%=genFeature.getCapName()%> != null)
+ msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+ <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ if (new<%=genFeature.getCapName()%> != null)
+ msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ <%}%>
+ msgs = basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ <%if (genFeature.isUnsettable()) {%>
+ else
+ {
+ <%if (genModel.isVirtualDelegation()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%}%>
+ <%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%=genFeature.getUncapName()%>ESet = true;
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>, !old<%=genFeature.getCapName()%>ESet));
+ <%}%>
+ }
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ else if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>));
+ <%}%>
+ <%}%>
+ <%} else {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+ <%} else {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+ <%}%>
+ <%}%>
+ <%if (genFeature.isBooleanType()) {%>
+ if (new<%=genFeature.getCapName()%>) <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG; else <%=genClass.getFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_EFLAG;
+ <%} else {%>
+ if (new<%=genFeature.getCapName()%> == null) new<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EDEFAULT;
+ <%=genClass.getFlagsField(genFeature)%> = <%=genClass.getFlagsField(genFeature)%> & ~<%=genFeature.getUpperName()%>_EFLAG | <%if (isJDK50) {%>new<%=genFeature.getCapName()%>.ordinal()<%} else {%><%=genFeature.getImportedType(genClass)%>.VALUES.indexOf(new<%=genFeature.getCapName()%>)<%}%> << <%=genFeature.getUpperName()%>_EFLAG_OFFSET;
+ <%}%>
+ <%} else {%>
+ <%if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+ <%}%>
+ <%}%>
+ <%if (genFeature.isEnumType()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%> == null ? <%=genFeature.getEDefault()%> : new<%=genFeature.getCapName()%>;
+ <%} else {%>
+ <%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%> == null ? <%=genFeature.getEDefault()%> : new<%=genFeature.getCapName()%>;
+ <%}%>
+ <%} else {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = <%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>;
+ <%} else {%>
+ <%=genFeature.getSafeName()%> = <%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>;
+ <%}%>
+ <%}%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ Object old<%=genFeature.getCapName()%> = eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%>);
+ <%}%>
+ <%}%>
+ <%if (genFeature.isUnsettable()) {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ boolean isSetChange = old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE;
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%}%>
+ <%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%=genFeature.getUncapName()%>ESet = true;
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange ? <%=genFeature.getEDefault()%> : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%if (genClass.isFlag(genFeature)) {%>new<%=genFeature.getCapName()%><%} else {%><%=genFeature.getSafeName()%><%}%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange<%} else {%>!old<%=genFeature.getCapName()%>ESet<%}%>));
+ <%}%>
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE ? <%=genFeature.getEDefault()%> : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%if (genClass.isFlag(genFeature)) {%>new<%=genFeature.getCapName()%><%} else {%><%=genFeature.getSafeName()%><%}%>));
+ <%}%>
+ <%}%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).set(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+ <%} else {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).set(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+ <%}%>
+ <%} else if (setAccessorOperation != null) {%>
+ <%=setAccessorOperation.getBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.TODO.override" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method.__jLR1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method.__jLR1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nN-sGJ-Ed-FqczH3ESmRw/method.__jLR1HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIo2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIo2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIo2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..3dba729cb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method._0nXIsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,25 @@
+
+
+ /**
+ * Sets the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%>.
+ <%if (genFeature.isEnumType()) {%>
+ * @see <%=genFeature.getTypeGenEnum().getQualifiedName()%>
+ <%}%>
+ <%if (genFeature.isUnsettable()) {%>
+ <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+ * @see #isSet<%=genFeature.getAccessorName()%>()
+ <%}%>
+ <%if (!genFeature.isSuppressedUnsetVisibility()) {%>
+ * @see #unset<%=genFeature.getAccessorName()%>()
+ <%}%>
+ <%}%>
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method.__m57RHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method.__m57RHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nXIoGJ-Ed-FqczH3ESmRw/method.__m57RHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5o2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5o2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5o2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5omJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5omJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5omJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5pWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5pWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5pWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5smJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5smJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method._0ng5smJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method.__oi6BHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method.__oi6BHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ng5oGJ-Ed-FqczH3ESmRw/method.__oi6BHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqo2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqo2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqo2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method._0nqqsmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method.__pvM1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method.__pvM1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nqqoGJ-Ed-FqczH3ESmRw/method.__pvM1HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0k2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0k2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0k2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0kmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0kmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0kmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0lWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0lWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0lWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0o2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0o2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method._0nz0o2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method.__rEplHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method.__rEplHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0nz0kGJ-Ed-FqczH3ESmRw/method.__rEplHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..8f8ef0351
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method._0q8BImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,151 @@
+
+
+<%if (isInterface) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/unsetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+ void unset<%=genFeature.getAccessorName()%>();
+
+<%} else {%>
+ <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingUnsetAccessorOperation(genFeature) && !genFeature.isSuppressedUnsetVisibility()) {%>
+ @Override
+ <%}%>
+ public void unset<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {%>_<%}%>()
+ {
+ <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+ eDynamicUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else if (genModel.isReflectiveDelegation()) {%>
+ eUnset(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicUnset(this, null, 0);
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genFeature.isListType()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ if (<%=genFeature.getSafeName()%> != null) ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%>.Unsettable<%=singleWildcard%>)<%=genFeature.getSafeName()%>).unset();
+ <%} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ if (<%=genFeature.getSafeName()%> != null)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+ <%if (!genFeature.isBidirectional()) {%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+ <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ <%}%>
+ msgs = basicUnset<%=genFeature.getAccessorName()%>(msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else
+ {
+ <%if (genModel.isVirtualDelegation()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%}%>
+ <%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%=genFeature.getUncapName()%>ESet = false;
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, null, null, old<%=genFeature.getCapName()%>ESet));
+ <%}%>
+ }
+ <%} else {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+ <%} else {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+ <%}%>
+ <%}%>
+ <%} else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ Object old<%=genFeature.getCapName()%> = eVirtualUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+ <%}%>
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ boolean isSetChange = old<%=genFeature.getCapName()%> != EVIRTUAL_NO_VALUE;
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%} else {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%}%>
+ <%if (genFeature.isReferenceType()) {%>
+ <%=genFeature.getSafeName()%> = null;
+ <%if (!genModel.isVirtualDelegation()) {%>
+ <%if (genClass.isESetFlag(genFeature)) {%>
+ <%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%=genFeature.getUncapName()%>ESet = false;
+ <%}%>
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? old<%=genFeature.getCapName()%> : null<%} else {%>old<%=genFeature.getCapName()%><%}%>, null, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>));
+ <%}%>
+ <%} else {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ if (<%=genFeature.getEDefault()%>) <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG; else <%=genClass.getFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_EFLAG;
+ <%} else {%>
+ <%=genClass.getFlagsField(genFeature)%> = <%=genClass.getFlagsField(genFeature)%> & ~<%=genFeature.getUpperName()%>_EFLAG | <%=genFeature.getUpperName()%>_EFLAG_DEFAULT;
+ <%}%>
+ <%} else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+ <%=genFeature.getSafeName()%> = <%=genFeature.getEDefault()%>;
+ <%}%>
+ <%if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+ <%if (genClass.isESetFlag(genFeature)) {%>
+ <%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%=genFeature.getUncapName()%>ESet = false;
+ <%}%>
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange ? old<%=genFeature.getCapName()%> : <%=genFeature.getEDefault()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%=genFeature.getEDefault()%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>));
+ <%}%>
+ <%}%>
+ <%}%>
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).clear(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).clear(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%}%>
+ <%} else if (genClass.getUnsetAccessorOperation(genFeature) != null) {%>
+ <%=genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method.__0BKNHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method.__0BKNHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0q8BEGJ-Ed-FqczH3ESmRw/method.__0BKNHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method._0qMaQ2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method.__sQ8ZHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method.__sQ8ZHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaMGJ-Ed-FqczH3ESmRw/method.__sQ8ZHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaR2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaR2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaR2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaSGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaSGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qMaSGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLMWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLMWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLMWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLP2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLP2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..2524a90b2
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method._0qWLP2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this method to set the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method.__tAjRHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method.__tAjRHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qMaRWJ-Ed-FqczH3ESmRw/method.__tAjRHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..497b69dd8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method._0qfVMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,57 @@
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/basicUnsetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicUnset<%=genFeature.getAccessorName()%>(<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ <%if (genModel.isDynamicDelegation()) {%>
+ return eDynamicInverseRemove(<%=genFeature.getAsInternalEObject("", false)%><%if (genFeature.isResolveProxies()) {%>basicGet<%=genFeature.getAccessorName()%><%} else {%><%=genFeature.getGetAccessor()%><%}%>(), <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%if (!genModel.isSuppressNotification()) {%>Object old<%=genFeature.getCapName()%> = <%}%>eVirtualUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+ <%}%>
+ <%=genFeature.getSafeName()%> = null;
+ <%}%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean isSetChange = old<%=genFeature.getCapName()%> != EVIRTUAL_NO_VALUE;
+ <%}%>
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%}%>
+ <%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%=genFeature.getUncapName()%>ESet = false;
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? old<%=genFeature.getCapName()%> : null<%} else {%>old<%=genFeature.getCapName()%><%}%>, null, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ <%}%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicUnsetGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method.__v101HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method.__v101HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qfVIGJ-Ed-FqczH3ESmRw/method.__v101HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method._0qpGMmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method.__xezlHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method.__xezlHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qpGIGJ-Ed-FqczH3ESmRw/method.__xezlHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3I2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3I2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3I2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3ImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3ImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3ImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3JWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3JWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3JWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3MmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3MmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..89c17daaf
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method._0qy3MmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,8 @@
+
+
+ // TODO: implement this method to unset the contained '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // -> this method is automatically invoked to keep the containment relationship in synch
+ // -> do not modify other features
+ // -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method.__yrGZHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method.__yrGZHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0qy3IGJ-Ed-FqczH3ESmRw/method.__yrGZHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e349b8333
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method._0rPjImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,19 @@
+
+
+ /**
+ * Unsets the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+ * @see #isSet<%=genFeature.getAccessorName()%>()
+ <%}%>
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {%>
+ * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+ <%}%>
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method.__1gX9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method.__1gX9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rPjEGJ-Ed-FqczH3ESmRw/method.__1gX9HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_J9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_KAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_KAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..bebddb56b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method._0r_KAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this method to unset the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method.__6keJHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method.__6keJHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0r_J8GJ-Ed-FqczH3ESmRw/method.__6keJHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method._0rieEmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method.__349lHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method.__349lHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rieAGJ-Ed-FqczH3ESmRw/method.__349lHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rrn9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rroAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rroAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method._0rroAmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method.__5rtVHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method.__5rtVHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0rrn8GJ-Ed-FqczH3ESmRw/method.__5rtVHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s360mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s360mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s360mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36w2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36w2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36w2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36wmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36wmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36wmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36xWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36xWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._0s36xWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._ADOD1HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._ADOD1HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0s36wGJ-Ed-FqczH3ESmRw/method._ADOD1HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..c3b2a2a54
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method._0sIT8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,64 @@
+
+
+<%if (isInterface) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/isSetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+ boolean isSet<%=genFeature.getAccessorName()%>();
+
+<%} else {%>
+ <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingIsSetAccessorOperation(genFeature) && !genFeature.isSuppressedIsSetVisibility()) {%>
+ @Override
+ <%}%>
+ public boolean isSet<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {%>_<%}%>()
+ {
+ <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+ return eDynamicIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else if (genModel.isReflectiveDelegation()) {%>
+ return eIsSet(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ return <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genFeature.isListType()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ return <%=genFeature.getSafeName()%> != null && ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%>.Unsettable<%=singleWildcard%>)<%=genFeature.getSafeName()%>).isSet();
+ <%} else {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ return eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ return (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%} else {%>
+ return <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%}%>
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).isEmpty(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else {%>
+ return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).isEmpty(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%}%>
+ <%} else if (genClass.getIsSetAccessorOperation(genFeature) != null) {%>
+ <%=genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method.__8ES9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method.__8ES9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sIT4GJ-Ed-FqczH3ESmRw/method.__8ES9HLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..3edcd7412
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method._0sSE8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,20 @@
+
+
+ /**
+ * Returns whether the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%> is set.
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%> is set.
+ <%if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {%>
+ * @see #unset<%=genFeature.getAccessorName()%>()
+ <%}%>
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {%>
+ * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+ <%}%>
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method.__9sqpHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method.__9sqpHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sSE4GJ-Ed-FqczH3ESmRw/method.__9sqpHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb142J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb142J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb142J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb14mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb14mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb14mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb15WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb15WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb15WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb18mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb18mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method._0sb18mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method.__-mChHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method.__-mChHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sb14GJ-Ed-FqczH3ESmRw/method.__-mChHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method._0sk_4mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method.___faZHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method.___faZHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0sk_0GJ-Ed-FqczH3ESmRw/method.___faZHLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..b837f39e8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._0suw4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this method to return whether the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%> is set
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._AAYyRHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._AAYyRHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0suw0GJ-Ed-FqczH3ESmRw/method._AAYyRHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7Do2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7Do2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7Do2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..fc18b0e52
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._0t7DsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._AKODtHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._AKODtHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0t7DoGJ-Ed-FqczH3ESmRw/method._AKODtHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLc0GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLc0GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..78be4c19c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLc0GJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,126 @@
+
+
+ <%if (isImplementation) {%>
+ <%if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {%>
+ /**
+ * The cached validation expression for the '{@link #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+ <%if (genOperation.hasAPITags()) {%>
+ * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final <%=genModel.getImportedName("java.lang.String")%> <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EEXPRESSION = "<%=genOperation.getInvariantExpression("\t\t")%>";<%=genModel.getNonNLS()%>
+
+ <%} else if (genOperation.hasInvocationDelegate()) {%>
+ /**
+ * The cached invocation delegate for the '{@link #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+ <%if (genOperation.hasAPITags()) {%>
+ * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%>.Internal.InvocationDelegate <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%>.Internal)<%=genOperation.getQualifiedOperationAccessor()%>).getInvocationDelegate();
+
+ <%}%>
+ <%}%>
+<%if (isInterface) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genOperation.javadoc.override.javajetinc%>
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasAPITags()) {%>
+ * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+ <%=genOperation.getTypeParameters(genClass)%><%=genOperation.getImportedType(genClass)%> <%=genOperation.getName()%>(<%=genOperation.getParameters(genClass)%>)<%=genOperation.getThrows(genClass)%>;
+
+<%} else {%>
+ <%if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant() && genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genOperation.isSuppressedVisibility()) {%>
+ @Override
+ <%}%>
+ public <%=genOperation.getTypeParameters(genClass)%><%=genOperation.getImportedType(genClass)%> <%=genOperation.getName()%>(<%=genOperation.getParameters(isImplementation, genClass)%>)<%=genOperation.getThrows(genClass)%>
+ {
+ <%if (genOperation.hasBody()) {%>
+ <%=genOperation.getBody(genModel.getIndentation(stringBuffer))%>
+ <%} else if (genOperation.isInvariant()) {GenClass opClass = genOperation.getGenClass(); String diagnostics = genOperation.getGenParameters().get(0).getName(); String context = genOperation.getGenParameters().get(1).getName();%>
+ <%if (genOperation.hasInvariantExpression()) {%>
+ return
+ <%=opClass.getGenPackage().getImportedValidatorClassName()%>.validate
+ (<%=genClass.getQualifiedClassifierAccessor()%>,
+ this,
+ <%=diagnostics%>,
+ <%=context%>,
+ "<%=genOperation.getValidationDelegate()%>",<%=genModel.getNonNLS()%>
+ <%=genOperation.getQualifiedOperationAccessor()%>,
+ <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EEXPRESSION,
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ <%=opClass.getGenPackage().getImportedValidatorClassName()%>.DIAGNOSTIC_SOURCE,
+ <%=opClass.getGenPackage().getImportedValidatorClassName()%>.<%=opClass.getOperationID(genOperation)%>);
+ <%} else {%>
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false)
+ {
+ if (<%=diagnostics%> != null)
+ {
+ <%=diagnostics%>.add
+ (new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+ (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ <%=opClass.getGenPackage().getImportedValidatorClassName()%>.DIAGNOSTIC_SOURCE,
+ <%=opClass.getGenPackage().getImportedValidatorClassName()%>.<%=opClass.getOperationID(genOperation)%>,
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "<%=genOperation.getName()%>", <%=genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")%>.getObjectLabel(this, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ <%}%>
+ <%} else if (genOperation.hasInvocationDelegate()) { int size = genOperation.getGenParameters().size();%>
+ try
+ {
+ <%if (genOperation.isVoid()) {%>
+ <%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE.dynamicInvoke(this, <%if (size > 0) {%>new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%>.UnmodifiableEList<Object>(<%=size%>, <%=genOperation.getParametersArray(genClass)%>)<%} else {%>null<%}%>);
+ <%} else {%>
+ return <%if (!isJDK50 && genOperation.isPrimitiveType()) {%>(<%}%>(<%=genOperation.getObjectType(genClass)%>)<%=CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale())%>__EINVOCATION_DELEGATE.dynamicInvoke(this, <%if (size > 0) {%>new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%>.UnmodifiableEList<Object>(<%=size%>, <%=genOperation.getParametersArray(genClass)%>)<%} else {%>null<%}%>)<%if (!isJDK50 && genOperation.isPrimitiveType()) {%>).<%=genOperation.getPrimitiveValueFunction()%>()<%}%>;
+ <%}%>
+ }
+ catch (<%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%> ite)
+ {
+ throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(ite);
+ }
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/implementedGenOperation.todo.override.javajetinc%>
+ <%}%>
+ }
+
+<%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcw2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._0tLcwWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._AD9qtHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._AD9qtHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tBrwGJ-Ed-FqczH3ESmRw/method._AD9qtHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUms2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUms2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUms2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmtWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmtWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmtWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..95e0b50d3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._0tUmwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,32 @@
+
+
+ /**
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ <%if (genOperation.hasDocumentation()) {%>
+ * <%=genOperation.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ <%for (GenParameter genParameter : genOperation.getGenParameters()) {%>
+ <%if (genParameter.hasDocumentation()) { String documentation = genParameter.getDocumentation("");%>
+ <%if (documentation.contains("\n") || documentation.contains("\r")) {%>
+ * @param <%=genParameter.getName()%>
+ * <%=genParameter.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+ * @param <%=genParameter.getName()%> <%=genParameter.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ <%}%>
+ <%}%>
+ * <!-- end-model-doc -->
+ <%}%>
+ <%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genOperation.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+ <%} else {%>
+ * <%=modelInfo%>
+ <%}} if (first) {%>
+ * @model
+ <%}}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._AFJ9hHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._AFJ9hHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0tUmsGJ-Ed-FqczH3ESmRw/method._AFJ9hHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIs2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIs2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIs2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toItWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toItWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toItWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._0toIwmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._AG8GNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._AG8GNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0toIsGJ-Ed-FqczH3ESmRw/method._AG8GNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSo2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSo2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSo2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSomJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSpWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSpWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSpWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._0txSsmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._AIbT9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._AIbT9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0txSoGJ-Ed-FqczH3ESmRw/method._AIbT9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bg2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bg2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bg2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bhmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bk2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bk2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..ba596b594
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._0u0bk2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,242 @@
+
+
+ <%if (genFeature.hasSettingDelegate()) {%>
+ /**
+ * The cached setting delegate for the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Internal.SettingDelegate <%=genFeature.getUpperName()%>__ESETTING_DELEGATE = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Internal)<%=genFeature.getQualifiedFeatureAccessor()%>).getSettingDelegate();
+
+ <%} else if (genFeature.isListType() || genFeature.isReferenceType()) {%>
+ <%if (genClass.isField(genFeature)) {%>
+ /**
+ * The cached value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected <%=genFeature.getImportedInternalType(genClass)%> <%=genFeature.getSafeName()%>;
+
+ <%}%>
+ <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String rawListItemType = genFeature.getRawListItemType(genClass); int index = rawListItemType.indexOf('['); String head = rawListItemType; String tail = ""; if (index != -1) { head = rawListItemType.substring(0, index); tail = rawListItemType.substring(index); } %>
+ /**
+ * The empty value for the '{@link #<%=genFeature.getGetArrayAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' array accessor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetArrayAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (genFeature.getQualifiedListItemType(genClass).contains("<") || genFeature.getArrayItemType(genClass).contains("<")) {%>
+ @SuppressWarnings("rawtypes")
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final <%=rawListItemType%>[] <%=genFeature.getUpperName()%>_EEMPTY_ARRAY = new <%=head%> [0]<%=tail%>;
+
+ <%}%>
+ <%} else {%>
+ <%if (genFeature.hasEDefault() && (!genFeature.isVolatile() || !genModel.isReflectiveDelegation() && (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) { String staticDefaultValue = genFeature.getStaticDefaultValue();%>
+ /**
+ * The default value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final <%=genFeature.getImportedType(genClass)%> <%=genFeature.getEDefault()%><%if ("".equals(staticDefaultValue)) {%>; // TODO The default value literal "<%=genFeature.getEcoreFeature().getDefaultValueLiteral()%>" is not valid.<%} else {%> = <%=staticDefaultValue%>;<%=genModel.getNonNLS(staticDefaultValue)%><%}%>
+
+ <%}%>
+ <%if (genClass.isField(genFeature)) {%>
+ <%if (genClass.isFlag(genFeature)) { int flagIndex = genClass.getFlagIndex(genFeature);%>
+ <%if (flagIndex > 31 && flagIndex % 32 == 0) {%>
+ /**
+ * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected int <%=genClass.getFlagsField(genFeature)%> = 0;
+
+ <%}%>
+ <%if (genFeature.isEnumType()) {%>
+ /**
+ * The offset of the flags representing the value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final int <%=genFeature.getUpperName()%>_EFLAG_OFFSET = <%=flagIndex % 32%>;
+
+ /**
+ * The flags representing the default value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final int <%=genFeature.getUpperName()%>_EFLAG_DEFAULT = <%if (isJDK50) {%><%=genFeature.getEDefault()%>.ordinal()<%} else {%><%=genFeature.getImportedType(genClass)%>.VALUES.indexOf(<%=genFeature.getEDefault()%>)<%}%> << <%=genFeature.getUpperName()%>_EFLAG_OFFSET;
+
+ /**
+ * The array of enumeration values for '{@link <%=genFeature.getImportedType(genClass)%> <%=genFeature.getTypeGenClassifier().getFormattedName()%>}'
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ private static final <%=genFeature.getImportedType(genClass)%>[] <%=genFeature.getUpperName()%>_EFLAG_VALUES = <%if (isJDK50) {%><%=genFeature.getImportedType(genClass)%>.values()<%} else {%>(<%=genFeature.getImportedType(genClass)%>[])<%=genFeature.getImportedType(genClass)%>.VALUES.toArray(new <%=genFeature.getImportedType(genClass)%>[<%=genFeature.getImportedType(genClass)%>.VALUES.size()])<%}%>;
+
+ <%}%>
+ /**
+ * The flag<%=genClass.getFlagSize(genFeature) > 1 ? "s" : ""%> representing the value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected static final int <%=genFeature.getUpperName()%>_EFLAG = <%=genClass.getFlagMask(genFeature)%> << <%if (genFeature.isEnumType()) {%><%=genFeature.getUpperName()%>_EFLAG_OFFSET<%} else {%><%=flagIndex % 32%><%}%>;
+
+ <%} else {%>
+ /**
+ * The cached value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%><%if (genFeature.hasEDefault()) {%> = <%=genFeature.getEDefault()%><%}%>;
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (genClass.isESetField(genFeature)) {%>
+ <%if (genClass.isESetFlag(genFeature)) { int flagIndex = genClass.getESetFlagIndex(genFeature);%>
+ <%if (flagIndex > 31 && flagIndex % 32 == 0) {%>
+ /**
+ * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected int <%=genClass.getESetFlagsField(genFeature)%> = 0;
+
+ <%}%>
+ /**
+ * The flag representing whether the <%=genFeature.getFormattedName()%> <%=genFeature.getFeatureKind()%> has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ protected static final int <%=genFeature.getUpperName()%>_ESETFLAG = 1 << <%=flagIndex % 32 %>;
+
+ <%} else {%>
+ /**
+ * This is true if the <%=genFeature.getFormattedName()%> <%=genFeature.getFeatureKind()%> has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected boolean <%=genFeature.getUncapName()%>ESet;
+
+ <%}%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._AQBwxXLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._AQBwxXLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0u0bgWJ-Ed-FqczH3ESmRw/method._AQBwxXLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENk2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENk2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENk2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENkmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENkmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENkmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENlWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENlWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENlWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENomJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENomJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._0uENomJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._ALaWhHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._ALaWhHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uENkGJ-Ed-FqczH3ESmRw/method._ALaWhHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-k2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-k2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-k2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-kmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-kmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-kmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-lWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-lWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-lWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-oWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-oWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..703dd2cf7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._0uN-oWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,54 @@
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public void eUnset(int featureID)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+ <%for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.isListType() && !genFeature.isUnsettable()) {%>
+ <%if (genFeature.isWrappedFeatureMapType()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap().clear();
+ <%} else {%>
+ <%=genFeature.getGetAccessor()%>().clear();
+ <%}%>
+ <%} else if (genFeature.isUnsettable()) {%>
+ unset<%=genFeature.getAccessorName()%>();
+ <%} else if (!genFeature.hasEDefault()) {%>
+ set<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)null);
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicUnset(this, null, 0);
+ <%} else {%>
+ set<%=genFeature.getAccessorName()%>(<%=genFeature.getEDefault()%>);
+ <%}%>
+ return;
+ <%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+ <%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> super.eUnset(featureID);
+<%if (forceDefaultCase) {%>
+ return;
+<%}%>
+ <%} else {%>
+<%=indentDefaultCase%> eDynamicUnset(featureID);
+<%if (forceDefaultCase) {%>
+ return;
+<%}%>
+ <%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._AMmpVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._AMmpVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uN-kGJ-Ed-FqczH3ESmRw/method._AMmpVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvk2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvk2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvk2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvkmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvkmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvkmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvlWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvlWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvlWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvoWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvoWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..4b6981bcf
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._0uXvoWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,116 @@
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useGenerics()) {%>
+ <%for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {%>
+ <%if (genFeature.isListType() && !genFeature.isUnsettable() && !genFeature.isWrappedFeatureMapType() && !genClass.isField(genFeature) && genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ @SuppressWarnings("unchecked")
+ <%break; }%>
+ <%}%>
+ <%}%>
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+<%for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) { String safeNameAccessor = genFeature.getSafeName(); if ("featureID".equals(safeNameAccessor)) { safeNameAccessor = "this." + safeNameAccessor; }%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.hasSettingDelegate()) {%>
+ <%if (genFeature.isUnsettable()) {%>
+ return isSet<%=genFeature.getAccessorName()%>();
+ <%} else {%>
+ return <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
+ <%}%>
+ <%} else if (genFeature.isListType() && !genFeature.isUnsettable()) {%>
+ <%if (genFeature.isWrappedFeatureMapType()) {%>
+ <%if (genFeature.isVolatile()) {%>
+ return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap().isEmpty();
+ <%} else {%>
+ return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.featureMap().isEmpty();
+ <%}%>
+ <%} else {%>
+ <%if (genClass.isField(genFeature)) {%>
+ return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.isEmpty();
+ <%} else {%>
+ <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=safeNameAccessor%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ return <%=safeNameAccessor%> != null && !<%=safeNameAccessor%>.isEmpty();
+ <%} else {%>
+ return !<%=genFeature.getGetAccessor()%>().isEmpty();
+ <%}%>
+ <%}%>
+ <%}%>
+ <%} else if (genFeature.isUnsettable()) {%>
+ return isSet<%=genFeature.getAccessorName()%>();
+ <%} else if (genFeature.isResolveProxies()) {%>
+ <%if (genClass.isField(genFeature)) {%>
+ return <%=safeNameAccessor%> != null;
+ <%} else {%>
+ <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) != null;
+ <%} else {%>
+ return basicGet<%=genFeature.getAccessorName()%>() != null;
+ <%}%>
+ <%}%>
+ <%} else if (!genFeature.hasEDefault()) {%>
+ <%if (genClass.isField(genFeature)) {%>
+ return <%=safeNameAccessor%> != null;
+ <%} else {%>
+ <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) != null;
+ <%} else {%>
+ return <%=genFeature.getGetAccessor()%>() != null;
+ <%}%>
+ <%}%>
+ <%} else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {%>
+ <%if (genClass.isField(genFeature)) {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ return ((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0) != <%=genFeature.getEDefault()%>;
+ <%} else {%>
+ return (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != <%=genFeature.getUpperName()%>_EFLAG_DEFAULT;
+ <%}%>
+ <%} else {%>
+ return <%=safeNameAccessor%> != <%=genFeature.getEDefault()%>;
+ <%}%>
+ <%} else {%>
+ <%if (genFeature.isEnumType() && genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ return eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getEDefault()%>) != <%=genFeature.getEDefault()%>;
+ <%} else {%>
+ return <%=genFeature.getGetAccessor()%>() != <%=genFeature.getEDefault()%>;
+ <%}%>
+ <%}%>
+ <%} else {//datatype%>
+ <%if (genClass.isField(genFeature)) {%>
+ return <%=genFeature.getEDefault()%> == null ? <%=safeNameAccessor%> != null : !<%=genFeature.getEDefault()%>.equals(<%=safeNameAccessor%>);
+ <%} else {%>
+ <%if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=safeNameAccessor%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getEDefault()%>);
+ return <%=genFeature.getEDefault()%> == null ? <%=safeNameAccessor%> != null : !<%=genFeature.getEDefault()%>.equals(<%=safeNameAccessor%>);
+ <%} else {%>
+ return <%=genFeature.getEDefault()%> == null ? <%=genFeature.getGetAccessor()%>() != null : !<%=genFeature.getEDefault()%>.equals(<%=genFeature.getGetAccessor()%>());
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eIsSet(featureID);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicIsSet(featureID);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._AN8tJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._AN8tJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uXvkGJ-Ed-FqczH3ESmRw/method._AN8tJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5g2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5g2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5g2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5gmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5gmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5gmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5hWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5hWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5hWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5kWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5kWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._0ug5kWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._AO_O9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._AO_O9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ug5gGJ-Ed-FqczH3ESmRw/method._AO_O9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._--X7pXLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._--X7pXLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._--X7pXLYEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqg2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqg2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqg2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhGJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhGJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhGJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqhmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqimJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqimJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d41619ddf
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0uqqgWJ-Ed-FqczH3ESmRw/method._0uqqimJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,24 @@
+
+
+<%if (genPackage.hasExtendedMetaData()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%> result = new <%=genPackage.getResourceClassName()%>(uri);
+ result.getDefaultSaveOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_EXTENDED_META_DATA, <%if (genPackage.hasTargetNamespace()){%>Boolean.TRUE<%}else{%>extendedMetaData<%}%>);
+ result.getDefaultLoadOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_EXTENDED_META_DATA, <%if (genPackage.hasTargetNamespace()){%>Boolean.TRUE<%}else{%>extendedMetaData<%}%>);
+
+ result.getDefaultSaveOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+<%if (genPackage.isDataTypeConverters() && genPackage.hasDocumentRoot()) {%>
+ result.getDefaultLoadOptions().put(<%=genPackage.getResourceClassName()%>.OPTION_USE_DATA_CONVERTER, Boolean.TRUE);
+<%}%>
+<%} else if (genPackage.hasXMLMap()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%> result = new <%=genPackage.getResourceClassName()%>(uri);
+ result.getDefaultSaveOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_XML_MAP, xmlMap);
+ result.getDefaultLoadOptions().put(<%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource")%>.OPTION_XML_MAP, xmlMap);
+<%} else {%>
+ Resource result = new <%=genPackage.getResourceClassName()%>(uri);
+<%}%>
+ return result;
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWc2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWc2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWc2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWdWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWdWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWdWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWgmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWgmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._0vHWgmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._ARX0lHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._ARX0lHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vHWcGJ-Ed-FqczH3ESmRw/method._ARX0lHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgcWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgcWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d5092be40
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._0vQgcWJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,26 @@
+
+
+<%if (isImplementation && (genModel.getFeatureDelegation() == GenDelegationKind.REFLECTIVE_LITERAL || genModel.isDynamicDelegation()) && (genClass.getClassExtendsGenClass() == null || (genClass.getClassExtendsGenClass().getGenModel().getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL && !genClass.getClassExtendsGenClass().getGenModel().isDynamicDelegation()))) {%>
+ <%if (genClass.hasStaticFeatures()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = <%=genClass.getClassExtendsGenClass() == null ? 0 : genClass.getClassExtendsGenClass().getAllGenFeatures().size()%>;
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected int eStaticFeatureCount()
+ {
+ return <%=genClass.getClassExtendsGenClass() == null ? "0" : genClass.hasStaticFeatures() ? "ESTATIC_FEATURE_COUNT" : Integer.toString(genClass.getClassExtendsGenClass().getAllGenFeatures().size())%>;
+ }
+
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._ASkHZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._ASkHZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vQgYGJ-Ed-FqczH3ESmRw/method._ASkHZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..845c938c8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._0vaRcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,161 @@
+
+
+ <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String arrayElementType = genFeature.getArrayItemType(genClass);%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (!isImplementation) {%>
+ <%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>();
+
+ <%} else {%>
+ <%if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>()
+ {
+ <%if (genFeature.isVolatile()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>();
+ if (list.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+ <%} else {%>
+ if (<%=genFeature.getSafeName()%> == null || <%=genFeature.getSafeName()%>.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getSafeName()%>;
+ <%}%>
+ list.shrink();
+ return (<%=arrayElementType%>[])list.data();
+ }
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (!isImplementation) {%>
+ <%=genFeature.getListItemType(genClass)%> get<%=genFeature.getAccessorName()%>(int index);
+
+ <%} else {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genFeature.getListItemType(genClass)%> get<%=genFeature.getAccessorName()%>(int index)
+ {
+ return <%if (!genModel.useGenerics()) {%>(<%=genFeature.getListItemType(genClass)%>)<%}%><%=genFeature.getGetAccessor()%>().get(index);
+ }
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (!isImplementation) {%>
+ int get<%=genFeature.getAccessorName()%>Length();
+
+ <%} else {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public int get<%=genFeature.getAccessorName()%>Length()
+ {
+ <%if (genFeature.isVolatile()) {%>
+ return <%=genFeature.getGetAccessor()%>().size();
+ <%} else {%>
+ return <%=genFeature.getSafeName()%> == null ? 0 : <%=genFeature.getSafeName()%>.size();
+ <%}%>
+ }
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (!isImplementation) {%>
+ void set<%=genFeature.getAccessorName()%>(<%=genFeature.getListItemType(genClass)%>[] new<%=genFeature.getCapName()%>);
+
+ <%} else {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public void set<%=genFeature.getAccessorName()%>(<%=genFeature.getListItemType(genClass)%>[] new<%=genFeature.getCapName()%>)
+ {
+ ((<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).setData(new<%=genFeature.getCapName()%>.length, new<%=genFeature.getCapName()%>);
+ }
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (!isImplementation) {%>
+ void set<%=genFeature.getAccessorName()%>(int index, <%=genFeature.getListItemType(genClass)%> element);
+
+ <%} else {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public void set<%=genFeature.getAccessorName()%>(int index, <%=genFeature.getListItemType(genClass)%> element)
+ {
+ <%=genFeature.getGetAccessor()%>().set(index, element);
+ }
+
+ <%}%>
+ <%}%>
+ <%if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicGet()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicGetGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicSetGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicUnset()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class.basicUnsetGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.override.javajetinc%>
+ <%}%>
+ <%if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/isSetGenFeature.override.javajetinc%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._AUpyFHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._AUpyFHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vaRYGJ-Ed-FqczH3ESmRw/method._AUpyFHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..30f370e1f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._0vkCcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,145 @@
+
+
+<%if (isInterface) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+<%if (!isImplementation) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%>();
+
+<%} else {%>
+ <%if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies()) && !genFeature.isListType() && genFeature.isUncheckedCast(genClass) || genFeature.isListType() && !genFeature.isFeatureMapType() && (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation() || (genModel.isDynamicDelegation() && !genFeature.isVolatile())) || genFeature.isListDataType() && genFeature.hasDelegateFeature() || genFeature.isListType() && genFeature.hasSettingDelegate())) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingGetAccessorOperation(genFeature) && !genFeature.isSuppressedGetVisibility()) {%>
+ @Override
+ <%}%>
+ public <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%><%if (genClass.hasCollidingGetAccessorOperation(genFeature)) {%>_<%}%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)eDynamicGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, true, <%=!genFeature.isEffectiveSuppressEMFTypes()%>)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%} else if (genModel.isReflectiveDelegation()) {%>
+ <%if (genFeature.hasGetterBody()) {%>
+ <%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)eGet(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%}%>
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genFeature.isListType()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ if (<%=genFeature.getSafeName()%> == null)
+ {
+ <%if (genModel.isVirtualDelegation()) {%>
+ eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>);
+ <%} else {%>
+ <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>;
+ <%}%>
+ }
+ return <%=genFeature.getSafeName()%><%=genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : ""%>;
+ <%} else if (genFeature.isContainer()) {%>
+ if (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) return null;
+ return (<%=genFeature.getImportedType(genClass)%>)<%if (genFeature.isResolveProxies()) {%>eContainer<%} else {%>eInternalContainer<%}%>();
+ <%} else {%>
+ <%if (genFeature.isResolveProxies()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (genFeature.hasEDefault()) {%>, <%=genFeature.getEDefault()%><%}%>);
+ <%}%>
+ if (<%=genFeature.getSafeName()%> != null && <%=genFeature.getSafeNameAsEObject()%>.eIsProxy())
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> old<%=genFeature.getCapName()%> = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>;
+ <%=genFeature.getSafeName()%> = <%=genFeature.getNonEObjectInternalTypeCast(genClass)%>eResolveProxy(old<%=genFeature.getCapName()%>);
+ if (<%=genFeature.getSafeName()%> != old<%=genFeature.getCapName()%>)
+ {
+ <%if (genFeature.isEffectiveContains()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> new<%=genFeature.getCapName()%> = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>;
+ <%if (!genFeature.isBidirectional()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = old<%=genFeature.getCapName()%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, null);
+ <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = old<%=genFeature.getCapName()%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, null);
+ <%}%>
+ if (new<%=genFeature.getCapName()%>.eInternalContainer() == null)
+ {
+ <%if (!genFeature.isBidirectional()) {%>
+ msgs = new<%=genFeature.getCapName()%>.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+ <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ msgs = new<%=genFeature.getCapName()%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ <%}%>
+ }
+ if (msgs != null) msgs.dispatch();
+ <%} else if (genModel.isVirtualDelegation()) {%>
+ eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%>);
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.RESOLVE, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, old<%=genFeature.getCapName()%>, <%=genFeature.getSafeName()%>));
+ <%}%>
+ }
+ }
+ <%}%>
+ <%if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ return (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (genFeature.hasEDefault()) {%>, <%=genFeature.getEDefault()%><%}%>);
+ <%} else if (genClass.isFlag(genFeature)) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ return (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+ <%} else {%>
+ return <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+ <%}%>
+ <%} else {%>
+ return <%=genFeature.getSafeName()%>;
+ <%}%>
+ <%}%>
+ <%} else {//volatile%>
+ <%if (genFeature.isResolveProxies() && !genFeature.isListType()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = basicGet<%=genFeature.getAccessorName()%>();
+ return <%=genFeature.getSafeName()%> != null && <%=genFeature.getSafeNameAsEObject()%>.eIsProxy() ? <%=genFeature.getNonEObjectInternalTypeCast(genClass)%>eResolveProxy(<%=genFeature.getAsInternalEObject(genFeature.getSafeName(), false)%>) : <%=genFeature.getSafeName()%>;
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (genFeature.isFeatureMapType()) {%>
+ <%String featureMapEntryTemplateArgument = isJDK50 ? "<" + genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap") + ".Entry>" : "";%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return new <%=genFeature.getImportedEffectiveFeatureMapWrapperClass()%>((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().<%=featureMapEntryTemplateArgument%>list(<%=genFeature.getQualifiedFeatureAccessor()%>));
+ <%} else {%>
+ return (<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>)get<%=delegateFeature.getAccessorName()%>().<%=featureMapEntryTemplateArgument%>list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%}%>
+ <%} else if (genFeature.isListType()) {%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else {%>
+ return get<%=delegateFeature.getAccessorName()%>().list(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%}%>
+ <%} else {%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%><%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().get(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%} else {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%><%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>get<%=delegateFeature.getAccessorName()%>().get(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%}%>
+ <%}%>
+ <%} else if (genClass.getGetAccessorOperation(genFeature) != null) {%>
+ <%=genClass.getGetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+ <%} else if (genFeature.hasGetterBody()) {%>
+ <%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/getGenFeature.todo.override.javajetinc%>
+ <%}%>
+ <%}%>
+ }
+
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._AWlrxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._AWlrxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vkCYGJ-Ed-FqczH3ESmRw/method._AWlrxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMU2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMU2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMU2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMUmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMVWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMVWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMVWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..837a02222
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._0vtMYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,65 @@
+
+
+ /**
+ * Returns the value of the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%>.
+ <%if (genFeature.isListType() && genFeature.getEcoreFeature().getEGenericType().getETypeParameter() == null) {%>
+ <%if (genFeature.isMapType()) { GenFeature keyFeature = genFeature.getMapEntryTypeGenClass().getMapEntryKeyFeature(); GenFeature valueFeature = genFeature.getMapEntryTypeGenClass().getMapEntryValueFeature(); %>
+ * The key is of type <%if (keyFeature.isListType()) {%>list of {@link <%=keyFeature.getQualifiedListItemType(genClass)%>}<%} else {%>{@link <%=keyFeature.getType(genClass)%>}<%}%>,
+ * and the value is of type <%if (valueFeature.isListType()) {%>list of {@link <%=valueFeature.getQualifiedListItemType(genClass)%>}<%} else {%>{@link <%=valueFeature.getType(genClass)%>}<%}%>,
+ <%} else if (!genFeature.isWrappedFeatureMapType() && !(genModel.isSuppressEMFMetaData() && "org.eclipse.emf.ecore.EObject".equals(genFeature.getQualifiedListItemType(genClass)))) {
+String typeName = genFeature.getQualifiedListItemType(genClass); String head = typeName; String tail = ""; int index = typeName.indexOf('<'); if (index == -1) { index = typeName.indexOf('['); }
+if (index != -1) { head = typeName.substring(0, index); tail = "<code>" + CodeGenUtil.xmlEscapeEncode(typeName.substring(index)) + "</code>"; }
+%>
+ * The list contents are of type {@link <%=head%>}<%=tail%>.
+ <%}%>
+ <%} else if (genFeature.isSetDefaultValue()) {%>
+ * The default value is <code><%=genFeature.getDefaultValue()%></code>.
+ <%}%>
+ <%if (genFeature.getTypeGenEnum() != null) {%>
+ * The literals are from the enumeration {@link <%=genFeature.getTypeGenEnum().getQualifiedName()%>}.
+ <%}%>
+ <%if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) { GenFeature reverseGenFeature = genFeature.getReverse(); %>
+ <%if (!reverseGenFeature.isSuppressedGetVisibility()) {%>
+ * It is bidirectional and its opposite is '{@link <%=reverseGenFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=reverseGenFeature.getGetAccessor()%> <em><%=reverseGenFeature.getFormattedName()%></em>}'.
+ <%}%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genFeature.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+ <%}%>
+ * @return the value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%>.
+ <%if (genFeature.getTypeGenEnum() != null) {%>
+ * @see <%=genFeature.getTypeGenEnum().getQualifiedName()%>
+ <%}%>
+ <%if (genFeature.isUnsettable()) {%>
+ <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+ * @see #isSet<%=genFeature.getAccessorName()%>()
+ <%}%>
+ <%if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {%>
+ * @see #unset<%=genFeature.getAccessorName()%>()
+ <%}%>
+ <%}%>
+ <%if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {%>
+ * @see #set<%=genFeature.getAccessorName()%>(<%=genFeature.getRawImportedBoundType()%>)
+ <%}%>
+ <%if (!genModel.isSuppressEMFMetaData()) {%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genFeature.getFeatureAccessorName()%>()
+ <%}%>
+ <%if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) { GenFeature reverseGenFeature = genFeature.getReverse(); %>
+ <%if (!reverseGenFeature.isSuppressedGetVisibility()) {%>
+ * @see <%=reverseGenFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=reverseGenFeature.getGetAccessor()%>
+ <%}%>
+ <%}%>
+ <%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genFeature.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+ <%} else {%>
+ * <%=modelInfo%>
+ <%}} if (first) {%>
+ * @model
+ <%}}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._AXx-lHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._AXx-lHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0vtMUGJ-Ed-FqczH3ESmRw/method._AXx-lHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._0w5fMmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._Ag3pJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._Ag3pJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0w5fIGJ-Ed-FqczH3ESmRw/method._Ag3pJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4Q2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4Q2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4Q2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4QmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4QmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4QmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4RWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4RWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4RWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4UmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4UmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._0wJ4UmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._AZkHRHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._AZkHRHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wJ4QGJ-Ed-FqczH3ESmRw/method._AZkHRHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpRWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpRWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpRWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._0wTpUmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._AawaFHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._AawaFHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wTpQGJ-Ed-FqczH3ESmRw/method._AawaFHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._0wczQmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._Ab8s5HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._Ab8s5HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wczMGJ-Ed-FqczH3ESmRw/method._Ab8s5HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..fa0522b9f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._0wmkQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,9 @@
+
+
+ // TODO: implement this method to return the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // Ensure that you remove @generated or mark it @generated NOT
+ <%if (genFeature.isListType()) {%>
+ // The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting
+ // so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.<%if (genFeature.isMapType()) {%>EcoreEMap<%} else if (genFeature.isFeatureMapType()) {%>BasicFeatureMap<%} else {%>EcoreEList<%}%> should be used.
+ <%}%>
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._AdvcpHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._AdvcpHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wmkMGJ-Ed-FqczH3ESmRw/method._AdvcpHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVM2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVM2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVM2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVNWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVNWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVNWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..bf5b8254c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._0wwVQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,45 @@
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/basicGetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public <%=genFeature.getImportedType(genClass)%> basicGet<%=genFeature.getAccessorName()%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+ return (<%=genFeature.getImportedType(genClass)%>)eDynamicGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, false, <%=!genFeature.isEffectiveSuppressEMFTypes()%>);
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>;
+ <%} else if (genFeature.isContainer()) {%>
+ if (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) return null;
+ return (<%=genFeature.getImportedType(genClass)%>)eInternalContainer();
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ return (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else {%>
+ return <%=genFeature.getSafeName()%>;
+ <%}%>
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return (<%=genFeature.getImportedType(genClass)%>)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap().get(<%=genFeature.getQualifiedFeatureAccessor()%>, false);
+ <%} else {%>
+ return (<%=genFeature.getImportedType(genClass)%>)get<%=delegateFeature.getAccessorName()%>().get(<%=genFeature.getQualifiedFeatureAccessor()%>, false);
+ <%}%>
+ <%} else if (genFeature.hasGetterBody()) {%>
+ <%=genFeature.getGetterBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicGetGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._AfhlVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._AfhlVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0wwVMGJ-Ed-FqczH3ESmRw/method._AfhlVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._0x8oEmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._AtPRNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._AtPRNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oAGJ-Ed-FqczH3ESmRw/method._AtPRNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oF2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oF2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oF2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oFmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oFmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oFmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oGWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oGWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0x8oGWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0yFx-2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0yFx-2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..96f1ac198
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._0yFx-2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,8 @@
+
+
+ // TODO: implement this method to set the contained '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // -> this method is automatically invoked to keep the containment relationship in synch
+ // -> do not modify other features
+ // -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._Aukt9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._Aukt9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0x8oFGJ-Ed-FqczH3ESmRw/method._Aukt9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._0xDQMmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._Ah6K9HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._Ah6K9HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xDQIGJ-Ed-FqczH3ESmRw/method._Ah6K9HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBI2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBI2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBI2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBJWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBJWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBJWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBMmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBMmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..b72a8636e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._0xNBMmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,6 @@
+
+
+ // TODO: implement this method to return the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // -> do not perform proxy resolution
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._Aizi1HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._Aizi1HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xNBIGJ-Ed-FqczH3ESmRw/method._Aizi1HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLE2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLE2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLE2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLEmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLFWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLFWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLFWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLImJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLImJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..53022ac2e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._0xWLImJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,77 @@
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedInternalType(genClass)%> new<%=genFeature.getCapName()%>, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ <%if (genFeature.isContainer()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ msgs = eBasicSetContainer(<%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false)%>, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ return msgs;
+ <%} else if (genModel.isDynamicDelegation()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ msgs = eDynamicInverseAdd(<%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false)%>, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ return msgs;
+ <%} else if (!genFeature.isVolatile()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ Object old<%=genFeature.getCapName()%> = eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>);
+ <%} else {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+ <%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%>;
+ <%}%>
+ <%if (genFeature.isUnsettable()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean isSetChange = old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE;
+ <%}%>
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+ <%}%>
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%=genFeature.getUncapName()%>ESet = true;
+ <%}%>
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ {
+ <%if (genFeature.isUnsettable()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? null : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, new<%=genFeature.getCapName()%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>!old<%=genFeature.getCapName()%>ESet<%}%>);
+ <%} else {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE ? null : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, new<%=genFeature.getCapName()%>);
+ <%}%>
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ return msgs;
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).basicAdd(<%=genFeature.getQualifiedFeatureAccessor()%>, new<%=genFeature.getCapName()%>, msgs);
+ <%} else {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).basicAdd(<%=genFeature.getQualifiedFeatureAccessor()%>, new<%=genFeature.getCapName()%>, msgs);
+ <%}%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicSetGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._Aj_1pHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._Aj_1pHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xWLEGJ-Ed-FqczH3ESmRw/method._Aj_1pHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGA2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGA2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGA2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGBWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGBWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGBWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGEmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGEmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._0xpGEmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._AmYbRHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._AmYbRHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xpGAGJ-Ed-FqczH3ESmRw/method._AmYbRHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3A2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3A2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3A2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3AmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3AmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3AmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3BWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3BWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3BWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3EmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3EmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._0xy3EmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._AsC-ZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._AsC-ZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0xy3AGJ-Ed-FqczH3ESmRw/method._AsC-ZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._0y1Y42J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._BI881HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._BI881HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y1Y0GJ-Ed-FqczH3ESmRw/method._BI881HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPi9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPjAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPjAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..08817d898
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._0yPjAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,181 @@
+
+
+<%if (isInterface) { %>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (!isImplementation) { %>
+ void set<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedType(genClass)%> value);
+
+<%} else { GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);%>
+ <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingSetAccessorOperation(genFeature) && !genFeature.isSuppressedSetVisibility()) {%>
+ @Override
+ <%}%>
+ public void set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=genFeature.getImportedType(genClass)%> <%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>)
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicSetGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ eDynamicSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicSetGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%} else if (genModel.isReflectiveDelegation()) {%>
+ eSet(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicSet(this, null, 0, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genFeature.isContainer()) { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ if (new<%=genFeature.getCapName()%> != eInternalContainer() || (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%> && new<%=genFeature.getCapName()%> != null))
+ {
+ if (<%=genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil")%>.isAncestor(this, <%=genFeature.getEObjectCast()%>new<%=genFeature.getCapName()%>))
+ throw new <%=genModel.getImportedName("java.lang.IllegalArgumentException")%>("Recursive containment not allowed for " + toString());<%=genModel.getNonNLS()%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (new<%=genFeature.getCapName()%> != null)
+ msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ msgs = basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ <%if (!genModel.isSuppressNotification()) {%>
+ else if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>));
+ <%}%>
+ <%} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ if (new<%=genFeature.getCapName()%> != <%=genFeature.getSafeName()%>)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+ if (<%=genFeature.getSafeName()%> != null)
+ <%if (!genFeature.isBidirectional()) {%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+ if (new<%=genFeature.getCapName()%> != null)
+ msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+ <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ if (new<%=genFeature.getCapName()%> != null)
+ msgs = <%=genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true)%>.eInverseAdd(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ <%}%>
+ msgs = basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ <%if (genFeature.isUnsettable()) {%>
+ else
+ {
+ <%if (genModel.isVirtualDelegation()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%}%>
+ <%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%=genFeature.getUncapName()%>ESet = true;
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>, !old<%=genFeature.getCapName()%>ESet));
+ <%}%>
+ }
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ else if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, new<%=genFeature.getCapName()%>, new<%=genFeature.getCapName()%>));
+ <%}%>
+ <%}%>
+ <%} else {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+ <%} else {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+ <%}%>
+ <%}%>
+ <%if (genFeature.isBooleanType()) {%>
+ if (new<%=genFeature.getCapName()%>) <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG; else <%=genClass.getFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_EFLAG;
+ <%} else {%>
+ if (new<%=genFeature.getCapName()%> == null) new<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EDEFAULT;
+ <%=genClass.getFlagsField(genFeature)%> = <%=genClass.getFlagsField(genFeature)%> & ~<%=genFeature.getUpperName()%>_EFLAG | <%if (isJDK50) {%>new<%=genFeature.getCapName()%>.ordinal()<%} else {%><%=genFeature.getImportedType(genClass)%>.VALUES.indexOf(new<%=genFeature.getCapName()%>)<%}%> << <%=genFeature.getUpperName()%>_EFLAG_OFFSET;
+ <%}%>
+ <%} else {%>
+ <%if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+ <%}%>
+ <%}%>
+ <%if (genFeature.isEnumType()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%> == null ? <%=genFeature.getEDefault()%> : new<%=genFeature.getCapName()%>;
+ <%} else {%>
+ <%=genFeature.getSafeName()%> = new<%=genFeature.getCapName()%> == null ? <%=genFeature.getEDefault()%> : new<%=genFeature.getCapName()%>;
+ <%}%>
+ <%} else {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = <%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>;
+ <%} else {%>
+ <%=genFeature.getSafeName()%> = <%=genFeature.getInternalTypeCast()%>new<%=genFeature.getCapName()%>;
+ <%}%>
+ <%}%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ Object old<%=genFeature.getCapName()%> = eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%>);
+ <%}%>
+ <%}%>
+ <%if (genFeature.isUnsettable()) {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ boolean isSetChange = old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE;
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%}%>
+ <%=genClass.getESetFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%=genFeature.getUncapName()%>ESet = true;
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange ? <%=genFeature.getEDefault()%> : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%if (genClass.isFlag(genFeature)) {%>new<%=genFeature.getCapName()%><%} else {%><%=genFeature.getSafeName()%><%}%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange<%} else {%>!old<%=genFeature.getCapName()%>ESet<%}%>));
+ <%}%>
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.SET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>old<%=genFeature.getCapName()%> == EVIRTUAL_NO_VALUE ? <%=genFeature.getEDefault()%> : old<%=genFeature.getCapName()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%if (genClass.isFlag(genFeature)) {%>new<%=genFeature.getCapName()%><%} else {%><%=genFeature.getSafeName()%><%}%>));
+ <%}%>
+ <%}%>
+ <%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).set(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+ <%} else {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).set(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+ <%}%>
+ <%} else if (setAccessorOperation != null) {%>
+ <%=setAccessorOperation.getBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.TODO.override" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/setGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._AvxAxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._AvxAxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yPi8GJ-Ed-FqczH3ESmRw/method._AvxAxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT82J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT82J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT82J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT8mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT9WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT9WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZT9WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZUAmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZUAmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..ae5e74096
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._0yZUAmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,25 @@
+
+
+ /**
+ * Sets the value of the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>.
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%>.
+ <%if (genFeature.isEnumType()) {%>
+ * @see <%=genFeature.getTypeGenEnum().getQualifiedName()%>
+ <%}%>
+ <%if (genFeature.isUnsettable()) {%>
+ <%if (!genFeature.isSuppressedIsSetVisibility()) {%>
+ * @see #isSet<%=genFeature.getAccessorName()%>()
+ <%}%>
+ <%if (!genFeature.isSuppressedUnsetVisibility()) {%>
+ * @see #unset<%=genFeature.getAccessorName()%>()
+ <%}%>
+ <%}%>
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._BAT-NHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._BAT-NHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yZT8GJ-Ed-FqczH3ESmRw/method._BAT-NHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J02J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J02J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J02J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J1WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J1WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J1WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._0y_J42J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._BKJPpHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._BKJPpHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J0GJ-Ed-FqczH3ESmRw/method._BKJPpHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J52J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J52J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J52J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J6GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J6GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0y_J6GJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI60GJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI60GJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI60GJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI63mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI63mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..2524a90b2
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._0zI63mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this method to set the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._BQGttHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._BQGttHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0y_J5WJ-Ed-FqczH3ESmRw/method._BQGttHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._0yid8mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._BGamNHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._BGamNHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0yid4GJ-Ed-FqczH3ESmRw/method._BGamNHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO42J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO42J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO42J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO4mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO4mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO4mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO5WJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO5WJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO5WJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO8mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO8mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._0ysO8mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._BH6bBHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._BH6bBHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0ysO4GJ-Ed-FqczH3ESmRw/method._BH6bBHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hs2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hs2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hs2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hsmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hsmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hsmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4htWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4htWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4htWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..315caef05
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._0z4hwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,151 @@
+
+
+<%if (isInterface) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.javadoc.override.javajetinc%>
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/unsetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (!isImplementation) {%>
+ void unset<%=genFeature.getAccessorName()%>();
+
+<%} else {%>
+ <%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingUnsetAccessorOperation(genFeature) && !genFeature.isSuppressedUnsetVisibility()) {%>
+ @Override
+ <%}%>
+ public void unset<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {%>_<%}%>()
+ {
+ <%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+ eDynamicUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else if (genModel.isReflectiveDelegation()) {%>
+ eUnset(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else if (genFeature.hasSettingDelegate()) {%>
+ <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicUnset(this, null, 0);
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genFeature.isListType()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ if (<%=genFeature.getSafeName()%> != null) ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%>.Unsettable<%=singleWildcard%>)<%=genFeature.getSafeName()%>).unset();
+ <%} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ if (<%=genFeature.getSafeName()%> != null)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs = null;
+ <%if (!genFeature.isBidirectional()) {%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+ <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ <%}%>
+ msgs = basicUnset<%=genFeature.getAccessorName()%>(msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else
+ {
+ <%if (genModel.isVirtualDelegation()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%}%>
+ <%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%=genFeature.getUncapName()%>ESet = false;
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, null, null, old<%=genFeature.getCapName()%>ESet));
+ <%}%>
+ }
+ <%} else {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = (<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0;
+ <%} else {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET];
+ <%}%>
+ <%}%>
+ <%} else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ Object old<%=genFeature.getCapName()%> = eVirtualUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+ <%}%>
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ boolean isSetChange = old<%=genFeature.getCapName()%> != EVIRTUAL_NO_VALUE;
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%} else {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%}%>
+ <%if (genFeature.isReferenceType()) {%>
+ <%=genFeature.getSafeName()%> = null;
+ <%if (!genModel.isVirtualDelegation()) {%>
+ <%if (genClass.isESetFlag(genFeature)) {%>
+ <%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%=genFeature.getUncapName()%>ESet = false;
+ <%}%>
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? old<%=genFeature.getCapName()%> : null<%} else {%>old<%=genFeature.getCapName()%><%}%>, null, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>));
+ <%}%>
+ <%} else {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ if (<%=genFeature.getEDefault()%>) <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG; else <%=genClass.getFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_EFLAG;
+ <%} else {%>
+ <%=genClass.getFlagsField(genFeature)%> = <%=genClass.getFlagsField(genFeature)%> & ~<%=genFeature.getUpperName()%>_EFLAG | <%=genFeature.getUpperName()%>_EFLAG_DEFAULT;
+ <%}%>
+ <%} else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+ <%=genFeature.getSafeName()%> = <%=genFeature.getEDefault()%>;
+ <%}%>
+ <%if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {%>
+ <%if (genClass.isESetFlag(genFeature)) {%>
+ <%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%=genFeature.getUncapName()%>ESet = false;
+ <%}%>
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ eNotify(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange ? old<%=genFeature.getCapName()%> : <%=genFeature.getEDefault()%><%} else {%>old<%=genFeature.getCapName()%><%}%>, <%=genFeature.getEDefault()%>, <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>));
+ <%}%>
+ <%}%>
+ <%}%>
+ <%} else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();%>
+ <%if (delegateFeature.isWrappedFeatureMapType()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)get<%=delegateFeature.getAccessorName()%>()).featureMap()).clear(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%} else {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)get<%=delegateFeature.getAccessorName()%>()).clear(<%=genFeature.getQualifiedFeatureAccessor()%>);
+ <%}%>
+ <%} else if (genClass.getUnsetAccessorOperation(genFeature) != null) {%>
+ <%=genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer))%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/unsetGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._BVnf1HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._BVnf1HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0z4hsGJ-Ed-FqczH3ESmRw/method._BVnf1HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSE0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSE0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..f73583b56
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSE0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,57 @@
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/basicUnsetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicUnset<%=genFeature.getAccessorName()%>(<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ <%if (genModel.isDynamicDelegation()) {%>
+ return eDynamicInverseRemove(<%=genFeature.getAsInternalEObject("", false)%><%if (genFeature.isResolveProxies()) {%>basicGet<%=genFeature.getAccessorName()%><%} else {%><%=genFeature.getGetAccessor()%><%}%>(), <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+ <%} else if (!genFeature.isVolatile()) {%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%if (!genModel.isSuppressNotification()) {%>Object old<%=genFeature.getCapName()%> = <%}%>eVirtualUnset(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ <%=genFeature.getImportedType(genClass)%> old<%=genFeature.getCapName()%> = <%=genFeature.getSafeName()%>;
+ <%}%>
+ <%=genFeature.getSafeName()%> = null;
+ <%}%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean isSetChange = old<%=genFeature.getCapName()%> != EVIRTUAL_NO_VALUE;
+ <%}%>
+ <%} else if (genClass.isESetFlag(genFeature)) {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = (<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0;
+ <%}%>
+ <%=genClass.getESetFlagsField(genFeature)%> &= ~<%=genFeature.getUpperName()%>_ESETFLAG;
+ <%} else {%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ boolean old<%=genFeature.getCapName()%>ESet = <%=genFeature.getUncapName()%>ESet;
+ <%}%>
+ <%=genFeature.getUncapName()%>ESet = false;
+ <%}%>
+ <%if (!genModel.isSuppressNotification()) {%>
+ if (eNotificationRequired())
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%> notification = new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl")%>(this, <%=genModel.getImportedName("org.eclipse.emf.common.notify.Notification")%>.UNSET, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%if (genModel.isVirtualDelegation()) {%>isSetChange ? old<%=genFeature.getCapName()%> : null<%} else {%>old<%=genFeature.getCapName()%><%}%>, null, <%if (genModel.isVirtualDelegation()) {%>isSetChange<%} else {%>old<%=genFeature.getCapName()%>ESet<%}%>);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ <%}%>
+ <%} else {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/basicUnsetGenFeature.todo.override.javajetinc%>
+ <%}%>
+ }
+
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEw2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSEwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSExWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSExWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._0zSExWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._BR5ddHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._BR5ddHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zSEwGJ-Ed-FqczH3ESmRw/method._BR5ddHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb10mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb10mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb10mJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1w2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1w2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1w2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1wmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1wmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1wmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1xWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1xWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._0zb1xWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._BS7_RHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._BS7_RHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zb1wGJ-Ed-FqczH3ESmRw/method._BS7_RHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlm0mJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlm0mJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..89c17daaf
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlm0mJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,8 @@
+
+
+ // TODO: implement this method to unset the contained '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
+ // -> this method is automatically invoked to keep the containment relationship in synch
+ // -> do not modify other features
+ // -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmw2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmw2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmw2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmwmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmwmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmwmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmxWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmxWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._0zlmxWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._BUISFHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._BUISFHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._0zlmwGJ-Ed-FqczH3ESmRw/method._BUISFHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bcck2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bcck2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bcck2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcckmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcckmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcckmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcclWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcclWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1BcclWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bccm2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bccm2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._1Bccm2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._CVZh1HLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._CVZh1HLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BcckGJ-Ed-FqczH3ESmRw/method._CVZh1HLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmg2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmg2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmg2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmgmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmgmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmgmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmhWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmhWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1BlmhWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmi2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmi2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..19002e726
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._1Blmi2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this test method
+ // Ensure that you remove @generated or mark it @generated NOT
+ fail();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._CWSSpHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._CWSSpHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BlmgGJ-Ed-FqczH3ESmRw/method._CWSSpHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXg2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXg2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXg2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXgmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXgmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXgmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXhWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXhWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXhWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXi2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXi2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..925b0f0dc
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._1BvXi2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,23 @@
+
+
+
+ /**
+ * Tests the '{@link <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#isSet<%=genFeature.getAccessorName()%>() <em>isSet<%=genFeature.getAccessorName()%>()</em>}' method.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#isSet<%=genFeature.getAccessorName()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/isSetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public void testIsSet<%=genFeature.getAccessorName()%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/isSetGenFeature.todo.override.javajetinc%>
+ }
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._CY-aRHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._CY-aRHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1BvXgGJ-Ed-FqczH3ESmRw/method._CY-aRHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qU2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qU2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qU2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qUmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qVWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qVWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qVWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qW2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qW2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._1C7qW2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._CgILJHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._CgILJHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1C7qUGJ-Ed-FqczH3ESmRw/method._CgILJHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDc2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDc2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDc2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDcmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDcmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDcmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDdWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDdWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDdWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDe2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDe2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._1CMDe2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._CanZBHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._CanZBHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CMDcGJ-Ed-FqczH3ESmRw/method._CanZBHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-Y2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-Y2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-Y2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-YmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-YmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-YmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-ZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-ZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-ZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-a2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-a2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..19002e726
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._1Ce-a2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this test method
+ // Ensure that you remove @generated or mark it @generated NOT
+ fail();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._CcGmxHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._CcGmxHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Ce-YGJ-Ed-FqczH3ESmRw/method._CcGmxHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovY2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovY2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovY2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovYmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovYmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovYmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovZWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovZWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1CovZWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1Cova2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1Cova2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._1Cova2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._CdcDhHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._CdcDhHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1CovYGJ-Ed-FqczH3ESmRw/method._CdcDhHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5U2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5U2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5U2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5UmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5UmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5UmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5VWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5VWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5VWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5W2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5W2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..fd7ef3b60
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._1Cx5W2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,24 @@
+
+
+
+ /**
+ * Tests the '{@link <%=genOperation.getGenClass().getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genOperation.getGenClass().getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+ <%if (genOperation.hasAPITags()) {%>
+ * <%=genOperation.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/genOperation.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+ <%}%>
+ <%if (isJDK50 && genOperation.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public void test<%=genClass.getUniqueName(genOperation)%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/implementedGenOperation.todo.override.javajetinc%>
+ }
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._CeVbZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._CeVbZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1Cx5UGJ-Ed-FqczH3ESmRw/method._CeVbZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbU2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbU2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbU2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbUmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbUmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbUmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbVWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbVWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbVWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbW2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbW2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..595c9cef1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._1DFbW2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1,5 @@
+
+
+ // TODO: implement this operation test method
+ // Ensure that you remove @generated or mark it @generated NOT
+ fail();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._CjtDlHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._CjtDlHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DFbUGJ-Ed-FqczH3ESmRw/method._CjtDlHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlRWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlRWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlRWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlS2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlS2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._1DOlS2J-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._Ckl0ZHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._Ckl0ZHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DOlQGJ-Ed-FqczH3ESmRw/method._Ckl0ZHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQ2J-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQ2J-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQ2J-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWQmJ-Ed-FqczH3ESmRw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWRWJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWRWJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWRWJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWSmJ-Ed-FqczH3ESmRw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWSmJ-Ed-FqczH3ESmRw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._1DYWSmJ-Ed-FqczH3ESmRw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._ClCgVHLZEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._ClCgVHLZEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._1DYWQGJ-Ed-FqczH3ESmRw/method._ClCgVHLZEd-09ds9dfYpFw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsLUk-XDEeCxnsoQRwU99Q.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsLUk-XDEeCxnsoQRwU99Q.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsLUk-XDEeCxnsoQRwU99Q.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFk-XDEeCxnsoQRwU99Q.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFk-XDEeCxnsoQRwU99Q.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFk-XDEeCxnsoQRwU99Q.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkOXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkOXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkOXDEeCxnsoQRwU99Q.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkeXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkeXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFkeXDEeCxnsoQRwU99Q.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFouXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFouXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 000000000..02b371f0d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._BsLUkeXDEeCxnsoQRwU99Q/method._BsVFouXDEeCxnsoQRwU99Q.pt
@@ -0,0 +1,44 @@
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b><%=genClass.getFormattedName()%></b></em>'.
+ * <!-- end-user-doc -->
+<%if (genClass.hasDocumentation()) {%>
+ *
+ * <!-- begin-model-doc -->
+ * <%=genClass.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ *
+<%if (!genClass.getGenFeatures().isEmpty()) {%>
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+<%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ <%if (!genFeature.isSuppressedGetVisibility()) {%>
+ * <li>{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}</li>
+ <%}%>
+<%}%>
+ * </ul>
+<%}%>
+ *
+<%if (!genModel.isSuppressEMFMetaData()) {%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genClass.getClassifierAccessorName()%>()
+<%}%>
+<%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+<%} else {%>
+ * <%=modelInfo%>
+<%}} if (first) {%>
+ * @model
+<%}}%>
+<%if (genClass.needsRootExtendsInterfaceExtendsTag()) {%>
+ * @extends <%=genModel.getImportedName(genModel.getRootExtendsInterface())%>
+<%}%>
+<%if (genClass.hasImplicitAPITags(true)) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer), true)%>
+<%}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO4-XDEeCxnsoQRwU99Q.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO4-XDEeCxnsoQRwU99Q.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO4-XDEeCxnsoQRwU99Q.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5-XDEeCxnsoQRwU99Q.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5-XDEeCxnsoQRwU99Q.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5-XDEeCxnsoQRwU99Q.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5OXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5OXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5OXDEeCxnsoQRwU99Q.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5eXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5eXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO5eXDEeCxnsoQRwU99Q.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO9uXDEeCxnsoQRwU99Q.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO9uXDEeCxnsoQRwU99Q.pt
new file mode 100644
index 000000000..02b371f0d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._C2iO4eXDEeCxnsoQRwU99Q/method._C2iO9uXDEeCxnsoQRwU99Q.pt
@@ -0,0 +1,44 @@
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b><%=genClass.getFormattedName()%></b></em>'.
+ * <!-- end-user-doc -->
+<%if (genClass.hasDocumentation()) {%>
+ *
+ * <!-- begin-model-doc -->
+ * <%=genClass.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ *
+<%if (!genClass.getGenFeatures().isEmpty()) {%>
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+<%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ <%if (!genFeature.isSuppressedGetVisibility()) {%>
+ * <li>{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}</li>
+ <%}%>
+<%}%>
+ * </ul>
+<%}%>
+ *
+<%if (!genModel.isSuppressEMFMetaData()) {%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genClass.getClassifierAccessorName()%>()
+<%}%>
+<%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+<%} else {%>
+ * <%=modelInfo%>
+<%}} if (first) {%>
+ * @model
+<%}}%>
+<%if (genClass.needsRootExtendsInterfaceExtendsTag()) {%>
+ * @extends <%=genModel.getImportedName(genModel.getRootExtendsInterface())%>
+<%}%>
+<%if (genClass.hasImplicitAPITags(true)) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer), true)%>
+<%}%>
+ * @generated
+ */
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM03roEeC0XN9kbwkPYQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM03roEeC0XN9kbwkPYQ.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM03roEeC0XN9kbwkPYQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM0nroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM0nroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM0nroEeC0XN9kbwkPYQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1HroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1HroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1HroEeC0XN9kbwkPYQ.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1nroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1nroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM1nroEeC0XN9kbwkPYQ.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM4XroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM4XroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 000000000..8e4ecfb48
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._JLBM0HroEeC0XN9kbwkPYQ/method._JLBM4XroEeC0XN9kbwkPYQ.pt
@@ -0,0 +1,3 @@
+
+
+ super();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da03roEeC0XN9kbwkPYQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da03roEeC0XN9kbwkPYQ.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da03roEeC0XN9kbwkPYQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da0nroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da0nroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da0nroEeC0XN9kbwkPYQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1HroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1HroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1HroEeC0XN9kbwkPYQ.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1nroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1nroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da1nroEeC0XN9kbwkPYQ.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da4XroEeC0XN9kbwkPYQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da4XroEeC0XN9kbwkPYQ.pt
new file mode 100644
index 000000000..8e4ecfb48
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._K9da0HroEeC0XN9kbwkPYQ/method._K9da4XroEeC0XN9kbwkPYQ.pt
@@ -0,0 +1,3 @@
+
+
+ super();
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._06ILSWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._06ILSWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._06ILSWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._8vBvNHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._8vBvNHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..692d9a744
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._8vBvNHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genModel.hasPluginSupport());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9tzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9uTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9uTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Pcm9uTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..3e8531f62
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getModelProjectDirectory() + "/build.properties";
+overwrite = genModel.isUpdateClasspath() && !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter).toURI(genModel.getModelProjectDirectory()).appendSegment("plugin.xml"));
+encoding = "ISO-8859-1";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..4ab8c36b4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._PcwusjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,38 @@
+
+<%
+/**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getModelPluginID()+".jar" : ".";%>
+<%List<String> sourceFolders = genModel.getModelSourceFolders();%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+bin.includes = <%=pluginClassesLocation%>,\
+ model/,\
+<%if (genModel.sameModelEditProject() || genModel.sameModelEditorProject()) {%>
+ icons/,\
+<%}%>
+<%if (genModel.isBundleManifest()) {%>
+ META-INF/,\
+<%}%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+ plugin.xml,\
+<%}%>
+<%String modelBundleLocalization = genModel.getModelBundleLocalization(); int index = modelBundleLocalization.indexOf("/"); if (index == -1) {%>
+ <%=modelBundleLocalization%>.properties
+<%} else {%>
+ <%=modelBundleLocalization.substring(0, index + 1)%>
+<%}%>
+jars.compile.order = <%=pluginClassesLocation%>
+<% boolean first=true; for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) { String sourceFolder = i.next(); if (i.hasNext()){sourceFolder +=",\\";} if (first) {%>
+source.<%=pluginClassesLocation%> = <%=sourceFolder%><%first=false;} else {%><%=sourceFolder%><%}}%>
+output.<%=pluginClassesLocation%> = bin/
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Sq2-OGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Sq2-OGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pcm9tDG0Ed-kc8dEZsdm2w/method._Sq2-OGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._05rfVmKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._05rfVmKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._05rfVmKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._8qZt5HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._8qZt5HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..8e2b4dc69
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._8qZt5HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genModel.isBundleManifest()) && (genModel.hasPluginSupport() && !genModel.sameModelEditProject() && !genModel.sameModelEditorProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpojG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpojG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpojG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpozG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpozG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpozG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..ae7bb79af
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDppzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getModelProjectDirectory() + "/META-INF/MANIFEST.MF";
+overwrite = genModel.isUpdateClasspath();
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpqTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpqTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..a4e611822
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._PdDpqTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,54 @@
+
+<%
+/**
+ * Copyright (c) 2005-2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: <%=genModel.getModelBundleNameKey()%>
+Bundle-SymbolicName: <%=genModel.getModelPluginID()%>;singleton:=true
+Automatic-Module-Name: <%=genModel.getModelPluginID()%>
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: <%if (genModel.isRuntimeJar()) {%><%=genModel.getModelPluginID()%>.jar<%}else{%>.<%}%>
+<%if (genModel.hasModelPluginClass()) {%>
+Bundle-Activator: <%=genModel.getQualifiedModelPluginClassName()%>$Implementation<%if (genModel.isOSGiCompatible()) {%>$Activator<%}%>
+<%}%>
+Bundle-Vendor: <%=genModel.getModelBundleVendorKey()%>
+Bundle-Localization: <%=genModel.getModelBundleLocalization()%>
+<%if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-10
+<%}%>
+<%Iterator<String> packagesIterator = genModel.getModelQualifiedPackageNames().iterator(); if (packagesIterator.hasNext()) { String pack = packagesIterator.next();%>
+Export-Package: <%=pack%><%while(packagesIterator.hasNext()) { pack = packagesIterator.next();%>,
+ <%=pack%><%}%>
+<%}%>
+<%Iterator<String> requiredPluginIterator = genModel.getModelRequiredPlugins().iterator(); if (requiredPluginIterator.hasNext()) { String pluginID = requiredPluginIterator.next();%>
+Require-Bundle: <%=pluginID%><%if (pluginID.startsWith("org.eclipse.core.runtime")) {if (genModel.isOSGiCompatible()) {%>;resolution:=optional;x-installation:=greedy<%}} else {%>;visibility:=reexport<%} while(requiredPluginIterator.hasNext()) { pluginID = requiredPluginIterator.next();%>,
+ <%=pluginID%><%if (pluginID.startsWith("org.eclipse.core.runtime")) {if (genModel.isOSGiCompatible()) {%>;resolution:=optional;x-installation:=greedy<%}} else if (!pluginID.equals("org.eclipse.xtext.xbase.lib") && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {%>;visibility:=reexport<%}}%>
+<%}%>
+<%if (genModel.isOSGiCompatible() && genModel.hasModelPluginClass()) {%>
+Import-Package: org.osgi.framework
+<%}%>
+<%if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22 || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {%>
+Eclipse-LazyStart: true
+<%}%>
+Bundle-ActivationPolicy: lazy
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._SrAvOGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._SrAvOGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdDpoDG0Ed-kc8dEZsdm2w/method._SrAvOGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._06R8SWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._06R8SWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._06R8SWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._8mrriXLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._8mrriXLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..2302c81cf
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._8mrriXLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) && (genModel.hasPluginSupport() && !genModel.sameModelEditProject() && !genModel.sameModelEditorProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaojG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaojG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaojG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaozG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaozG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdNaozG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLoTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLoTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLoTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLozG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLozG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..65e34ed4e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLozG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getModelProjectDirectory() + "/plugin.xml";
+overwrite = true;
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLpTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLpTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..25a91985a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._PdXLpTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,111 @@
+
+<%
+/**
+ * Copyright (c) 2002-2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; String key = genModel.getPluginKey(); boolean hasKey = key != null && !key.equals(""); /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+<%if (genModel.isBundleManifest()) {%>
+<plugin>
+<%} else {%>
+<plugin
+ name="%pluginName"
+ id="<%=genModel.getModelPluginID()%>"
+ version="1.0.0"
+ <%if (genModel.hasModelPluginClass()) { %>
+ provider-name="%providerName"
+ class="<%=genModel.getQualifiedModelPluginClassName()%>$Implementation">
+ <%} else {%>
+ provider-name="%providerName">
+ <%}%>
+
+ <requires>
+ <%for (String pluginID : genModel.getModelRequiredPlugins()) {%>
+ <import plugin="<%=pluginID%>"<%if (!pluginID.startsWith("org.eclipse.core.runtime")) {%> export="true"<%}%>/>
+ <%}%>
+ </requires>
+
+ <runtime>
+ <%if (genModel.isRuntimeJar()) {%>
+ <library name="<%=genModel.getModelPluginID()%>.jar">
+ <%} else {%>
+ <library name=".">
+ <%}%>
+ <export name="*"/>
+ </library>
+ </runtime>
+<%}%>
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <package
+ uri="<%=genPackage.getNSURI()%>"
+ <%if (genModel.hasLocalGenModel()) {%>
+ class="<%=genPackage.getQualifiedPackageInterfaceName()%>"
+ genModel="<%=genModel.getRelativeGenModelLocation()%>"/>
+ <%} else {%>
+ class="<%=genPackage.getQualifiedPackageInterfaceName()%>"/>
+ <%}%>
+ </extension>
+ <%if (genPackage.isContentType()) {%>
+
+ <extension point="org.eclipse.emf.ecore.content_parser">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <parser
+ contentTypeIdentifier="<%=genPackage.getContentTypeIdentifier()%>"
+ class="<%=genPackage.getQualifiedEffectiveResourceFactoryClassName()%>"/>
+ </extension>
+
+ <extension point="org.eclipse.core.contenttype.contentTypes">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <content-type
+ base-type="<%=genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml"%>"
+ file-extensions="<%=genPackage.getFileExtensions()%>"
+ id="<%=genPackage.getContentTypeIdentifier()%>"
+ name="%_UI_<%=genPackage.getPrefix()%>_content_type"
+ priority="normal">
+ <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <%if (genPackage.hasTargetNamespace()) {%>
+ <parameter name="namespace" value="<%=genPackage.getNSURI()%>"/>
+ <%}%>
+ <%if (genPackage.isXMIResource()) {%>
+ <parameter name="kind" value="xmi"/>
+ <%}%>
+ </describer>
+ </content-type>
+ </extension>
+ <%} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {%>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <%for (String fileExtension : genPackage.getFileExtensionList()) {%>
+ <parser
+ type="<%=fileExtension%>"
+ class="<%=genPackage.getQualifiedResourceFactoryClassName()%>"/>
+ <%}%>
+ </extension>
+ <%}%>
+<%}%>
+
+</plugin>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._SqaSS2KPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._SqaSS2KPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdNaoDG0Ed-kc8dEZsdm2w/method._SqaSS2KPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._06k3OWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._06k3OWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._06k3OWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._8zCshHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._8zCshHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..692d9a744
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._8zCshHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genModel.hasPluginSupport());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVkzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e97c3de22
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVlzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getModelProjectDirectory() + "/" + genModel.getModelBundleLocalization()+ ".properties";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVmTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVmTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..2f0b3c179
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._PdgVmTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,26 @@
+
+<%
+/**
+ * Copyright (c) 2002-2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+pluginName = <%=genModel.getModelBundleName()%>
+providerName = <%=genModel.getModelBundleVendorName()%>
+<%boolean first = true; for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+ <%if (genPackage.isContentType()) {%>
+ <%if (first) { first = false;%>
+
+ <%}%>
+_UI_<%=genPackage.getPrefix()%>_content_type = <%=genPackage.getPrefix()%> File
+ <%}%>
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._SrTqKGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._SrTqKGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdgVkDG0Ed-kc8dEZsdm2w/method._SrTqKGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._09HN2WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._09HN2WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._09HN2WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._89Lf9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._89Lf9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..449324be7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._89Lf9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genPackage.hasClassifiers());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQgzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..4466696dc
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQhzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getReflectionClassPackageName();
+className = genPackage.getPackageClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQiTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQiTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..90684dd9d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._PdzQiTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,1348 @@
+
+<%
+/**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%final GenPackage genPackage = (GenPackage)((Object[])argument)[0]; final GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]); boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%boolean packageNeedsSuppressDeprecation = isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getOrderedGenClassifiers()) && !genPackage.hasAPIDeprecatedTag() && !genModel.isSuppressEMFMetaData();%>
+<%String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+<%boolean needsAddEOperation = false;%>
+<%boolean needsAddEParameter = false;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+<%if (isImplementation && !genModel.isSuppressInterfaces()) {%>
+package <%=genPackage.getClassPackageName()%>;
+<%} else {%>
+package <%=genPackage.getReflectionPackageName()%>;
+<%}%>
+
+<%genModel.markImportLocation(stringBuffer, genPackage);%>
+<%if (isImplementation) {%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Registry");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Descriptor");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.EPackageImpl.EBasicWhiteList");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");%>
+ <%if (genPackage.isLiteralsInterface()) {%>
+<%genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + ".Literals");%>
+ <%}%>
+<%for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + "." + genPackage.getClassifierID(genClassifier));%>
+<%}%>
+<%if (isInterface) {%>
+
+/**
+ * <!-- 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>
+ <%if (genModel.isOperationReflection()) {%>
+ * <li>each operation of each class,</li>
+ <%}%>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+<%if (genPackage.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genPackage.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ * @see <%=genPackage.getQualifiedFactoryInterfaceName()%>
+ <%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genPackage.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+ <%} else {%>
+ * <%=modelInfo%>
+ <%}} if (first) {%>
+ * @model
+ <%}}%>
+ * @generated
+ */
+<%} else {%>
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+ <%if (packageNeedsSuppressDeprecation) {%>
+@SuppressWarnings("deprecation")
+ <%}%>
+public class <%=genPackage.getPackageClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl")%><%if (!isInterface){%> implements <%=genPackage.getImportedPackageInterfaceName()%><%}%>
+<%} else {%>
+public interface <%=genPackage.getPackageInterfaceName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isInterface) {%>
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNAME = "<%=genPackage.getPackageName()%>";<%=genModel.getNonNLS()%>
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_URI = "<%=genPackage.getNSURI()%>";<%=genModel.getNonNLS()%>
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_PREFIX = "<%=genPackage.getNSName()%>";<%=genModel.getNonNLS()%>
+ <%if (genPackage.isContentType()) {%>
+
+ /**
+ * The package content type ID.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eCONTENT_TYPE = "<%=genPackage.getContentTypeIdentifier()%>";<%=genModel.getNonNLS()%>
+ <%}%>
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genPackage.getPackageInterfaceName()%> eINSTANCE = <%=genPackage.getQualifiedPackageClassName()%>.init();
+
+ <%for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {%>
+ /**
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%if (!genClass.isInterface()) {%>
+ * The meta object id for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getQualifiedClassName()%>
+ <%} else {%>
+ * The meta object id for the '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>
+ <%}%>
+ <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+ * The meta object id for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genEnum.getQualifiedName()%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ * The meta object id for the '<em><%=genDataType.getFormattedName()%></em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+ * @see <%=genDataType.getRawInstanceClassName()%>
+ <%}%>
+ <%}%>
+ * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
+ <%if (genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genPackage.getClassifierID(genClassifier)%> = <%=genPackage.getClassifierValue(genClassifier)%>;
+
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%for (GenFeature genFeature : genClass.getAllGenFeatures()) {%>
+ /**
+ * The feature id for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getFeatureID(genFeature)%> = <%=genClass.getFeatureValue(genFeature)%>;
+
+ <%}%>
+ /**
+ * The number of structural features of the '<em><%=genClass.getFormattedName()%></em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getFeatureCountID()%> = <%=genClass.getFeatureCountValue()%>;
+
+ <%if (genModel.isOperationReflection()) {%>
+ <%for (GenOperation genOperation : genClass.getAllGenOperations(false)) {%>
+ <%if (genClass.getOverrideGenOperation(genOperation) == null) {%>
+ /**
+ * The operation id for the '<em><%=genOperation.getFormattedName()%></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getOperationID(genOperation, false)%> = <%=genClass.getOperationValue(genOperation)%>;
+
+ <%}%>
+ <%}%>
+ /**
+ * The number of operations of the '<em><%=genClass.getFormattedName()%></em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getOperationCountID()%> = <%=genClass.getOperationCountValue()%>;
+
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%if (isImplementation) {%>
+ <%if (genPackage.isLoadingInitialization()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String packageFilename = "<%=genPackage.getSerializedPackageFilename()%>";<%=genModel.getNonNLS()%>
+
+ <%}%>
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClassifier.hasAPITags(true)) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer), true)%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ private <%=genClassifier.getImportedMetaType()%> <%=genClassifier.getClassifierInstanceName()%> = null;
+
+ <%}%>
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private <%=genPackage.getPackageClassName()%>()
+ {
+ super(eNS_URI, <%=genPackage.getQualifiedEFactoryInstanceAccessor()%>);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link <%=genPackage.getImportedPackageInterfaceName()%>#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ <%}%>
+ * @generated
+ */
+ public static <%=genPackage.getImportedPackageInterfaceName()%> init()
+ {
+ if (isInited) return (<%=genPackage.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI);
+
+ <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+ initializeRegistryHelpers();
+
+ <%}%>
+ // Obtain or create and register package
+ Object registered<%=genPackage.getBasicPackageName()%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.get(eNS_URI);
+ <%=genPackage.getPackageClassName()%> the<%=genPackage.getBasicPackageName()%> = registered<%=genPackage.getBasicPackageName()%> instanceof <%=genPackage.getPackageClassName()%> ? (<%=genPackage.getPackageClassName()%>)registered<%=genPackage.getBasicPackageName()%> : new <%=genPackage.getPackageClassName()%>();
+
+ isInited = true;
+
+ <%if (!genPackage.getPackageSimpleDependencies().isEmpty()) {%>
+ // Initialize simple dependencies
+ <%for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {%>
+ <%=dep.getImportedPackageInterfaceName()%>.eINSTANCE.eClass();
+ <%}%>
+
+ <%}%>
+ <%if (!genPackage.getPackageInterDependencies().isEmpty()) {%>
+ // Obtain or create and register interdependencies
+ <%for (ListIterator<GenPackage> i = genPackage.getPackageInterDependencies().listIterator(); i.hasNext(); ) { GenPackage interdep = i.next(); %>
+ <%if (i.previousIndex() == 0) {%>Object <%}%>registeredPackage = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=interdep.getImportedPackageInterfaceName()%>.eNS_URI);
+ <%=interdep.getImportedPackageClassName()%> <%=genPackage.getPackageInstanceVariable(interdep)%> = (<%=interdep.getImportedPackageClassName()%>)(registeredPackage instanceof <%=interdep.getImportedPackageClassName()%> ? registeredPackage : <%=interdep.getImportedPackageInterfaceName()%>.eINSTANCE);
+ <%}%>
+
+ <%}%>
+ <%if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {%>
+ // Load packages
+ <%if (genPackage.isLoadingInitialization()) {%>
+ the<%=genPackage.getBasicPackageName()%>.loadPackage();
+ <%}%>
+ <%for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {%>
+ <%if (interdep.isLoadingInitialization()) {%>
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.loadPackage();
+ <%}%>
+ <%}%>
+
+ <%}%>
+ <%if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {%>
+ // Create package meta-data objects
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ the<%=genPackage.getBasicPackageName()%>.createPackageContents();
+ <%}%>
+ <%for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {%>
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.createPackageContents();
+ <%}%>
+
+ // Initialize created meta-data
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ the<%=genPackage.getBasicPackageName()%>.initializePackageContents();
+ <%}%>
+ <%for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {%>
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.initializePackageContents();
+ <%}%>
+
+ <%}%>
+ <%if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {%>
+ // Fix loaded packages
+ <%if (genPackage.isLoadedInitialization()) {%>
+ the<%=genPackage.getBasicPackageName()%>.fixPackageContents();
+ <%}%>
+ <%for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {%>
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.fixPackageContents();
+ <%}%>
+
+ <%}%>
+ <%if (genPackage.hasConstraints()) {%>
+ // Register package validator
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Registry.INSTANCE.put
+ (the<%=genPackage.getBasicPackageName()%>,
+ new <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Descriptor()
+ {
+ <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%> getEValidator()
+ {
+ return <%=genPackage.getImportedValidatorClassName()%>.INSTANCE;
+ }
+ });
+
+ <%}%>
+ <%if (!genPackage.isEcorePackage()) {%>
+ // Mark meta-data to indicate it can't be changed
+ the<%=genPackage.getBasicPackageName()%>.freeze();
+
+ <%}%>
+ // Update the registry and return the package
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.put(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI, the<%=genPackage.getBasicPackageName()%>);
+ return the<%=genPackage.getBasicPackageName()%>;
+ }
+ <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static void initializeRegistryHelpers()
+ {
+ <%Set<String> helpers = new HashSet<String>(); for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%if (!genClass.isDynamic()) { String theClass = genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getRawImportedInterfaceName(); if (helpers.add(theClass)) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.register
+ (<%=theClass%>.class,
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.Helper()
+ {
+ public boolean isInstance(Object instance)
+ {
+ return instance instanceof <%=genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getRawImportedInterfaceName() + genClass.getInterfaceWildTypeArguments()%>;
+ }
+
+ public Object newArrayInstance(int size)
+ {
+ return new <%=theClass%>[size];
+ }
+ });
+ <%}}%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ <%if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) { String theClass = genDataType.getRawImportedInstanceClassName(); if (helpers.add(theClass)) { %>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.register
+ (<%=theClass%>.class,
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.Helper()
+ {
+ public boolean isInstance(Object instance)
+ {
+ return instance instanceof <%=theClass%>;
+ }
+
+ public Object newArrayInstance(int size)
+ {
+ <%if (genDataType.isArrayType()) { String componentType = theClass; String indices = ""; while(componentType.endsWith("[]")) { componentType = componentType.substring(0, componentType.length() - 2); indices += "[]";}%>
+ return new <%=componentType%>[size]<%=indices%>;
+ <%} else {%>
+ return new <%=theClass%>[size];
+ <%}%>
+ }
+ });
+ <%}}%>
+ <%}%>
+ <%}%>
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class WhiteList implements <%=genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable")%>, EBasicWhiteList
+ {
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%if (!genClass.isDynamic()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getImportedWildcardInstanceClassName()%> <%=genClass.getSafeUncapName()%>;
+
+ <%}%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ <%if (!genDataType.isObjectType() && genDataType.isSerializable()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genDataType.getImportedWildcardInstanceClassName()%> <%=genDataType.getSafeUncapName()%>;
+
+ <%}%>
+ <%}%>
+ <%}%>
+ }
+ <%}%>
+
+<%}%>
+<%if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE%>
+
+<%}%>
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+<%if (isInterface) {%>
+ /**
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ * Returns the meta object for class '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em><%=genClass.getFormattedName()%></em>'.
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>
+ <%if (!genModel.isSuppressEMFModelTags() && (genClass.isExternalInterface() || genClass.isDynamic())) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+ <%} else {%>
+ * <%=modelInfo%>
+ <%}} if (first) {%>
+ * @model
+ <%}}%>
+ <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+ * Returns the meta object for enum '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em><%=genEnum.getFormattedName()%></em>'.
+ * @see <%=genEnum.getQualifiedName()%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ <%if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {%>
+ * Returns the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
+ <%} else {%>
+ * Returns the meta object for data type '{@link <%=genDataType.getRawInstanceClassName()%> <em><%=genDataType.getFormattedName()%></em>}'.
+ <%}%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genDataType.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+ <%}%>
+ * @return the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
+ <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+ * @see <%=genDataType.getRawInstanceClassName()%>
+ <%}%>
+ <%if (!genModel.isSuppressEMFModelTags()) {boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genDataType.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+ <%} else {%>
+ * <%=modelInfo%>
+ <%}} if (first) {%>
+ * @model
+ <%}}%>
+ <%}%>
+ <%if ((genClassifier instanceof GenClass || genClassifier instanceof GenEnum) && genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%}%>
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>()
+ {
+ <%if (genPackage.isLoadedInitialization()) {%>
+ if (<%=genClassifier.getClassifierInstanceName()%> == null)
+ {
+ <%=genClassifier.getClassifierInstanceName()%> = (<%=genClassifier.getImportedMetaType()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI).getEClassifiers().get(<%=genPackage.getLocalClassifierIndex(genClassifier)%>);
+ }
+ <%}%>
+ return <%=genClassifier.getClassifierInstanceName()%>;
+ }
+
+<%} else {%>
+ <%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>();
+
+<%}%>
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+<%if (isInterface) {%>
+ /**
+ * Returns the meta object for the <%=genFeature.getFeatureKind()%> '{@link <%=genClass.getRawQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%><%}%> <em><%=genFeature.getFormattedName()%></em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the <%=genFeature.getFeatureKind()%> '<em><%=genFeature.getFormattedName()%></em>'.
+ * @see <%=genClass.getRawQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%>()<%}%>
+ * @see #get<%=genClass.getClassifierAccessorName()%>()
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>()
+ {
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ return (<%=genFeature.getImportedMetaType()%>)<%=genClass.getClassifierInstanceName()%>.getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
+ <%} else {%>
+ return (<%=genFeature.getImportedMetaType()%>)get<%=genClassifier.getClassifierAccessorName()%>().getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
+ <%}%>
+ }
+<%} else {%>
+ <%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>();
+<%}%>
+
+ <%}%>
+ <%if (genModel.isOperationReflection()) {%>
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+<%if (isInterface) {%>
+ /**
+ * Returns the meta object for the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em><%=genOperation.getFormattedName()%></em>' operation.
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>()
+ {
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ return <%=genClass.getClassifierInstanceName()%>.getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>);
+ <%} else {%>
+ return get<%=genClassifier.getClassifierAccessorName()%>().getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>);
+ <%}%>
+ }
+<%} else {%>
+ <%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>();
+<%}%>
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+<%if (isInterface) {%>
+ /**
+ * 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
+ */
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genPackage.getImportedFactoryInterfaceName()%> get<%=genPackage.getFactoryName()%>()
+ {
+ return (<%=genPackage.getImportedFactoryInterfaceName()%>)getEFactoryInstance();
+ }
+<%} else {%>
+ <%=genPackage.getFactoryInterfaceName()%> get<%=genPackage.getFactoryName()%>();
+<%}%>
+
+<%if (isImplementation) {%>
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%{boolean needsSuppressDeprecation = false; if (!packageNeedsSuppressDeprecation && isJDK50 && !genModel.isSuppressEMFMetaData()) { LOOP: for (GenClass genClass : genPackage.getGenClasses()) { for (GenFeature genFeature : genClass.getGenFeatures()) { if (genFeature.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}
+ for (GenOperation genOperation : genClass.getGenOperations()) { if (genOperation.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}} if (needsSuppressDeprecation) {%>
+ @SuppressWarnings("deprecation")
+ <%}}}%>
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
+ <%if (!genPackage.getGenClasses().isEmpty()) {%>
+
+ // Create classes and their features
+ <%for (Iterator<GenClass> c=genPackage.getGenClasses().iterator(); c.hasNext();) { GenClass genClass = c.next();%>
+ <%=genClass.getClassifierInstanceName()%> = create<%=genClass.getMetaType()%>(<%=genClass.getClassifierID()%>);
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ create<%=genFeature.getMetaType()%>(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getFeatureID(genFeature)%>);
+ <%}%>
+ <%if (genModel.isOperationReflection()) {%>
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+ createEOperation(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getOperationID(genOperation, false)%>);
+ <%}%>
+ <%}%>
+ <%if (c.hasNext()) {%>
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getGenEnums().isEmpty()) {%>
+
+ // Create enums
+ <%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
+ <%=genEnum.getClassifierInstanceName()%> = createEEnum(<%=genEnum.getClassifierID()%>);
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getGenDataTypes().isEmpty()) {%>
+
+ // Create data types
+ <%for (GenDataType genDataType : genPackage.getGenDataTypes()) {%>
+ <%=genDataType.getClassifierInstanceName()%> = createEDataType(<%=genDataType.getClassifierID()%>);
+ <%}%>
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+<%
+///////////////////////
+class Information
+{
+ @SuppressWarnings("unused")
+ EGenericType eGenericType;
+ int depth;
+ String type;
+ String accessor;
+}
+
+class InformationIterator
+{
+ Iterator<Object> iterator;
+ InformationIterator(EGenericType eGenericType)
+ {
+ iterator = EcoreUtil.getAllContents(Collections.singleton(eGenericType));
+ }
+
+ boolean hasNext()
+ {
+ return iterator.hasNext();
+ }
+
+ Information next()
+ {
+ Information information = new Information();
+ EGenericType eGenericType = information.eGenericType = (EGenericType)iterator.next();
+ for (EObject container = eGenericType.eContainer(); container instanceof EGenericType; container = container.eContainer())
+ {
+ ++information.depth;
+ }
+ if (eGenericType.getEClassifier() != null )
+ {
+ GenClassifier genClassifier = genModel.findGenClassifier(eGenericType.getEClassifier());
+ information.type = genPackage.getPackageInstanceVariable(genClassifier.getGenPackage()) + ".get" + genClassifier.getClassifierAccessorName() + "()";
+ }
+ else if (eGenericType.getETypeParameter() != null)
+ {
+ ETypeParameter eTypeParameter = eGenericType.getETypeParameter();
+ if (eTypeParameter.eContainer() instanceof EClass)
+ {
+ information.type = genModel.findGenClassifier((EClass)eTypeParameter.eContainer()).getClassifierInstanceName() + "_" + eGenericType.getETypeParameter().getName();
+ }
+ else
+ {
+ information.type = "t" + (((EOperation)eTypeParameter.eContainer()).getETypeParameters().indexOf(eTypeParameter) + 1);
+ }
+ }
+ else
+ {
+ information.type ="";
+ }
+ if (information.depth > 0)
+ {
+ if (eGenericType.eContainmentFeature().isMany())
+ {
+ information.accessor = "getE" + eGenericType.eContainmentFeature().getName().substring(1) + "().add";
+ }
+ else
+ {
+ information.accessor = "setE" + eGenericType.eContainmentFeature().getName().substring(1);
+ }
+ }
+ return information;
+ }
+}
+///////////////////////
+int maxGenericTypeAssignment = 0;
+%>
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%{boolean needsSuppressDeprecation = false; if (!packageNeedsSuppressDeprecation && isJDK50) { LOOP: for (GenEnum genEnum : genPackage.getGenEnums()) { for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) { if (genEnumLiteral.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}} if (needsSuppressDeprecation) {%>
+ @SuppressWarnings("deprecation")
+ <%}}}%>
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+ <%if (!genPackage.getPackageInitializationDependencies().isEmpty()) {%>
+
+ // Obtain other dependent packages
+ <%for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {%>
+ <%=dep.getImportedPackageInterfaceName()%> <%=genPackage.getPackageInstanceVariable(dep)%> = (<%=dep.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=dep.getImportedPackageInterfaceName()%>.eNS_URI);
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getSubGenPackages().isEmpty()) {%>
+
+ // Add subpackages
+ <%for (GenPackage sub : genPackage.getSubGenPackages()) {%>
+ getESubpackages().add(<%=genPackage.getPackageInstanceVariable(sub)%>);
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getGenClasses().isEmpty()) { boolean firstOperationAssignment = true; int maxTypeParameterAssignment = 0;%>
+ <%if (genModel.useGenerics()) {%>
+
+ // Create type parameters
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {%>
+ <%if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty() || genTypeParameter.isUsed()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter")%> <%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%> = addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+ <%} else {%>
+ addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (genModel.useGenerics()) {%>
+
+ // Set bounds for type parameters
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {%>
+ <%for (EGenericType bound : genTypeParameter.getEcoreTypeParameter().getEBounds()) {%>
+ <%for (InformationIterator i=new InformationIterator(bound); i.hasNext(); ) { Information info = i.next(); String prefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ <%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%>.getEBounds().add(g1);
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+
+ // Add supertypes to classes
+ <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ <%if (!genClass.hasGenericSuperTypes()) {%>
+ <%for (GenClass baseGenClass : genClass.getBaseGenClasses()) {%>
+ <%=genClass.getClassifierInstanceName()%>.getESuperTypes().add(<%=genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage())%>.get<%=baseGenClass.getClassifierAccessorName()%>());
+ <%}%>
+ <%} else {%>
+ <%for (EGenericType superType : genClass.getEcoreClass().getEGenericSuperTypes()) {%>
+ <%for (InformationIterator i=new InformationIterator(superType); i.hasNext(); ) { Information info = i.next(); String prefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ <%=genClass.getClassifierInstanceName()%>.getEGenericSuperTypes().add(g1);
+ <%}%>
+ <%}%>
+ <%}%>
+
+ // Initialize classes<%if (genModel.isOperationReflection()) {%>, features, and operations; add parameters<%} else {%> and features; add operations and parameters<%}%>
+ <%for (Iterator<GenClass> c=genPackage.getGenClasses().iterator(); c.hasNext();) { GenClass genClass = c.next(); boolean hasInstanceTypeName = genModel.useGenerics() && genClass.getEcoreClass().getInstanceTypeName() != null && genClass.getEcoreClass().getInstanceTypeName().contains("<");%>
+ initEClass(<%=genClass.getClassifierInstanceName()%>, <%if (genClass.isDynamic()) {%>null<%} else {%><%=genClass.getRawImportedInterfaceName()%>.class<%}%>, "<%=genClass.getName()%>", <%=genClass.getAbstractFlag()%>, <%=genClass.getInterfaceFlag()%>, <%=genClass.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genClass.getEcoreClass().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=genModel.getNonNLS(2)%><%}%>
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ <%if (genFeature.hasGenericType()) {%>
+ <%for (InformationIterator i=new InformationIterator(genFeature.getEcoreFeature().getEGenericType()); i.hasNext(); ) { Information info = i.next(); String prefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (genFeature.isReferenceType()) { GenFeature reverseGenFeature = genFeature.getReverse();%>
+ <%String reverse = reverseGenFeature == null ? "null" : genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage()) + ".get" + reverseGenFeature.getFeatureAccessorName() + "()";%>
+ initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, <%=reverse%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+ <%for (GenFeature keyFeature : genFeature.getKeys()) {%>
+ get<%=genFeature.getFeatureAccessorName()%>().getEKeys().add(<%=genPackage.getPackageInstanceVariable(keyFeature.getGenPackage())%>.get<%=keyFeature.getFeatureAccessorName()%>());
+ <%}%>
+ <%} else {%>
+ initEAttribute(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getIDFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+ <%}%>
+ <%}%>
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {String prefix = ""; if (genOperation.hasGenericType() || !genOperation.getGenParameters().isEmpty() || !genOperation.getGenExceptions().isEmpty() || !genOperation.getGenTypeParameters().isEmpty()) { if (firstOperationAssignment) { firstOperationAssignment = false; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EOperation") + " op = "; } else { prefix = "op = "; }} %>
+
+ <%if (genModel.useGenerics()) {%>
+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%if (genOperation.isVoid() || genOperation.hasGenericType()) {%>null<%} else {%><%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>()<%}%>, "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+ <%} else if (!genOperation.isVoid()) {%>
+ <%if (!genOperation.getEcoreOperation().isOrdered() || !genOperation.getEcoreOperation().isUnique()) { needsAddEOperation = true;%>
+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+ <%} else {%>
+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>);<%=genModel.getNonNLS()%>
+ <%}%>
+ <%} else {%>
+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, null, "<%=genOperation.getName()%>");<%=genModel.getNonNLS()%>
+ <%}%>
+ <%if (genModel.useGenerics()) {%>
+ <%for (ListIterator<GenTypeParameter> t=genOperation.getGenTypeParameters().listIterator(); t.hasNext(); ) { GenTypeParameter genTypeParameter = t.next(); String typeParameterVariable = ""; if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty() || genTypeParameter.isUsed()) { if (maxTypeParameterAssignment <= t.previousIndex()) { ++maxTypeParameterAssignment; typeParameterVariable = genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter") + " t" + t.nextIndex() + " = "; } else { typeParameterVariable = "t" + t.nextIndex() + " = "; }} %>
+ <%=typeParameterVariable%>addETypeParameter(op, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+ <%for (EGenericType typeParameter : genTypeParameter.getEcoreTypeParameter().getEBounds()) {%>
+ <%for (InformationIterator i=new InformationIterator(typeParameter); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ t<%=t.nextIndex()%>.getEBounds().add(g1);
+ <%}%>
+ <%}%>
+ <%}%>
+ <%for (GenParameter genParameter : genOperation.getGenParameters()) {%>
+ <%if (genParameter.hasGenericType()) {%>
+ <%for (InformationIterator i=new InformationIterator(genParameter.getEcoreParameter().getEGenericType()); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (genModel.useGenerics()) {%>
+ addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+ <%} else if (!genParameter.getEcoreParameter().isOrdered() || !genParameter.getEcoreParameter().isUnique()) { needsAddEParameter = true;%>
+ addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+ <%} else {%>
+ addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>);<%=genModel.getNonNLS()%>
+ <%}%>
+ <%}%>
+ <%if (genOperation.hasGenericExceptions()) {%>
+ <%for (EGenericType genericExceptions : genOperation.getEcoreOperation().getEGenericExceptions()) {%>
+ <%for (InformationIterator i=new InformationIterator(genericExceptions); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ addEException(op, g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ <%} else {%>
+ <%for (GenClassifier genException : genOperation.getGenExceptions()) {%>
+ addEException(op, <%=genPackage.getPackageInstanceVariable(genException.getGenPackage())%>.get<%=genException.getClassifierAccessorName()%>());
+ <%}%>
+ <%}%>
+ <%if (!genOperation.isVoid() && genOperation.hasGenericType()) {%>
+ <%for (InformationIterator i=new InformationIterator(genOperation.getEcoreOperation().getEGenericType()); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ initEOperation(op, g1);
+ <%}%>
+ <%}%>
+ <%if (c.hasNext()) {%>
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getGenEnums().isEmpty()) {%>
+
+ // Initialize enums and add enum literals
+ <%for (Iterator<GenEnum> e=genPackage.getGenEnums().iterator(); e.hasNext();) { GenEnum genEnum = e.next();%>
+ initEEnum(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName()%>.class, "<%=genEnum.getName()%>");<%=genModel.getNonNLS()%>
+ <%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+ addEEnumLiteral(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName().equals(genEnum.getClassifierID()) ? genEnum.getQualifiedName() : genEnum.getImportedName()%>.<%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>);
+ <%}%>
+ <%if (e.hasNext()) {%>
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getGenDataTypes().isEmpty()) {%>
+
+ // Initialize data types
+ <%for (GenDataType genDataType : genPackage.getGenDataTypes()) {boolean hasInstanceTypeName = genModel.useGenerics() && genDataType.getEcoreDataType().getInstanceTypeName() != null && genDataType.getEcoreDataType().getInstanceTypeName().contains("<");%>
+ initEDataType(<%=genDataType.getClassifierInstanceName()%>, <%=genDataType.getRawImportedInstanceClassName()%>.class, "<%=genDataType.getName()%>", <%=genDataType.getSerializableFlag()%>, <%=genDataType.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genDataType.getEcoreDataType().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=genModel.getNonNLS(2)%><%}%>
+ <%}%>
+ <%}%>
+ <%if (genPackage.getSuperGenPackage() == null) {%>
+
+ // Create resource
+ createResource(<%=genPackage.getSchemaLocation()%>);
+ <%}%>
+ <%if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {%>
+
+ // Create annotations
+ <%for (String annotationSource : genPackage.getAnnotationSources()) {%>
+ // <%=annotationSource%>
+ create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations();
+ <%}%>
+ <%}%>
+ }
+
+ <%for (String annotationSource : genPackage.getAnnotationSources()) {%>
+ /**
+ * Initializes the annotations for <b><%=annotationSource%></b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations()
+ {
+ String source = <%if (annotationSource == null) {%>null;<%} else {%>"<%=annotationSource%>";<%=genModel.getNonNLS()%><%}%>
+ <%for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) { List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage.getReferenceData(eAnnotation);%>
+ <%if (annotationSource == null ? eAnnotation.getSource() == null : annotationSource.equals(eAnnotation.getSource())) {%>
+ addAnnotation
+ (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
+ source,
+ new String[]
+ {
+ <%for (Iterator<Map.Entry<String, String>> k = eAnnotation.getDetails().iterator(); k.hasNext();) { Map.Entry<String, String> detail = k.next(); String key = Literals.toStringLiteral(detail.getKey(), genModel); String value = Literals.toStringLiteral(detail.getValue(), genModel);%>
+ <%=key%>, <%=value%><%=k.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+ <%}%>
+ }<%if (annotationReferenceDataList.isEmpty()) {%>);<%} else {%>,<%}%>
+ <%if (!annotationReferenceDataList.isEmpty()) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>[]
+ {
+ <%for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList.iterator(); k.hasNext();) { GenPackage.AnnotationReferenceData annotationReferenceData = k.next();%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%if (annotationReferenceData.containingGenPackage != genPackage) {%><%=annotationReferenceData.containingGenPackage.getImportedPackageInterfaceName()%>.<%}%>eNS_URI).appendFragment("<%=annotationReferenceData.uriFragment%>")<%if (k.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+ <%}%>
+ });
+ <%}%>
+ <%for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {String nestedAnnotationSource = nestedEAnnotation.getSource(); int depth = 0; boolean nonContentAnnotation = false; StringBuilder path = new StringBuilder(); for (EObject eContainer = nestedEAnnotation.eContainer(), child = nestedEAnnotation; child != eAnnotation; child = eContainer, eContainer = eContainer.eContainer()) { boolean nonContentChild = child.eContainmentFeature() != EcorePackage.Literals.EANNOTATION__CONTENTS; if (path.length() != 0) { path.insert(0, ", "); } path.insert(0, nonContentChild); if (nonContentChild) { nonContentAnnotation = true; } ++depth; } List<GenPackage.AnnotationReferenceData> nestedAnnotationReferenceDataList = genPackage.getReferenceData(nestedEAnnotation);%>
+ addAnnotation
+ (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
+ <%if (nonContentAnnotation && genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {%>new boolean[] { <%=path.toString()%> }<%} else {%><%=depth%><%}%>,
+ <%if (nestedAnnotationSource == null) {%>null,<%} else {%>"<%=nestedAnnotationSource%>",<%=genModel.getNonNLS()%><%}%>
+ new String[]
+ {
+ <%for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails().iterator(); l.hasNext();) { Map.Entry<String, String> detail = l.next(); String key = Literals.toStringLiteral(detail.getKey(), genModel); String value = Literals.toStringLiteral(detail.getValue(), genModel);%>
+ <%=key%>, <%=value%><%=l.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+ <%}%>
+ }<%if (nestedAnnotationReferenceDataList.isEmpty()) {%>);<%} else {%>,<%}%>
+ <%if (!nestedAnnotationReferenceDataList.isEmpty()) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>[]
+ {
+ <%for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList.iterator(); l.hasNext();) { GenPackage.AnnotationReferenceData annotationReferenceData = l.next();%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%if (annotationReferenceData.containingGenPackage != genPackage) {%><%=annotationReferenceData.containingGenPackage.getImportedPackageInterfaceName()%>.<%}%>eNS_URI).appendFragment("<%=annotationReferenceData.uriFragment%>")<%if (l.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+ <%}%>
+ });
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ }
+
+ <%}%>
+ <%} else {%>
+ <%if (genPackage.isLoadingInitialization()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isLoaded = false;
+
+ /**
+ * Laods the package and any sub-packages from their serialized form.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void loadPackage()
+ {
+ if (isLoaded) return;
+ isLoaded = true;
+
+ <%=genModel.getImportedName("java.net.URL")%> url = getClass().getResource(packageFilename);
+ if (url == null)
+ {
+ throw new RuntimeException("Missing serialized package: " + packageFilename);<%=genModel.getNonNLS()%>
+ }
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%> uri = <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(url.toString());
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%> resource = new <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl")%>().createResource(uri);
+ try
+ {
+ resource.load(null);
+ }
+ catch (<%=genModel.getImportedName("java.io.IOException")%> exception)
+ {
+ throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(exception);
+ }
+ initializeFromLoadedEPackage(this, (<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>)resource.getContents().get(0));
+ createResource(eNS_URI);
+ }
+
+ <%}%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isFixed = false;
+
+ /**
+ * Fixes up the loaded package, to make it appear as if it had been programmatically built.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fixPackageContents()
+ {
+ if (isFixed) return;
+ isFixed = true;
+ fixEClassifiers();
+ }
+
+ /**
+ * Sets the instance class on the given classifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected void fixInstanceClass(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> eClassifier)
+ {
+ if (eClassifier.getInstanceClassName() == null)
+ {
+ <%ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>(); for (GenClass genClass : genPackage.getGenClasses()) { if (genClass.isDynamic()) { dynamicGenClasses.add(genClass); } }%>
+ <%if (dynamicGenClasses.isEmpty()) {%>
+ eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
+ setGeneratedClassName(eClassifier);
+ <%} else {%>
+ switch (eClassifier.getClassifierID())
+ {
+ <%for (GenClass genClass : dynamicGenClasses) {%>
+ <%if (genClass.isDynamic()) {%>
+ case <%=genPackage.getClassifierID(genClass)%>:
+ <%}%>
+ <%}%>
+ {
+ break;
+ }
+ default:
+ {
+ eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
+ setGeneratedClassName(eClassifier);
+ break;
+ }
+ }
+ <%}%>
+ }
+ }
+
+ <%}%>
+ <%if (needsAddEOperation) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> addEOperation(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> o = addEOperation(owner, type, name, lowerBound, upperBound);
+ o.setUnique(isUnique);
+ o.setOrdered(isOrdered);
+ return o;
+ }
+
+ <%}%>
+ <%if (needsAddEParameter) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> addEParameter(<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> p = ecoreFactory.createEParameter();
+ p.setEType(type);
+ p.setName(name);
+ p.setLowerBound(lowerBound);
+ p.setUpperBound(upperBound);
+ p.setUnique(isUnique);
+ p.setOrdered(isOrdered);
+ owner.getEParameters().add(p);
+ return p;
+ }
+
+ <%}%>
+<%}%>
+<%if (isInterface && genPackage.isLiteralsInterface()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ <%if (genModel.isOperationReflection()) {%>
+ * <li>each operation of each class,</li>
+ <%}%>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (isImplementation) {%>public <%}%>interface Literals
+ {
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ /**
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%if (!genClass.isInterface()) {%>
+ * The meta object literal for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getQualifiedClassName()%>
+ <%} else {%>
+ * The meta object literal for the '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>
+ <%}%>
+ <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+ * The meta object literal for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genEnum.getQualifiedName()%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ * The meta object literal for the '<em><%=genDataType.getFormattedName()%></em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+ * @see <%=genDataType.getRawInstanceClassName()%>
+ <%}%>
+ <%}%>
+ * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
+ <%if (genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%><%=genClassifier.getImportedMetaType()%> <%=genPackage.getClassifierID(genClassifier)%> = eINSTANCE.get<%=genClassifier.getClassifierAccessorName()%>();
+
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ /**
+ * The meta object literal for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%> feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%><%=genFeature.getImportedMetaType()%> <%=genClass.getFeatureID(genFeature)%> = eINSTANCE.get<%=genFeature.getFeatureAccessorName()%>();
+
+ <%}%>
+ <%if (genModel.isOperationReflection()) {%>
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+ /**
+ * The meta object literal for the '<em><b><%=genOperation.getFormattedName()%></b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%><%=genOperation.getImportedMetaType()%> <%=genClass.getOperationID(genOperation, false)%> = eINSTANCE.get<%=genOperation.getOperationAccessorName()%>();
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ }
+
+<%}%>
+} //<%=isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._StPj2GKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._StPj2GKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..77ee0840d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PdzQgDG0Ed-kc8dEZsdm2w/method._StPj2GKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genPackage,genPackage.getGenModel().isSuppressEMFMetaData() || genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE,Boolean.TRUE}})[0];
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._0767AmKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._0767AmKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._0767AmKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._9hr7NHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._9hr7NHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..51fe0f052
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._9hr7NHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.getResource().getValue() == GenResourceKind.XML);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8cjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8cjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8cjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8czG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8czG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8czG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..12cd9d323
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8dzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getXMLProcessorClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8eTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8eTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..2958f4ca3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._PeP8eTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,84 @@
+
+<%
+/**
+ * Copyright (c) 2005-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%genModel.getImportedName("java.util.Map");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getXMLProcessorClassName()%> extends <%=genPackage.getImportedXMLProcessorBaseClassName()%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getXMLProcessorClassName()%>()
+ {
+<%if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {%>
+ super(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl")%>(<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE));
+ extendedMetaData.putPackage(null, <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE);
+<%} else {%>
+ super((<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE));
+ <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE.eClass();
+<%}%>
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the <%=genPackage.getResourceFactoryClassName()%> factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected Map<%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%><<%=genModel.getImportedName("java.lang.String")%>, <%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%>.Factory><%}%> getRegistrations()
+ {
+ if (registrations == null)
+ {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new <%=genPackage.getResourceFactoryClassName()%>());
+ registrations.put(STAR_EXTENSION, new <%=genPackage.getResourceFactoryClassName()%>());
+ }
+ return registrations;
+ }
+
+} //<%=genPackage.getXMLProcessorClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._SspG4mKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._SspG4mKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PeP8cDG0Ed-kc8dEZsdm2w/method._SspG4mKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._08EE9mKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._08EE9mKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._08EE9mKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._9DSvBHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._9DSvBHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..54897c344
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._9DSvBHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenClass genClass = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (!genClass.isInterface());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jUzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d2471ca43
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jVzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenClass genClass = parameter;
+targetPath = genClass.getGenModel().getModelDirectory();
+packageName = genClass.getGenPackage().getClassPackageName();
+className = genClass.getClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..8047b4c1c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,989 @@
+
+<%
+/**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+%>
+<%final GenClass genClass = (GenClass)((Object[])argument)[0]; final GenPackage genPackage = genClass.getGenPackage(); final GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%final boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); final boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]); final boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;%>
+<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();final String indentDefaultCase = forceDefaultCase ? "\t\t" : "";%>
+<%final String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+<%final String singleWildcard = isJDK50 ? "<?>" : "";%>
+<%final String negativeOffsetCorrection = genClass.hasOffsetCorrection() ? " - " + genClass.getOffsetCorrectionField(null) : "";%>
+<%final String positiveOffsetCorrection = genClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(null) : "";%>
+<%final String negativeOperationOffsetCorrection = genClass.hasOffsetCorrection() ? " - EOPERATION_OFFSET_CORRECTION" : "";%>
+<%final String positiveOperationOffsetCorrection = genClass.hasOffsetCorrection() ? " + EOPERATION_OFFSET_CORRECTION" : "";%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+<%if (isInterface) {%>
+package <%=genPackage.getInterfacePackageName()%>;
+<%} else {%>
+package <%=genPackage.getClassPackageName()%>;
+<%}%>
+
+<%genModel.markImportLocation(stringBuffer, genPackage);%>
+<%if (isImplementation) { genClass.addClassPsuedoImports(); }%>
+
+<%if (isInterface) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.interface.javadoc.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/interface.javadoc.override.javajetinc%>
+<%} else {%>
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b><%=genClass.getFormattedName()%></b></em>'.
+ * <!-- end-user-doc -->
+<%if (!genClass.getImplementedGenFeatures().isEmpty()) {%>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+<%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {%>
+ * <li>{@link <%=genClass.getQualifiedClassName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}</li>
+<%}%>
+ * </ul>
+<%}%>
+ *
+<%if (genClass.hasImplicitAPITags()) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+<%if (isJDK50 && !genClass.hasAPIDeprecatedTag() && GenModelUtil.hasImplicitAPIDeprecatedTag(genClass.getEGetGenFeatures(), genClass.getEIsSetGenFeatures(), genClass.getESetGenFeatures(), genClass.getEUnsetGenFeatures(), genClass.getEInverseAddGenFeatures(), genClass.getEInverseRemoveGenFeatures(), genClass.getEBasicRemoveFromContainerGenFeatures(), genClass.getToStringGenFeatures())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public<%if (genClass.isAbstract()) {%> abstract<%}%> class <%=genClass.getClassName()%><%=genClass.getTypeParameters().trim()%><%=genClass.getClassExtends()%><%=genClass.getClassImplements()%>
+<%} else {%>
+public interface <%=genClass.getInterfaceName()%><%=genClass.getTypeParameters().trim()%><%=genClass.getInterfaceExtends()%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && genModel.getDriverNumber() != null) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> mofDriverNumber = "<%=genModel.getDriverNumber()%>";<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && genClass.isJavaIOSerializable()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final long serialVersionUID = 1L;
+
+<%}%>
+<%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%>
+ <%if (eVirtualValuesField != null) {%>
+ /**
+ * An array of objects representing the values of non-primitive features.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected Object[] <%=eVirtualValuesField%>;
+
+ <%}%>
+ <%{ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());%>
+ <%if (!eVirtualIndexBitFields.isEmpty()) {%>
+ <%for (String eVirtualIndexBitField : eVirtualIndexBitFields) {%>
+ /**
+ * A bit field representing the indices of non-primitive feature values.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected int <%=eVirtualIndexBitField%>;
+
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled() && genModel.getBooleanFlagsReservedBits() == -1) {%>
+ /**
+ * A set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected int <%=genModel.getBooleanFlagsField()%> = 0;
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation()) {%>
+ <%for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {%>
+ <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String rawListItemType = genFeature.getRawListItemType(genClass); int index = rawListItemType.indexOf('['); String head = rawListItemType; String tail = ""; if (index != -1) { head = rawListItemType.substring(0, index); tail = rawListItemType.substring(index); } %>
+ /**
+ * The empty value for the '{@link #<%=genFeature.getGetArrayAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' array accessor.
+ * This is specialized for the more specific element type known in this context.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetArrayAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (genFeature.getQualifiedListItemType(genClass).contains("<") || genFeature.getArrayItemType(genClass).contains("<")) {%>
+ @SuppressWarnings("rawtypes")
+ <%}%>
+ protected static final <%=rawListItemType%>[] <%=genFeature.getUpperName()%>_EEMPTY_ARRAY = new <%=head%> [0]<%=tail%>;
+
+ <%}%>
+ <%}%>
+ <%for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/declaredFieldGenFeature.override.javajetinc%>
+ <%}%>
+<%}%>
+<%if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final int <%=genClass.getOffsetCorrectionField(null)%> = <%=genClass.getQualifiedClassifierAccessor()%>.getFeatureID(<%=genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor()%>) - <%=genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0))%>;
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation()) {%>
+ <%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) { GenFeature reverseFeature = genFeature.getReverse();%>
+ <%if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ private static final int <%=genClass.getOffsetCorrectionField(genFeature)%> = <%=reverseFeature.getGenClass().getQualifiedClassifierAccessor()%>.getFeatureID(<%=reverseFeature.getQualifiedFeatureAccessor()%>) - <%=reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature)%>;
+
+ <%}%>
+ <%}%>
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenOperations().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final int EOPERATION_OFFSET_CORRECTION = <%=genClass.getQualifiedClassifierAccessor()%>.getOperationID(<%=genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor()%>) - <%=genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0))%>;
+
+<%}%>
+<%if (isImplementation) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.isPublicConstructors()) {%>public<%} else {%>protected<%}%> <%=genClass.getClassName()%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {%>
+ <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG<%if (!genFeature.isBooleanType()) {%>_DEFAULT<%}%>;
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> eStaticClass()
+ {
+ return <%=genClass.getQualifiedClassifierAccessor()%>;
+ }
+
+<%}%>
+<%if (isImplementation && genModel.isDynamicDelegation()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.dynamicDelegation" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/reflectiveDelegation.override.javajetinc%>
+<%if (isImplementation) {%>
+<%new Runnable() { public void run() { GenClass classExtendsGenClass = genClass.getClassExtendsGenClass(); List<GenFeature> classExtendsAllGenFeatures = classExtendsGenClass == null? Collections.<GenFeature>emptyList() : classExtendsGenClass.getAllGenFeatures();%>
+ <%for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeatureReified.override" args="genFeature:genFeature,classExtendsGenClass:classExtendsGenClass,classExtendsAllGenFeatures:classExtendsAllGenFeatures,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genFeatureReified.override.javajetinc%>
+<%}}}.run();}%>
+<%new Runnable() { public void run() {%>
+<%for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures() : genClass.getDeclaredGenFeatures())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genFeature.override.javajetinc%>
+<%}//for%>
+<%}}.run();%>
+<%for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations() : genClass.getDeclaredGenOperations())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/implementedGenOperation.override.javajetinc%>
+<%}//for%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useGenerics()) {%>
+ <%for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {%>
+ <%if (genFeature.isUncheckedCast(genClass)) {%>
+ @SuppressWarnings("unchecked")
+ <%break; }%>
+ <%}%>
+ <%}%>
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eInverseAdd(<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> otherEnd, int featureID, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+<%for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.isListType()) { String cast = "(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList") + (!genModel.useGenerics() ? ")" : "<" + genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject") + ">)(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList") + "<?>)");%>
+ <%if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {%>
+ return ((<%=cast%>(<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).basicAdd(otherEnd, msgs);
+ <%} else {%>
+ return (<%=cast%><%=genFeature.getGetAccessor()%>()).basicAdd(otherEnd, msgs);
+ <%}%>
+ <%} else if (genFeature.isContainer()) {%>
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ <%if (genFeature.isBasicSet()) {%>
+ return basicSet<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)otherEnd, msgs);
+ <%} else {%>
+ return eBasicSetContainer(otherEnd, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+ <%}%>
+ <%} else {%>
+ <%if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else if (genFeature.isVolatile() || genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = <%if (genFeature.isResolveProxies()) {%>basicGet<%=genFeature.getAccessorName()%><%} else {%><%=genFeature.getGetAccessor()%><%}%>();
+ <%}%>
+ if (<%=genFeature.getSafeName()%> != null)
+ <%if (genFeature.isEffectiveContains()) {%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+ <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ <%}%>
+ return basicSet<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)otherEnd, msgs);
+ <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eInverseAdd(otherEnd, featureID, msgs);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicInverseAdd(otherEnd, featureID, msgs);
+<%}%>
+<%if (forceDefaultCase) {%>
+ }
+<%}%>
+ }
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eInverseRemove(<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> otherEnd, int featureID, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+<%for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.isListType()) {%>
+ <%if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).basicRemove(otherEnd, msgs);
+ <%} else if (genFeature.isWrappedFeatureMapType()) {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap()).basicRemove(otherEnd, msgs);
+ <%} else {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)<%=genFeature.getGetAccessor()%>()).basicRemove(otherEnd, msgs);
+ <%}%>
+ <%} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {%>
+ return eBasicSetContainer(null, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+ <%} else if (genFeature.isUnsettable()) {%>
+ return basicUnset<%=genFeature.getAccessorName()%>(msgs);
+ <%} else {%>
+ return basicSet<%=genFeature.getAccessorName()%>(null, msgs);
+ <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eInverseRemove(otherEnd, featureID, msgs);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicInverseRemove(otherEnd, featureID, msgs);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eBasicRemoveFromContainerFeature(<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ switch (eContainerFeatureID()<%=negativeOffsetCorrection%>)
+ {
+<%for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {%>
+ <%GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ return eInternalContainer().eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eBasicRemoveFromContainerFeature(msgs);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicBasicRemoveFromContainer(msgs);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEGetGenFeatures())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+<%for (GenFeature genFeature : genClass.getEGetGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.isPrimitiveType()) {%>
+ <%if (isJDK50) {%>
+ return <%=genFeature.getGetAccessor()%>();
+ <%} else if (genFeature.isBooleanType()) {%>
+ return <%=genFeature.getGetAccessor()%>() ? Boolean.TRUE : Boolean.FALSE;
+ <%} else {%>
+ return new <%=genFeature.getObjectType(genClass)%>(<%=genFeature.getGetAccessor()%>());
+ <%}%>
+ <%} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {%>
+ if (resolve) return <%=genFeature.getGetAccessor()%>();
+ return basicGet<%=genFeature.getAccessorName()%>();
+ <%} else if (genFeature.isMapType()) {%>
+ <%if (genFeature.isEffectiveSuppressEMFTypes()) {%>
+ if (coreType) return ((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap();
+ else return <%=genFeature.getGetAccessor()%>();
+ <%} else {%>
+ if (coreType) return <%=genFeature.getGetAccessor()%>();
+ else return <%=genFeature.getGetAccessor()%>().map();
+ <%}%>
+ <%} else if (genFeature.isWrappedFeatureMapType()) {%>
+ if (coreType) return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap();
+ return <%=genFeature.getGetAccessor()%>();
+ <%} else if (genFeature.isFeatureMapType()) {%>
+ if (coreType) return <%=genFeature.getGetAccessor()%>();
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)<%=genFeature.getGetAccessor()%>()).getWrapper();
+ <%} else {%>
+ return <%=genFeature.getGetAccessor()%>();
+ <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eGet(featureID, resolve, coreType);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicGet(featureID, resolve, coreType);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getESetGenFeatures())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useGenerics()) {%>
+ <%for (GenFeature genFeature : genClass.getESetGenFeatures()) {%>
+ <%if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType() && !genFeature.isMapType()) {%>
+ @SuppressWarnings("unchecked")
+ <%break; }%>
+ <%}%>
+ <%}%>
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+ <%for (GenFeature genFeature : genClass.getESetGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.isListType()) {%>
+ <%if (genFeature.isWrappedFeatureMapType()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap()).set(newValue);
+ <%} else if (genFeature.isFeatureMapType()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)<%=genFeature.getGetAccessor()%>()).set(newValue);
+ <%} else if (genFeature.isMapType()) {%>
+ <%if (genFeature.isEffectiveSuppressEMFTypes()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Setting)((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).set(newValue);
+ <%} else {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Setting)<%=genFeature.getGetAccessor()%>()).set(newValue);
+ <%}%>
+ <%} else {%>
+ <%=genFeature.getGetAccessor()%>().clear();
+ <%=genFeature.getGetAccessor()%>().addAll((<%=genModel.getImportedName("java.util.Collection")%><%if (isJDK50) {%><? extends <%=genFeature.getListItemType(genClass)%>><%}%>)newValue);
+ <%}%>
+ <%} else if (!isJDK50 && genFeature.isPrimitiveType()) {%>
+ set<%=genFeature.getAccessorName()%>(((<%=genFeature.getObjectType(genClass)%>)newValue).<%=genFeature.getPrimitiveValueFunction()%>());
+ <%} else {%>
+ set<%=genFeature.getAccessorName()%>(<%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType() || !genFeature.getRawType().equals(genFeature.getType(genClass))) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>newValue);
+ <%}%>
+ return;
+ <%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+ <%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> super.eSet(featureID, newValue);
+<%if (forceDefaultCase) {%>
+ return;
+<%}%>
+ <%} else {%>
+<%=indentDefaultCase%> eDynamicSet(featureID, newValue);
+<%if (forceDefaultCase) {%>
+ return;
+<%}%>
+ <%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEUnsetGenFeatures())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/eUnset.override.javajetinc%>
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEIsSetGenFeatures())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/eIsSet.override.javajetinc%>
+<%}%>
+<%if (isImplementation && (!genClass.getMixinGenFeatures().isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty())) {%>
+ <%if (!genClass.getMixinGenFeatures().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<%=singleWildcard%> baseClass)
+ {
+ <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+ if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (derivedFeatureID<%=negativeOffsetCorrection%>)
+ {
+ <%for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>: return <%=mixinGenClass.getQualifiedFeatureID(genFeature)%>;
+ <%}%>
+ default: return -1;
+ }
+ }
+ <%}%>
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+ <%}%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<%=singleWildcard%> baseClass)
+ {
+ <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+ if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (baseFeatureID)
+ {
+ <%for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {%>
+ case <%=mixinGenClass.getQualifiedFeatureID(genFeature)%>: return <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>;
+ <%}%>
+ default: return -1;
+ }
+ }
+ <%}%>
+ <%if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {%>
+ if (baseClass == <%=genClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (baseFeatureID<%=negativeOffsetCorrection%>)
+ {
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>: return <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>;
+ <%}%>
+ default: return -1;
+ }
+ }
+ <%}%>
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && (!genClass.getMixinGenOperations().isEmpty() || !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(), genClass.getImplementedGenOperations()).isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public int eDerivedOperationID(int baseOperationID, Class<%=singleWildcard%> baseClass)
+ {
+ <%for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) { List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations(); List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();%>
+ <%if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations).isEmpty()) {%>
+ if (baseClass == <%=extendedGenClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (baseOperationID)
+ {
+ <%for (GenOperation genOperation : extendedImplementedGenOperations) { GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+ <%if (implementedGenOperations.contains(overrideGenOperation)) {%>
+ case <%=extendedGenClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(overrideGenOperation)%><%=positiveOperationOffsetCorrection%>;
+ <%}%>
+ <%}%>
+ default: return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ <%}%>
+ <%}%>
+ <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+ if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (baseOperationID)
+ {
+ <%for (GenOperation genOperation : mixinGenClass.getGenOperations()) { GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+ case <%=mixinGenClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation)%><%=positiveOperationOffsetCorrection%>;
+ <%}%>
+ default: return -1;
+ }
+ }
+ <%}%>
+ <%if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {%>
+ if (baseClass == <%=genClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (baseOperationID<%=negativeOperationOffsetCorrection%>)
+ {
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+ case <%=genClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(genOperation)%><%=positiveOperationOffsetCorrection%>;
+ <%}%>
+ default: return -1;
+ }
+ }
+ <%}%>
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+<%}%>
+<%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%>
+ <%if (eVirtualValuesField != null) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected Object[] eVirtualValues()
+ {
+ return <%=eVirtualValuesField%>;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected void eSetVirtualValues(Object[] newValues)
+ {
+ <%=eVirtualValuesField%> = newValues;
+ }
+
+ <%}%>
+ <%{ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());%>
+ <%if (!eVirtualIndexBitFields.isEmpty()) { List<String> allEVirtualIndexBitFields = genClass.getAllEVirtualIndexBitFields(new ArrayList<String>());%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected int eVirtualIndexBits(int offset)
+ {
+ switch (offset)
+ {
+ <%for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {%>
+ case <%=i%> :
+ return <%=allEVirtualIndexBitFields.get(i)%>;
+ <%}%>
+ default :
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected void eSetVirtualIndexBits(int offset, int newIndexBits)
+ {
+ switch (offset)
+ {
+ <%for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {%>
+ case <%=i%> :
+ <%=allEVirtualIndexBitFields.get(i)%> = newIndexBits;
+ break;
+ <%}%>
+ default :
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+ <%}%>
+ <%}%>
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ <%if (genModel.useGenerics()) {%>
+ <%boolean isUnchecked = false; boolean isRaw = false; LOOP: for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) { for (GenParameter genParameter : genOperation.getGenParameters()) { if (genParameter.isUncheckedCast()) { if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType()) { isUnchecked = true; } if (genParameter.usesOperationTypeParameters() && !genParameter.getEcoreParameter().getEGenericType().getETypeArguments().isEmpty()) { isRaw = true; break LOOP; }}}}%>
+ <%if (isUnchecked) {%>
+ @SuppressWarnings(<%if (!isRaw) {%>"unchecked"<%} else {%>{"rawtypes", "unchecked" }<%}%>)
+ <%}%>
+ <%}%>
+ public Object eInvoke(int operationID, <%=genModel.getImportedName("org.eclipse.emf.common.util.EList")%><%=singleWildcard%> arguments) throws <%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%>
+ {
+ switch (operationID<%=negativeOperationOffsetCorrection%>)
+ {
+<%for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) { List<GenParameter> genParameters = genOperation.getGenParameters(); int size = genParameters.size(); boolean hasCheckedException = genOperation.hasCheckedException(); String indent = hasCheckedException ? "\t" : ""; GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+ case <%=genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation)%>:
+ <%if (hasCheckedException) {%>
+ try
+ {
+ <%/*}*/}%>
+ <%if (genOperation.isVoid()) {%>
+ <%=indent%><%=genOperation.getName()%>(<%for (int i = 0; i < size; i++) { GenParameter genParameter = genParameters.get(i);%><%if (!isJDK50 && genParameter.isPrimitiveType()) {%>(<%}%><%if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType() || !genParameter.usesOperationTypeParameters() && !genParameter.getRawType().equals(genParameter.getType(genClass))) {%>(<%=genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType() : genParameter.getObjectType(genClass)%>)<%}%>arguments.get(<%=i%>)<%if (!isJDK50 && genParameter.isPrimitiveType()) {%>).<%=genParameter.getPrimitiveValueFunction()%>()<%}%><%if (i < (size - 1)) {%>, <%}%><%}%>);
+ <%=indent%>return null;
+ <%} else {%>
+ <%=indent%>return <%if (!isJDK50 && genOperation.isPrimitiveType()) {%>new <%=genOperation.getObjectType(genClass)%>(<%}%><%=genOperation.getName()%>(<%for (int i = 0; i < size; i++) { GenParameter genParameter = genParameters.get(i);%><%if (!isJDK50 && genParameter.isPrimitiveType()) {%>(<%}%><%if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType() || !genParameter.usesOperationTypeParameters() && !genParameter.getRawType().equals(genParameter.getType(genClass))) {%>(<%=genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType() : genParameter.getObjectType(genClass)%>)<%}%>arguments.get(<%=i%>)<%if (!isJDK50 && genParameter.isPrimitiveType()) {%>).<%=genParameter.getPrimitiveValueFunction()%>()<%}%><%if (i < (size - 1)) {%>, <%}%><%}%>)<%if (!isJDK50 && genOperation.isPrimitiveType()) {%>)<%}%>;
+ <%}%>
+ <%if (hasCheckedException) {/*{*/%>
+ }
+ catch (<%=genModel.getImportedName("java.lang.Throwable")%> throwable)
+ {
+ throw new <%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%>(throwable);
+ }
+ <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eInvoke(operationID, arguments);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicInvoke(operationID, arguments);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
+<%}%>
+<%if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation() && !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ <%=genModel.useGenerics() ? "StringBuilder" : "StringBuffer"%> result = new <%=genModel.useGenerics() ? "StringBuilder" : "StringBuffer"%>(super.toString());
+ <%{ boolean first = true;%>
+ <%for (GenFeature genFeature : genClass.getToStringGenFeatures()) {%>
+ <%if (first) { first = false;%>
+ result.append(" (<%=genFeature.getName()%>: ");<%=genModel.getNonNLS()%>
+ <%} else {%>
+ result.append(", <%=genFeature.getName()%>: ");<%=genModel.getNonNLS()%>
+ <%}%>
+ <%if (genFeature.isUnsettable() && !genFeature.isListType()) {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ if (eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>)) result.append(eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>)); else result.append("<unset>");<%=genModel.getNonNLS()%>
+ <%} else {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0); else result.append("<unset>");<%=genModel.getNonNLS()%>
+ <%} else {%>
+ if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append(<%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET]); else result.append("<unset>");<%=genModel.getNonNLS()%>
+ <%}%>
+ <%} else {%>
+ if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append(<%=genFeature.getSafeName()%>); else result.append("<unset>");<%=genModel.getNonNLS()%>
+ <%}%>
+ <%}%>
+ <%} else {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ result.append(eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (!genFeature.isListType() && !genFeature.isReferenceType()){%>, <%=genFeature.getEDefault()%><%}%>));
+ <%} else {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ result.append((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0);
+ <%} else {%>
+ result.append(<%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET]);
+ <%}%>
+ <%} else {%>
+ result.append(<%=genFeature.getSafeName()%>);
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ result.append(')');
+ return result.toString();
+ }
+
+<%}%>
+<%if (isImplementation && genClass.isMapEntry()) { GenFeature keyFeature = genClass.getMapEntryKeyFeature(); GenFeature valueFeature = genClass.getMapEntryValueFeature();%>
+<%String objectType = genModel.getImportedName("java.lang.Object");%>
+<%String keyType = isJDK50 ? keyFeature.getObjectType(genClass) : objectType;%>
+<%String valueType = isJDK50 ? valueFeature.getObjectType(genClass) : objectType;%>
+<%String eMapType = genModel.getImportedName("org.eclipse.emf.common.util.EMap") + (isJDK50 ? "<" + keyType + ", " + valueType + ">" : "");%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected int hash = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public int getHash()
+ {
+ if (hash == -1)
+ {
+ <%=objectType%> theKey = getKey();
+ hash = (theKey == null ? 0 : theKey.hashCode());
+ }
+ return hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public void setHash(int hash)
+ {
+ this.hash = hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=keyType%> getKey()
+ {
+ <%if (!isJDK50 && keyFeature.isPrimitiveType()) {%>
+ return new <%=keyFeature.getObjectType(genClass)%>(getTypedKey());
+ <%} else {%>
+ return getTypedKey();
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public void setKey(<%=keyType%> key)
+ {
+ <%if (keyFeature.isListType()) {%>
+ getTypedKey().addAll(<%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("java.util.Collection")%>)<%}%>key);
+ <%} else if (isJDK50) {%>
+ setTypedKey(key);
+ <%} else if (keyFeature.isPrimitiveType()) {%>
+ setTypedKey(((<%=keyFeature.getObjectType(genClass)%>)key).<%=keyFeature.getPrimitiveValueFunction()%>());
+ <%} else {%>
+ setTypedKey((<%=keyFeature.getImportedType(genClass)%>)key);
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=valueType%> getValue()
+ {
+ <%if (!isJDK50 && valueFeature.isPrimitiveType()) {%>
+ return new <%=valueFeature.getObjectType(genClass)%>(getTypedValue());
+ <%} else {%>
+ return getTypedValue();
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=valueType%> setValue(<%=valueType%> value)
+ {
+ <%=valueType%> oldValue = getValue();
+ <%if (valueFeature.isListType()) {%>
+ getTypedValue().clear();
+ getTypedValue().addAll(<%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("java.util.Collection")%>)<%}%>value);
+ <%} else if (isJDK50) {%>
+ setTypedValue(value);
+ <%} else if (valueFeature.isPrimitiveType()) {%>
+ setTypedValue(((<%=valueFeature.getObjectType(genClass)%>)value).<%=valueFeature.getPrimitiveValueFunction()%>());
+ <%} else {%>
+ setTypedValue((<%=valueFeature.getImportedType(genClass)%>)value);
+ <%}%>
+ return oldValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useGenerics()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ public <%=eMapType%> getEMap()
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%> container = eContainer();
+ return container == null ? null : (<%=eMapType%>)container.eGet(eContainmentFeature());
+ }
+
+<%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+} //<%=isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName()%>
+<%// TODO fix the space above%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Sr5gCGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Sr5gCGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..678d71c83
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Sr5gCGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenClass genClass = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genClass,genClass.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE,Boolean.TRUE}})[0];
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._07nZCWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._07nZCWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._07nZCWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._9fJklHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._9fJklHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..274f82901
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._9fJklHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genModel.hasModelPluginClass());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejecjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejecjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejecjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeczG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeczG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeczG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..ce3be04cc
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejedzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getModelDirectory();
+packageName = genModel.getModelPluginPackageName();
+className = genModel.getModelPluginClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeeTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeeTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..ece8cce19
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._PejeeTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,155 @@
+
+<%
+/**
+ * Copyright (c) 2002-2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genModel.getModelPluginPackageName()%>;
+
+<%genModel.addImport("org.eclipse.emf.common.EMFPlugin");%>
+<%genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the central singleton for the <%=genModel.getModelName()%> model plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public final class <%=genModel.getModelPluginClassName()%> extends EMFPlugin
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getModelPluginClassName()%> INSTANCE = new <%=genModel.getModelPluginClassName()%>();
+
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+ /**
+ * 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 <%=genModel.getModelPluginClassName()%>()
+ {
+ super(new ResourceLocator [] {});
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public ResourceLocator getPluginResourceLocator()
+ {
+<%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+ return null;
+<%} else {%>
+ return plugin;
+<%}%>
+ }
+
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+ /**
+ * 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 -->
+<%if (genModel.needsRuntimeCompatibility()) {%>
+ * @param descriptor the description of the plugin.
+<%}%>
+ * @generated
+ */
+ public Implementation(<%if (genModel.needsRuntimeCompatibility()) {%><%=genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor")%> descriptor<%}%>)
+ {
+ super(<%if (genModel.needsRuntimeCompatibility()) {%>descriptor<%}%>);
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+<%if (genModel.isOSGiCompatible()) {%>
+
+ /**
+ * The actual implementation of the purely OSGi-compatible <b>Bundle Activator</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final class Activator extends <%=genModel.getImportedName("org.eclipse.emf.common.EMFPlugin")%>.OSGiDelegatingBundleActivator
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected <%=genModel.getImportedName("org.osgi.framework.BundleActivator")%> createBundle()
+ {
+ return new Implementation();
+ }
+ }
+<%}%>
+ }
+
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._SsWL8WKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._SsWL8WKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PejecDG0Ed-kc8dEZsdm2w/method._SsWL8WKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._063yImKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._063yImKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._063yImKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._9AAxhHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._9AAxhHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..1e675a364
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._9AAxhHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genPackage.getResource() != GenResourceKind.NONE_LITERAL);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoYzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..9b2987b1a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoZzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getResourceFactoryClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoaTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoaTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..faad01123
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._PesoaTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,96 @@
+
+<%
+/**
+ * Copyright (c) 2002-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%genModel.getImportedName("org.eclipse.emf.common.util.URI");%>
+<%genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see <%=genPackage.getQualifiedResourceClassName()%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getResourceFactoryClassName()%> extends <%=genPackage.getImportedResourceFactoryBaseClassName()%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%> extendedMetaData;
+
+<%} else if (genPackage.hasXMLMap()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource$XMLMap")%> xmlMap = new <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.XMLMapImpl")%>();
+
+<%}%>
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getResourceFactoryClassName()%>()
+ {
+ super();
+<%if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {%>
+ extendedMetaData = new <%=genModel.getImportedName("org.eclipse.emf.ecore.util.BasicExtendedMetaData")%>(new <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl")%>(<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE));
+ extendedMetaData.putPackage(null, <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE);
+<%} else if (genPackage.hasXMLMap() && !genPackage.hasTargetNamespace()) {%>
+ xmlMap.setNoNamespacePackage(<%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE);
+<%}%>
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public Resource createResource(URI uri)
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass.ResourceFactoryClass.createResource.override" args="genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//ResourceFactoryClass/createResource.override.javajetinc%>
+ }
+
+} //<%=genPackage.getResourceFactoryClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._StFy12KPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._StFy12KPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PesoYDG0Ed-kc8dEZsdm2w/method._StFy12KPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._07UeGWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._07UeGWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._07UeGWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._9QQM9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._9QQM9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..483dc38e8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._9QQM9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenEnum genEnum = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && true;
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47MzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..aa45bf0dd
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47NzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenEnum genEnum = parameter;
+targetPath = genEnum.getGenModel().getModelDirectory();
+packageName = genEnum.getGenPackage().getInterfacePackageName();
+className = genEnum.getName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47OTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47OTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..48f408ed9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._Pf47OTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,355 @@
+
+<%
+/**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+%>
+<%GenEnum genEnum = (GenEnum)argument; GenPackage genPackage = genEnum.getGenPackage(); GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getInterfacePackageName()%>;
+
+<%genModel.addImport("java.util.Arrays");%>
+<%genModel.addImport("java.util.List");%>
+<%genModel.addImport("java.util.Collections");%>
+<%genModel.markImportLocation(stringBuffer, genPackage);%>
+<%boolean isEnum = genModel.useGenerics();%>
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b><%=genEnum.getFormattedName()%></b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+<%if (genEnum.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genEnum.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genEnum.getName()%>()
+<%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genEnum.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+<%} else {%>
+ * <%=modelInfo%>
+<%}} if (first) {%>
+ * @model
+<%}}%>
+<%if (genEnum.hasImplicitAPITags(true)) {%>
+ * <%=genEnum.getImplicitAPITags(genModel.getIndentation(stringBuffer), true)%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genEnum.hasImplicitAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public <%if (isEnum) {%>enum<%} else {%>final class<%}%> <%=genEnum.getName()%> <%if (isEnum) {%>implements<%} else {%>extends<%}%> <%=genModel.isSuppressEMFMetaData() && !genModel.isSuppressInterfaces() ? "Internal" + genEnum.getName() : genModel.getImportedName(isEnum ? "org.eclipse.emf.common.util.Enumerator" : "org.eclipse.emf.common.util.AbstractEnumerator")%>
+{
+<%if (isEnum) {%>
+ <%if (genEnum.getGenEnumLiterals().isEmpty()) {%>
+ ;
+
+ <%}else {%>
+ <%for (Iterator<GenEnumLiteral> l = genEnum.getGenEnumLiterals().iterator(); l.hasNext(); ) { GenEnumLiteral genEnumLiteral = l.next(); %>
+ /**
+ * The '<em><b><%=genEnumLiteral.getFormattedName()%></b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genEnumLiteral.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ * @see #<%=genEnumLiteral.getEnumLiteralValueConstantName()%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>(<%=genEnumLiteral.getValue()%>, "<%=genEnumLiteral.getName()%>", <%=Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel)%>)<%if (l.hasNext()) {%>,<%} else {%>;<%}%><%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+
+ <%}%>
+ <%}%>
+<%}%>
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+ /**
+ * The '<em><b><%=genEnumLiteral.getFormattedName()%></b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genEnumLiteral.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ * @see #<%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>
+<%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genEnumLiteral.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+<%} else {%>
+ * <%=modelInfo%>
+<%}} if (first) {%>
+ * @model
+<%}}%>
+ * @generated
+ * @ordered
+ */
+<%if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+ public static final int <%=genEnumLiteral.getEnumLiteralValueConstantName()%> = <%=genEnumLiteral.getValue()%>;
+
+<%}%>
+<%if (!isEnum) for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+ /**
+ * The '<em><b><%=genEnumLiteral.getFormattedName()%></b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genEnumLiteral.getEnumLiteralValueConstantName()%>
+ <%if (genEnumLiteral.hasAPITags()) {%>
+ * <%=genEnumLiteral.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+<%if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+ public static final <%=genEnum.getName()%> <%=genEnumLiteral.getEnumLiteralInstanceConstantName()%> = new <%=genEnum.getName()%>(<%=genEnumLiteral.getEnumLiteralValueConstantName()%>, "<%=genEnumLiteral.getName()%>", <%=Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel)%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+
+<%}%>
+ /**
+ * An array of all the '<em><b><%=genEnum.getFormattedName()%></b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final <%=genEnum.getName()%>[] VALUES_ARRAY =
+ new <%=genEnum.getName()%>[]
+ {
+<%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+ <%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>,
+<%}%>
+ };
+
+ /**
+ * A public read-only list of all the '<em><b><%=genEnum.getFormattedName()%></b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<%if (isEnum) {%><<%=genEnum.getName()%>><%}%> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b><%=genEnum.getFormattedName()%></b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static <%=genEnum.getName()%> get(<%=genModel.getImportedName("java.lang.String")%> literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ <%=genEnum.getName()%> result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b><%=genEnum.getFormattedName()%></b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static <%=genEnum.getName()%> getByName(<%=genModel.getImportedName("java.lang.String")%> name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ <%=genEnum.getName()%> result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b><%=genEnum.getFormattedName()%></b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static <%=genEnum.getName()%> get(int value)
+ {
+ switch (value)
+ {
+<%for (GenEnumLiteral genEnumLiteral : genEnum.getUniqueValuedGenEnumLiterals()) {%>
+ case <%=genEnumLiteral.getEnumLiteralValueConstantName()%>: return <%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>;
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ default: return null;
+ }
+<%} else { // {%>
+ }
+ return null;
+<%} // }%>
+ }
+
+<%if (isEnum) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final <%=genModel.getImportedName("java.lang.String")%> name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final <%=genModel.getImportedName("java.lang.String")%> literal;
+
+<%}%>
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private <%=genEnum.getName()%>(int value, <%=genModel.getImportedName("java.lang.String")%> name, <%=genModel.getImportedName("java.lang.String")%> literal)
+ {
+<%if (isEnum) {%>
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+<%} else {%>
+ super(value, name, literal);
+<%}%>
+ }
+
+<%if (isEnum) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("java.lang.String")%> getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("java.lang.String")%> getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("java.lang.String")%> toString()
+ {
+ return literal;
+ }
+
+<%}%>
+} //<%=genEnum.getName()%>
+<%if (genModel.isSuppressEMFMetaData()&& !genModel.isSuppressInterfaces() ) {%>
+
+ <%if (isEnum) {%>
+/**
+ * A private implementation interface used to hide the inheritance from Enumerator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+interface Internal<%=genEnum.getName()%> extends org.eclipse.emf.common.util.Enumerator
+{
+ // Empty
+}
+ <%} else {%>
+/**
+ * A private implementation class to construct the instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+class Internal<%=genEnum.getName()%> extends org.eclipse.emf.common.util.AbstractEnumerator
+{
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Internal<%=genEnum.getName()%>(int value, <%=genModel.getImportedName("java.lang.String")%> name, <%=genModel.getImportedName("java.lang.String")%> literal)
+ {
+ super(value, name, literal);
+ }
+}
+ <%}%>
+<%}%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._SrwWGGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._SrwWGGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..0812d6743
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pf47MDG0Ed-kc8dEZsdm2w/method._SrwWGGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenEnum genEnum = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._07LUKWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._07LUKWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._07LUKWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._9cLJFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._9cLJFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..449324be7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._9cLJFHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genPackage.hasClassifiers());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPQzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..91246c9db
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfcPRzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getReflectionClassPackageName();
+className = genPackage.getFactoryClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfmAQTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfmAQTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..0848dae16
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._PfmAQTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,792 @@
+
+<%
+/**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)((Object[])argument)[0]; GenModel genModel=genPackage.getGenModel(); /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]); boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+<%if (isInterface || genModel.isSuppressInterfaces()) {%>
+package <%=genPackage.getReflectionPackageName()%>;
+<%} else {%>
+package <%=genPackage.getClassPackageName()%>;
+<%}%>
+
+<%if (isImplementation) {%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");%>
+<%genModel.addImport("org.eclipse.emf.ecore.EClass");%>
+<%genModel.addImport("org.eclipse.emf.ecore.EObject");%>
+<%if (!genPackage.hasJavaLangConflict() && !genPackage.hasInterfaceImplConflict() && !genPackage.getClassPackageName().equals(genPackage.getInterfacePackageName())) genModel.addImport(genPackage.getInterfacePackageName() + ".*");%>
+<%}%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+<%if (isInterface) {%>
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+<%if (!genModel.isSuppressEMFMetaData()) {%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>
+<%}%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%} else {%>
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+ <%if (isJDK50 && !genPackage.hasAPIDeprecatedTag()) { List<GenClassifier> genClassifiers = new ArrayList<GenClassifier>(genPackage.getGenClassifiers()); for (Iterator<GenClassifier> i = genClassifiers.iterator(); i.hasNext(); ) { GenClassifier genClassifier = i.next(); if (genClassifier instanceof GenClass && ((GenClass)genClassifier).isAbstract()) i.remove(); } if (GenModelUtil.hasAPIDeprecatedTag(genClassifiers)) {%>
+@SuppressWarnings("deprecation")
+ <%}}%>
+public class <%=genPackage.getFactoryClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EFactoryImpl")%><%if (!genModel.isSuppressInterfaces()) {%> implements <%=genPackage.getImportedFactoryInterfaceName()%><%}%>
+<%} else {%>
+public interface <%=genPackage.getFactoryInterfaceName()%><%if (!genModel.isSuppressEMFMetaData()) {%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.EFactory")%><%}%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {%>
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genPackage.getFactoryClassName()%> eINSTANCE = init();
+
+<%}%>
+<%if (isInterface && genModel.isSuppressEMFMetaData()) {%>
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genPackage.getFactoryInterfaceName()%> INSTANCE = <%=genPackage.getQualifiedFactoryClassName()%>.eINSTANCE;
+
+<%} else if (isInterface && !genModel.isSuppressInterfaces()) {%>
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genPackage.getFactoryInterfaceName()%> eINSTANCE = <%=genPackage.getQualifiedFactoryClassName()%>.init();
+
+<%}%>
+<%if (isImplementation) {%>
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName() : genPackage.getImportedFactoryInterfaceName();%>
+ public static <%=factoryType%> init()
+ {
+ try
+ {
+ <%=factoryType%> the<%=genPackage.getFactoryName()%> = (<%=factoryType%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEFactory(<%=genPackage.getPackageInterfaceName()%>.eNS_URI);
+ if (the<%=genPackage.getFactoryName()%> != null)
+ {
+ return the<%=genPackage.getFactoryName()%>;
+ }
+ }
+ catch (Exception exception)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.log(exception);
+ }
+ return new <%=genPackage.getImportedFactoryClassName()%>();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getFactoryClassName()%>()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%if (!genClass.isAbstract()) {%>
+ case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genClass.getClassifierID()%>: return <%=!genClass.isEObjectExtension() ? "(EObject)" : "" %>create<%=genClass.getName()%>();
+<%}%>
+<%}%>
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ }
+ }
+
+<%if (!genPackage.getAllGenDataTypes().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public Object createFromString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, String initialValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+ <%if (genDataType.isSerializable()) {%>
+ case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genDataType.getClassifierID()%>:
+ return create<%=genDataType.getName()%>FromString(eDataType, initialValue);
+ <%}%>
+<%}%>
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public String convertToString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, Object instanceValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+ <%if (genDataType.isSerializable()) {%>
+ case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genDataType.getClassifierID()%>:
+ return convert<%=genDataType.getName()%>ToString(eDataType, instanceValue);
+ <%}%>
+<%}%>
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ }
+ }
+
+<%}%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ <%if (!genClass.isAbstract()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()) {%>
+ @Override
+<%}%>
+ public <%=genClass.getTypeParameters()%><%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> create<%=genClass.getName()%>()
+ {
+ <%if (genClass.isDynamic()) {%>
+ <%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> <%=genClass.getSafeUncapName()%> = <%=genClass.getCastFromEObject()%>super.create(<%=genClass.getQualifiedClassifierAccessor()%>);
+ <%} else {%>
+ <%=genClass.getImportedClassName()%><%=genClass.getClassTypeArguments()%> <%=genClass.getSafeUncapName()%> = new <%=genClass.getImportedClassName()%><%=genClass.getClassTypeArguments()%>()<%if (genModel.isSuppressInterfaces() && !genPackage.getReflectionPackageName().equals(genPackage.getInterfacePackageName())) {%>{}<%}%>;
+ <%}%>
+ return <%=genClass.getSafeUncapName()%>;
+ }
+
+ <%}%>
+<%}%>
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+ <%if (genDataType.isSerializable()) {%>
+<%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) { String eDataType = genDataType.getQualifiedClassifierAccessor();%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genDataType.getImportedParameterizedInstanceClassName()%> create<%=genDataType.getName()%>(<%if (genDataType.hasCreatorBody()) {%>final <%}%>String <%if (genDataType.hasCreatorBody()) {%>it<%} else {%>literal<%}%>)
+ {
+ <%if (genDataType.hasCreatorBody()) {%>
+ <%=genDataType.getCreatorBody(genModel.getIndentation(stringBuffer))%>
+ <%} else if (genDataType instanceof GenEnum) {%>
+ <%=genDataType.getImportedInstanceClassName()%> result = <%=genDataType.getImportedInstanceClassName()%>.get(literal);
+ if (result == null) throw new IllegalArgumentException("The value '" + literal + "' is not a valid enumerator of '" + <%=eDataType%>.getName() + "'");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+ return result;
+ <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); boolean isPrimitiveConversion = !genDataType.isPrimitiveType() && genBaseType.isPrimitiveType();%>
+ <%if (genBaseType.getGenPackage() == genPackage) {%>
+ <%if (isPrimitiveConversion && !isJDK50) {%>
+ return new <%=genDataType.getObjectInstanceClassName()%>(create<%=genBaseType.getName()%>(literal));
+ <%} else {%>
+ return create<%=genBaseType.getName()%>(literal);
+ <%}%>
+ <%} else if (genBaseType.getGenPackage().isDataTypeConverters()) {%>
+ <%if (isPrimitiveConversion && !isJDK50) {%>
+ return new <%=genDataType.getObjectInstanceClassName()%>(<%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genBaseType.getName()%>(literal));
+ <%} else {%>
+ return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genBaseType.getName()%>(literal);
+ <%}%>
+ <%} else {%>
+ return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, literal);
+ <%}%>
+ <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+ if (literal == null) return null;
+ <%=genDataType.getImportedParameterizedInstanceClassName()%> result = new <%=genModel.getImportedName("java.util.ArrayList")%><%if (genModel.useGenerics()) {%><<%=genItemType.getObjectType().getImportedParameterizedInstanceClassName()%>><%}%>();
+ <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+ for (<%=genModel.getImportedName("java.util.StringTokenizer")%> stringTokenizer = new <%=genModel.getImportedName("java.util.StringTokenizer")%>(literal); stringTokenizer.hasMoreTokens(); )
+ <%} else {%>
+ for (String item : split(literal))
+ <%}%>
+ {
+ <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+ String item = stringTokenizer.nextToken();
+ <%}%>
+ <%if (genItemType.getGenPackage() == genPackage) {%>
+ <%if (genPackage.isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+ result.add(create<%=genItemType.getName()%>(item));
+ <%} else {%>
+ result.add(create<%=genItemType.getName()%>FromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+ <%}%>
+ <%} else {%>
+ <%if (genItemType.getGenPackage().isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+ result.add(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genItemType.getName()%>(item));
+ <%} else {%>
+ result.add(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+ <%}%>
+ <%}%>
+ }
+ return result;
+ <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+ if (literal == null) return <%=genDataType.getStaticValue(null)%>;
+ <%=genDataType.getImportedInstanceClassName()%> result = <%=genDataType.getStaticValue(null)%>;
+ RuntimeException exception = null;
+ <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+ try
+ {
+ <%if (genMemberType.getGenPackage() == genPackage) {%>
+ <%if (genPackage.isDataTypeConverters()) { if (!genDataType.isPrimitiveType()) genMemberType = genMemberType.getObjectType();%>
+ result = create<%=genMemberType.getName()%>(literal);
+ <%} else {%>
+ result = (<%=genDataType.getObjectInstanceClassName()%>)create<%=genMemberType.getName()%>FromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, literal);
+ <%}%>
+ <%} else {%>
+ <%if (genPackage.isDataTypeConverters()) { if (!genDataType.isPrimitiveType()) genMemberType = genMemberType.getObjectType();%>
+ result = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genMemberType.getName()%>(literal);
+ <%} else {%>
+ result = (<%=genDataType.getObjectInstanceClassName()%>)<%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, literal);
+ <%}%>
+ <%}%>
+ if (<%if (!genDataType.isPrimitiveType()) {%>result != null && <%}%><%=genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician")%>.INSTANCE.validate(<%=eDataType%>, <%if (genDataType.isPrimitiveType() && !isJDK50) {%>new <%=genDataType.getObjectInstanceClassName()%>(result)<%} else {%>result<%}%>, null, null))
+ {
+ return result;
+ }
+ }
+ catch (RuntimeException e)
+ {
+ exception = e;
+ }
+ <%}%>
+ if (<%if (!genDataType.isPrimitiveType()) {%>result != null || <%}%>exception == null) return result;
+
+ throw exception;
+ <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+ return (<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)super.createFromString(literal);
+ <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+ <%} else if (genDataType.isPrimitiveType() && !isJDK50) {%>
+ return ((<%=genDataType.getObjectInstanceClassName()%>)super.createFromString(<%=eDataType%>, literal)).<%=genDataType.getPrimitiveValueFunction()%>();
+ <%} else {%>
+ return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(<%=eDataType%>, literal);
+ <%}%>
+ }
+
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public <%=genDataType.getImportedParameterizedObjectInstanceClassName()%> create<%=genDataType.getName()%>FromString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, String initialValue)
+ {
+ <%if (genDataType instanceof GenEnum) {%>
+ <%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+ return create<%=genDataType.getName()%>(initialValue);
+ <%} else {%>
+ <%=((GenEnum)genDataType).getImportedInstanceClassName()%> result = <%=((GenEnum)genDataType).getImportedInstanceClassName()%>.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+ return result;
+ <%}%>
+ <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); %>
+ <%if (genBaseType.getGenPackage() == genPackage) {%>
+ return <%if (!genDataType.getObjectInstanceClassName().equals(genBaseType.getObjectInstanceClassName())) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%>create<%=genBaseType.getName()%>FromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, initialValue);
+ <%} else {%>
+ return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, initialValue);
+ <%}%>
+ <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+ <%if (genPackage.isDataTypeConverters()) {%>
+ return create<%=genDataType.getName()%>(initialValue);
+ <%} else {%>
+ if (initialValue == null) return null;
+ <%=genDataType.getImportedParameterizedObjectInstanceClassName()%> result = new <%=genModel.getImportedName("java.util.ArrayList")%><%if (genModel.useGenerics()) {%><<%=genItemType.getObjectType().getImportedParameterizedInstanceClassName()%>><%}%>();
+ <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+ for (<%=genModel.getImportedName("java.util.StringTokenizer")%> stringTokenizer = new <%=genModel.getImportedName("java.util.StringTokenizer")%>(initialValue); stringTokenizer.hasMoreTokens(); )
+ <%} else {%>
+ for (String item : split(initialValue))
+ <%}%>
+ {
+ <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+ String item = stringTokenizer.nextToken();
+ <%}%>
+ <%if (genItemType.getGenPackage() == genPackage) {%>
+ result.add(create<%=genItemType.getName()%>FromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+ <%} else {%>
+ result.add(<%if (!genItemType.isObjectType()) {%>(<%=genItemType.getObjectInstanceClassName()%>)<%}%><%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+ <%}%>
+ }
+ return result;
+ <%}%>
+ <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+ <%if (genPackage.isDataTypeConverters()) {%>
+ <%if (genDataType.isPrimitiveType() && !isJDK50) {%>
+ return new <%=genDataType.getObjectInstanceClassName()%>(create<%=genDataType.getName()%>(initialValue));
+ <%} else {%>
+ return create<%=genDataType.getName()%>(initialValue);
+ <%}%>
+ <%} else {%>
+ if (initialValue == null) return null;
+ <%=genDataType.getObjectInstanceClassName()%> result = null;
+ RuntimeException exception = null;
+ <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+ try
+ {
+ <%if (genMemberType.getGenPackage() == genPackage) {%>
+ result = <%if (!genDataType.isObjectType() && !genDataType.getObjectInstanceClassName().equals(genMemberType.getObjectInstanceClassName())) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%>create<%=genMemberType.getName()%>FromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, initialValue);
+ <%} else {%>
+ result = <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, initialValue);
+ <%}%>
+ if (result != null && <%=genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician")%>.INSTANCE.validate(eDataType, result, null, null))
+ {
+ return result;
+ }
+ }
+ catch (RuntimeException e)
+ {
+ exception = e;
+ }
+ <%}%>
+ if (result != null || exception == null) return result;
+
+ throw exception;
+ <%}%>
+ <%} else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+ return create<%=genDataType.getName()%>(initialValue);
+ <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+ return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(initialValue);
+ <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+ <%} else {%>
+ return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(eDataType, initialValue);
+ <%}%>
+ }
+
+<%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) { String eDataType = genDataType.getQualifiedClassifierAccessor();%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public String convert<%=genDataType.getName()%>(<%if (genDataType.hasCreatorBody()) {%>final <%}%><%=genDataType.getImportedBoundedWildcardInstanceClassName()%> <%if (genDataType.hasConverterBody()) {%>it<%} else {%>instanceValue<%}%>)
+ {
+ <%if (genDataType.hasConverterBody()) {%>
+ <%=genDataType.getConverterBody(genModel.getIndentation(stringBuffer))%>
+ <%} else if (genDataType instanceof GenEnum) {%>
+ return instanceValue == null ? null : instanceValue.toString();
+ <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); boolean isPrimitiveConversion = !genDataType.isPrimitiveType() && genBaseType.isPrimitiveType();%>
+ <%if (genBaseType.getGenPackage() == genPackage) {%>
+ <%if (isPrimitiveConversion) {%>
+ return instanceValue == null ? null : convert<%=genBaseType.getName()%>(instanceValue<%if (!isJDK50) {%>.<%=genBaseType.getPrimitiveValueFunction()%>()<%}%>);
+ <%} else {%>
+ return convert<%=genBaseType.getName()%>(instanceValue);
+ <%}%>
+ <%} else if (genBaseType.getGenPackage().isDataTypeConverters()) {%>
+ return <%=genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.convert<%=genBaseType.getName()%>(instanceValue);
+ <%} else {%>
+ return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%}%>
+ <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+ if (instanceValue == null) return null;
+ if (instanceValue.isEmpty()) return "";
+ <%=genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer")%> result = new <%=genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer")%>();
+ <%String item; if (!genModel.useGenerics()) { item = "i.next()"; %>
+ for (<%=genModel.getImportedName("java.util.Iterator")%> i = instanceValue.iterator(); i.hasNext(); )
+ <%} else { item = "item";%>
+ for (<%=genModel.getImportedName("java.lang.Object")%> item : instanceValue)
+ <%}%>
+ {
+ <%if (genItemType.getGenPackage() == genPackage) {%>
+ <%if (genPackage.isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+ result.append(convert<%=genItemType.getName()%>((<%=genItemType.getObjectInstanceClassName()%>)<%=item%>));
+ <%} else {%>
+ result.append(convert<%=genItemType.getName()%>ToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+ <%}%>
+ <%} else {%>
+ <%if (genItemType.getGenPackage().isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+ result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genItemType.getName()%>((<%=genItemType.getObjectInstanceClassName()%>)<%=item%>));
+ <%} else {%>
+ result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+ <%}%>
+ <%}%>
+ result.append(' ');
+ }
+ return result.substring(0, result.length() - 1);
+ <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+ <%if (!genDataType.isPrimitiveType()) {%>
+ if (instanceValue == null) return null;
+ <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+ if (<%=genMemberType.getQualifiedClassifierAccessor()%>.isInstance(instanceValue))
+ {
+ try
+ {
+ <%if (genMemberType.getGenPackage() == genPackage) {%>
+ <%if (genPackage.isDataTypeConverters()) {%>
+ <%if (genMemberType.getQualifiedInstanceClassName().equals(genDataType.getQualifiedInstanceClassName())) {%>
+ String value = convert<%=genMemberType.getName()%>(instanceValue);
+ <%} else if (genMemberType.isPrimitiveType() && !isJDK50) {%>
+ String value = convert<%=genMemberType.getName()%>(((<%=genMemberType.getObjectType().getImportedInstanceClassName()%>)instanceValue).<%=genMemberType.getPrimitiveValueFunction()%>());
+ <%} else {%>
+ String value = convert<%=genMemberType.getName()%>((<%=genMemberType.getObjectType().getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+ <%}%>
+ <%} else {%>
+ String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%}%>
+ <%} else {%>
+ <%if (genMemberType.getGenPackage().isDataTypeConverters()) { genMemberType = genMemberType.getObjectType();%>
+ String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genMemberType.getName()%>((<%=genMemberType.getObjectInstanceClassName()%>)instanceValue);
+ <%} else {%>
+ String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%}%>
+ <%}%>
+ if (value != null) return value;
+ }
+ catch (Exception e)
+ {
+ // Keep trying other member types until all have failed.
+ }
+ }
+ <%}%>
+ <%} else {%>
+ <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+ try
+ {
+ <%if (genMemberType.getGenPackage() == genPackage) {%>
+ <%if (genPackage.isDataTypeConverters()) {%>
+ String value = convert<%=genMemberType.getName()%>(instanceValue);
+ <%} else {%>
+ String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, <%if (!isJDK50) {%>new <%=genMemberType.getObjectInstanceClassName()%>(instanceValue)<%} else {%>instanceValue<%}%>);
+ <%}%>
+ <%} else {%>
+ <%if (genMemberType.getGenPackage().isDataTypeConverters()) {%>
+ String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genMemberType.getName()%>(instanceValue);
+ <%} else {%>
+ String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, <%if (!isJDK50) {%>new <%=genMemberType.getObjectInstanceClassName()%>(instanceValue)<%} else {%>instanceValue<%}%>);
+ <%}%>
+ <%}%>
+ if (value != null) return value;
+ }
+ catch (Exception e)
+ {
+ // Keep trying other member types until all have failed.
+ }
+ <%}%>
+ <%}%>
+ throw new IllegalArgumentException("Invalid value: '"+instanceValue+"' for datatype :"+<%=eDataType%>.getName());
+ <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+ return super.convertToString(instanceValue);
+ <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+ <%} else if (genDataType.isPrimitiveType() && !isJDK50) {%>
+ return super.convertToString(<%=eDataType%>, new <%=genDataType.getObjectInstanceClassName()%>(instanceValue));
+ <%} else {%>
+ return super.convertToString(<%=eDataType%>, instanceValue);
+ <%}%>
+ }
+
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast()) && (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public String convert<%=genDataType.getName()%>ToString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, Object instanceValue)
+ {
+ <%if (genDataType instanceof GenEnum) {%>
+ <%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+ return convert<%=genDataType.getName()%>((<%=genDataType.getImportedInstanceClassName()%>)instanceValue);
+ <%} else {%>
+ return instanceValue == null ? null : instanceValue.toString();
+ <%}%>
+ <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); %>
+ <%if (genBaseType.getGenPackage() == genPackage) {%>
+ return convert<%=genBaseType.getName()%>ToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%} else {%>
+ return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%}%>
+ <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+ <%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+ return convert<%=genDataType.getName()%>((<%=genDataType.getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+ <%} else { final String singleWildcard = genModel.useGenerics() ? "<?>" : "";%>
+ if (instanceValue == null) return null;
+ <%=genModel.getImportedName("java.util.List")%><%=singleWildcard%> list = (<%=genModel.getImportedName("java.util.List")%><%=singleWildcard%>)instanceValue;
+ if (list.isEmpty()) return "";
+ <%=genModel.getImportedName("java.lang.StringBuffer")%> result = new <%=genModel.getImportedName("java.lang.StringBuffer")%>();
+ <%String item; if (!genModel.useGenerics()) { item = "i.next()"; %>
+ for (<%=genModel.getImportedName("java.util.Iterator")%> i = list.iterator(); i.hasNext(); )
+ <%} else { item = "item";%>
+ for (<%=genModel.getImportedName("java.lang.Object")%> item : list)
+ <%}%>
+ {
+ <%if (genItemType.getGenPackage() == genPackage) {%>
+ result.append(convert<%=genItemType.getName()%>ToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+ <%} else {%>
+ result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+ <%}%>
+ result.append(' ');
+ }
+ return result.substring(0, result.length() - 1);
+ <%}%>
+ <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+ <%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+ <%if (genDataType.isPrimitiveType()) {%>
+ return instanceValue == null ? null : convert<%=genDataType.getName()%>(((<%=genDataType.getObjectInstanceClassName()%>)instanceValue)<%if (!isJDK50) {%>.<%=genDataType.getPrimitiveValueFunction()%>()<%}%>);
+ <%} else {%>
+ return convert<%=genDataType.getName()%>(instanceValue);
+ <%}%>
+ <%} else {%>
+ if (instanceValue == null) return null;
+ <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+ if (<%=genMemberType.getQualifiedClassifierAccessor()%>.isInstance(instanceValue))
+ {
+ try
+ {
+ <%if (genMemberType.getGenPackage() == genPackage) {%>
+ String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%} else {%>
+ String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%}%>
+ if (value != null) return value;
+ }
+ catch (Exception e)
+ {
+ // Keep trying other member types until all have failed.
+ }
+ }
+ <%}%>
+ throw new IllegalArgumentException("Invalid value: '"+instanceValue+"' for datatype :"+eDataType.getName());
+ <%}%>
+ <%} else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+ <%if (genDataType.isPrimitiveType()) {%>
+ return instanceValue == null ? null : convert<%=genDataType.getName()%>(<%if (!isJDK50) {%>(<%}%>(<%=genDataType.getObjectInstanceClassName()%>)instanceValue<%if (!isJDK50) {%>).<%=genDataType.getPrimitiveValueFunction()%>()<%}%>);
+ <%} else {%>
+ return convert<%=genDataType.getName()%>((<%=genDataType.getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+ <%}%>
+ <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+ return super.convertToString(instanceValue);
+ <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+ <%} else {%>
+ return super.convertToString(eDataType, instanceValue);
+ <%}%>
+ }
+
+ <%}%>
+<%}%>
+<%} else {%>
+ <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ <%if (genClass.hasFactoryInterfaceCreateMethod()) {%>
+ /**
+ * Returns a new object of class '<em><%=genClass.getFormattedName()%></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em><%=genClass.getFormattedName()%></em>'.
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+ <%=genClass.getTypeParameters()%><%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> create<%=genClass.getName()%>();
+
+ <%}%>
+ <%}%>
+ <%if (genPackage.isDataTypeConverters()) {%>
+ <%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+ <%if (genDataType.isSerializable()) {%>
+ /**
+ * Returns an instance of data type '<em><%=genDataType.getFormattedName()%></em>' corresponding the given literal.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal a literal of the data type.
+ * @return a new instance value of the data type.
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=genDataType.getImportedParameterizedInstanceClassName()%> create<%=genDataType.getName()%>(String literal);
+
+ /**
+ * Returns a literal representation of an instance of data type '<em><%=genDataType.getFormattedName()%></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param instanceValue an instance value of the data type.
+ * @return a literal representation of the instance value.
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ String convert<%=genDataType.getName()%>(<%=genDataType.getImportedBoundedWildcardInstanceClassName()%> instanceValue);
+
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%if (!isImplementation && !genModel.isSuppressEMFMetaData()) {%>
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ <%=genPackage.getPackageInterfaceName()%> get<%=genPackage.getBasicPackageName()%>();
+
+<%} else if (isImplementation) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation && !genModel.isSuppressEMFMetaData()) {%>
+ @Override
+ <%}%>
+ public <%=genPackage.getImportedPackageInterfaceName()%> get<%=genPackage.getBasicPackageName()%>()
+ {
+ return (<%=genPackage.getImportedPackageInterfaceName()%>)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Deprecated
+ <%}%>
+ public static <%=genPackage.getImportedPackageInterfaceName()%> getPackage()
+ {
+ return <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE;
+ }
+
+<%}%>
+} //<%=isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._StZU2GKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._StZU2GKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..b9705beee
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PfcPQDG0Ed-kc8dEZsdm2w/method._StZU2GKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genPackage,genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE,Boolean.TRUE}})[0];
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._08Xm-WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._08Xm-WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._08Xm-WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._9Kva1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._9Kva1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..15c07fb10
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._9Kva1HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenClass genClass = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (!genClass.isExternalInterface() && (!genModel.isSuppressInterfaces() || genClass.isInterface()));
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EEzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e33395bd6
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EFzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenClass genClass = parameter;
+targetPath = genClass.getGenModel().getModelDirectory();
+packageName = genClass.getGenPackage().getInterfacePackageName();
+className = genClass.getInterfaceName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..56d4bbd2d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,989 @@
+
+<%
+/**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+%>
+<%final GenClass genClass = (GenClass)((Object[])argument)[0]; final GenPackage genPackage = genClass.getGenPackage(); final GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%final boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); final boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]); final boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;%>
+<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();final String indentDefaultCase = forceDefaultCase ? "\t\t" : "";%>
+<%final String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+<%final String singleWildcard = isJDK50 ? "<?>" : "";%>
+<%final String negativeOffsetCorrection = genClass.hasOffsetCorrection() ? " - " + genClass.getOffsetCorrectionField(null) : "";%>
+<%final String positiveOffsetCorrection = genClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(null) : "";%>
+<%final String negativeOperationOffsetCorrection = genClass.hasOffsetCorrection() ? " - EOPERATION_OFFSET_CORRECTION" : "";%>
+<%final String positiveOperationOffsetCorrection = genClass.hasOffsetCorrection() ? " + EOPERATION_OFFSET_CORRECTION" : "";%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+<%if (isInterface) {%>
+package <%=genPackage.getInterfacePackageName()%>;
+<%} else {%>
+package <%=genPackage.getClassPackageName()%>;
+<%}%>
+
+<%genModel.markImportLocation(stringBuffer, genPackage);%>
+<%if (isImplementation) { genClass.addClassPsuedoImports(); }%>
+
+<%if (isInterface) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.interface.javadoc.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/interface.javadoc.override.javajetinc%>
+<%} else {%>
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b><%=genClass.getFormattedName()%></b></em>'.
+ * <!-- end-user-doc -->
+<%if (!genClass.getImplementedGenFeatures().isEmpty()) {%>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+<%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {%>
+ * <li>{@link <%=genClass.getQualifiedClassName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}</li>
+<%}%>
+ * </ul>
+<%}%>
+ *
+<%if (genClass.hasImplicitAPITags()) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+<%if (isJDK50 && !genClass.hasAPIDeprecatedTag() && GenModelUtil.hasImplicitAPIDeprecatedTag(genClass.getEGetGenFeatures(), genClass.getEIsSetGenFeatures(), genClass.getESetGenFeatures(), genClass.getEUnsetGenFeatures(), genClass.getEInverseAddGenFeatures(), genClass.getEInverseRemoveGenFeatures(), genClass.getEBasicRemoveFromContainerGenFeatures(), genClass.getToStringGenFeatures())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public<%if (genClass.isAbstract()) {%> abstract<%}%> class <%=genClass.getClassName()%><%=genClass.getTypeParameters().trim()%><%=genClass.getClassExtends()%><%=genClass.getClassImplements()%>
+<%} else {%>
+public interface <%=genClass.getInterfaceName()%><%=genClass.getTypeParameters().trim()%><%=genClass.getInterfaceExtends()%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && genModel.getDriverNumber() != null) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> mofDriverNumber = "<%=genModel.getDriverNumber()%>";<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && genClass.isJavaIOSerializable()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final long serialVersionUID = 1L;
+
+<%}%>
+<%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%>
+ <%if (eVirtualValuesField != null) {%>
+ /**
+ * An array of objects representing the values of non-primitive features.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected Object[] <%=eVirtualValuesField%>;
+
+ <%}%>
+ <%{ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());%>
+ <%if (!eVirtualIndexBitFields.isEmpty()) {%>
+ <%for (String eVirtualIndexBitField : eVirtualIndexBitFields) {%>
+ /**
+ * A bit field representing the indices of non-primitive feature values.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected int <%=eVirtualIndexBitField%>;
+
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled() && genModel.getBooleanFlagsReservedBits() == -1) {%>
+ /**
+ * A set of bit flags representing the values of boolean attributes and whether unsettable features have been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected int <%=genModel.getBooleanFlagsField()%> = 0;
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation()) {%>
+ <%for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {%>
+ <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String rawListItemType = genFeature.getRawListItemType(genClass); int index = rawListItemType.indexOf('['); String head = rawListItemType; String tail = ""; if (index != -1) { head = rawListItemType.substring(0, index); tail = rawListItemType.substring(index); } %>
+ /**
+ * The empty value for the '{@link #<%=genFeature.getGetArrayAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' array accessor.
+ * This is specialized for the more specific element type known in this context.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #<%=genFeature.getGetArrayAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (genFeature.getQualifiedListItemType(genClass).contains("<") || genFeature.getArrayItemType(genClass).contains("<")) {%>
+ @SuppressWarnings("rawtypes")
+ <%}%>
+ protected static final <%=rawListItemType%>[] <%=genFeature.getUpperName()%>_EEMPTY_ARRAY = new <%=head%> [0]<%=tail%>;
+
+ <%}%>
+ <%}%>
+ <%for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/declaredFieldGenFeature.override.javajetinc%>
+ <%}%>
+<%}%>
+<%if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final int <%=genClass.getOffsetCorrectionField(null)%> = <%=genClass.getQualifiedClassifierAccessor()%>.getFeatureID(<%=genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor()%>) - <%=genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0))%>;
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation()) {%>
+ <%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) { GenFeature reverseFeature = genFeature.getReverse();%>
+ <%if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ private static final int <%=genClass.getOffsetCorrectionField(genFeature)%> = <%=reverseFeature.getGenClass().getQualifiedClassifierAccessor()%>.getFeatureID(<%=reverseFeature.getQualifiedFeatureAccessor()%>) - <%=reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature)%>;
+
+ <%}%>
+ <%}%>
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenOperations().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final int EOPERATION_OFFSET_CORRECTION = <%=genClass.getQualifiedClassifierAccessor()%>.getOperationID(<%=genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor()%>) - <%=genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0))%>;
+
+<%}%>
+<%if (isImplementation) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.isPublicConstructors()) {%>public<%} else {%>protected<%}%> <%=genClass.getClassName()%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {%>
+ <%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG<%if (!genFeature.isBooleanType()) {%>_DEFAULT<%}%>;
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> eStaticClass()
+ {
+ return <%=genClass.getQualifiedClassifierAccessor()%>;
+ }
+
+<%}%>
+<%if (isImplementation && genModel.isDynamicDelegation()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.dynamicDelegation" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/reflectiveDelegation.override.javajetinc%>
+<%if (isImplementation) {%>
+<%new Runnable() { public void run() { GenClass classExtendsGenClass = genClass.getClassExtendsGenClass(); List<GenFeature> classExtendsAllGenFeatures = classExtendsGenClass == null? Collections.<GenFeature>emptyList() : classExtendsGenClass.getAllGenFeatures();%>
+ <%for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeatureReified.override" args="genFeature:genFeature,classExtendsGenClass:classExtendsGenClass,classExtendsAllGenFeatures:classExtendsAllGenFeatures,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genFeatureReified.override.javajetinc%>
+<%}}}.run();}%>
+<%new Runnable() { public void run() {%>
+<%for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures() : genClass.getDeclaredGenFeatures())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/genFeature.override.javajetinc%>
+<%}//for%>
+<%}}.run();%>
+<%for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations() : genClass.getDeclaredGenOperations())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/implementedGenOperation.override.javajetinc%>
+<%}//for%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useGenerics()) {%>
+ <%for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {%>
+ <%if (genFeature.isUncheckedCast(genClass)) {%>
+ @SuppressWarnings("unchecked")
+ <%break; }%>
+ <%}%>
+ <%}%>
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eInverseAdd(<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> otherEnd, int featureID, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+<%for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.isListType()) { String cast = "(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList") + (!genModel.useGenerics() ? ")" : "<" + genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject") + ">)(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList") + "<?>)");%>
+ <%if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {%>
+ return ((<%=cast%>(<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).basicAdd(otherEnd, msgs);
+ <%} else {%>
+ return (<%=cast%><%=genFeature.getGetAccessor()%>()).basicAdd(otherEnd, msgs);
+ <%}%>
+ <%} else if (genFeature.isContainer()) {%>
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ <%if (genFeature.isBasicSet()) {%>
+ return basicSet<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)otherEnd, msgs);
+ <%} else {%>
+ return eBasicSetContainer(otherEnd, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+ <%}%>
+ <%} else {%>
+ <%if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%} else if (genFeature.isVolatile() || genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = <%if (genFeature.isResolveProxies()) {%>basicGet<%=genFeature.getAccessorName()%><%} else {%><%=genFeature.getGetAccessor()%><%}%>();
+ <%}%>
+ if (<%=genFeature.getSafeName()%> != null)
+ <%if (genFeature.isEffectiveContains()) {%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs);
+ <%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ msgs = <%=genFeature.getAsInternalEObject(genFeature.getSafeName(), true)%>.eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+ <%}%>
+ return basicSet<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)otherEnd, msgs);
+ <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eInverseAdd(otherEnd, featureID, msgs);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicInverseAdd(otherEnd, featureID, msgs);
+<%}%>
+<%if (forceDefaultCase) {%>
+ }
+<%}%>
+ }
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eInverseRemove(<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> otherEnd, int featureID, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+<%for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.isListType()) {%>
+ <%if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).basicRemove(otherEnd, msgs);
+ <%} else if (genFeature.isWrappedFeatureMapType()) {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap()).basicRemove(otherEnd, msgs);
+ <%} else {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)<%=genFeature.getGetAccessor()%>()).basicRemove(otherEnd, msgs);
+ <%}%>
+ <%} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {%>
+ return eBasicSetContainer(null, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs);
+ <%} else if (genFeature.isUnsettable()) {%>
+ return basicUnset<%=genFeature.getAccessorName()%>(msgs);
+ <%} else {%>
+ return basicSet<%=genFeature.getAccessorName()%>(null, msgs);
+ <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eInverseRemove(otherEnd, featureID, msgs);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicInverseRemove(otherEnd, featureID, msgs);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eBasicRemoveFromContainerFeature(<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ switch (eContainerFeatureID()<%=negativeOffsetCorrection%>)
+ {
+<%for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {%>
+ <%GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ return eInternalContainer().eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getRawImportedInterfaceName()%>.class, msgs);
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eBasicRemoveFromContainerFeature(msgs);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicBasicRemoveFromContainer(msgs);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEGetGenFeatures())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+<%for (GenFeature genFeature : genClass.getEGetGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.isPrimitiveType()) {%>
+ <%if (isJDK50) {%>
+ return <%=genFeature.getGetAccessor()%>();
+ <%} else if (genFeature.isBooleanType()) {%>
+ return <%=genFeature.getGetAccessor()%>() ? Boolean.TRUE : Boolean.FALSE;
+ <%} else {%>
+ return new <%=genFeature.getObjectType(genClass)%>(<%=genFeature.getGetAccessor()%>());
+ <%}%>
+ <%} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {%>
+ if (resolve) return <%=genFeature.getGetAccessor()%>();
+ return basicGet<%=genFeature.getAccessorName()%>();
+ <%} else if (genFeature.isMapType()) {%>
+ <%if (genFeature.isEffectiveSuppressEMFTypes()) {%>
+ if (coreType) return ((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap();
+ else return <%=genFeature.getGetAccessor()%>();
+ <%} else {%>
+ if (coreType) return <%=genFeature.getGetAccessor()%>();
+ else return <%=genFeature.getGetAccessor()%>().map();
+ <%}%>
+ <%} else if (genFeature.isWrappedFeatureMapType()) {%>
+ if (coreType) return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap();
+ return <%=genFeature.getGetAccessor()%>();
+ <%} else if (genFeature.isFeatureMapType()) {%>
+ if (coreType) return <%=genFeature.getGetAccessor()%>();
+ return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)<%=genFeature.getGetAccessor()%>()).getWrapper();
+ <%} else {%>
+ return <%=genFeature.getGetAccessor()%>();
+ <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eGet(featureID, resolve, coreType);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicGet(featureID, resolve, coreType);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getESetGenFeatures())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useGenerics()) {%>
+ <%for (GenFeature genFeature : genClass.getESetGenFeatures()) {%>
+ <%if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType() && !genFeature.isMapType()) {%>
+ @SuppressWarnings("unchecked")
+ <%break; }%>
+ <%}%>
+ <%}%>
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID<%=negativeOffsetCorrection%>)
+ {
+ <%for (GenFeature genFeature : genClass.getESetGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%if (genFeature.isListType()) {%>
+ <%if (genFeature.isWrappedFeatureMapType()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap()).set(newValue);
+ <%} else if (genFeature.isFeatureMapType()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)<%=genFeature.getGetAccessor()%>()).set(newValue);
+ <%} else if (genFeature.isMapType()) {%>
+ <%if (genFeature.isEffectiveSuppressEMFTypes()) {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Setting)((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).set(newValue);
+ <%} else {%>
+ ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Setting)<%=genFeature.getGetAccessor()%>()).set(newValue);
+ <%}%>
+ <%} else {%>
+ <%=genFeature.getGetAccessor()%>().clear();
+ <%=genFeature.getGetAccessor()%>().addAll((<%=genModel.getImportedName("java.util.Collection")%><%if (isJDK50) {%><? extends <%=genFeature.getListItemType(genClass)%>><%}%>)newValue);
+ <%}%>
+ <%} else if (!isJDK50 && genFeature.isPrimitiveType()) {%>
+ set<%=genFeature.getAccessorName()%>(((<%=genFeature.getObjectType(genClass)%>)newValue).<%=genFeature.getPrimitiveValueFunction()%>());
+ <%} else {%>
+ set<%=genFeature.getAccessorName()%>(<%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType() || !genFeature.getRawType().equals(genFeature.getType(genClass))) {%>(<%=genFeature.getObjectType(genClass)%>)<%}%>newValue);
+ <%}%>
+ return;
+ <%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+ <%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> super.eSet(featureID, newValue);
+<%if (forceDefaultCase) {%>
+ return;
+<%}%>
+ <%} else {%>
+<%=indentDefaultCase%> eDynamicSet(featureID, newValue);
+<%if (forceDefaultCase) {%>
+ return;
+<%}%>
+ <%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEUnsetGenFeatures())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/eUnset.override.javajetinc%>
+<%}%>
+<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEIsSetGenFeatures())) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%><%//Class/eIsSet.override.javajetinc%>
+<%}%>
+<%if (isImplementation && (!genClass.getMixinGenFeatures().isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty())) {%>
+ <%if (!genClass.getMixinGenFeatures().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<%=singleWildcard%> baseClass)
+ {
+ <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+ if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (derivedFeatureID<%=negativeOffsetCorrection%>)
+ {
+ <%for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>: return <%=mixinGenClass.getQualifiedFeatureID(genFeature)%>;
+ <%}%>
+ default: return -1;
+ }
+ }
+ <%}%>
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+ <%}%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<%=singleWildcard%> baseClass)
+ {
+ <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+ if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (baseFeatureID)
+ {
+ <%for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {%>
+ case <%=mixinGenClass.getQualifiedFeatureID(genFeature)%>: return <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>;
+ <%}%>
+ default: return -1;
+ }
+ }
+ <%}%>
+ <%if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {%>
+ if (baseClass == <%=genClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (baseFeatureID<%=negativeOffsetCorrection%>)
+ {
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>: return <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>;
+ <%}%>
+ default: return -1;
+ }
+ }
+ <%}%>
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && (!genClass.getMixinGenOperations().isEmpty() || !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(), genClass.getImplementedGenOperations()).isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public int eDerivedOperationID(int baseOperationID, Class<%=singleWildcard%> baseClass)
+ {
+ <%for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) { List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations(); List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();%>
+ <%if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations).isEmpty()) {%>
+ if (baseClass == <%=extendedGenClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (baseOperationID)
+ {
+ <%for (GenOperation genOperation : extendedImplementedGenOperations) { GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+ <%if (implementedGenOperations.contains(overrideGenOperation)) {%>
+ case <%=extendedGenClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(overrideGenOperation)%><%=positiveOperationOffsetCorrection%>;
+ <%}%>
+ <%}%>
+ default: return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ <%}%>
+ <%}%>
+ <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%>
+ if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (baseOperationID)
+ {
+ <%for (GenOperation genOperation : mixinGenClass.getGenOperations()) { GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+ case <%=mixinGenClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation)%><%=positiveOperationOffsetCorrection%>;
+ <%}%>
+ default: return -1;
+ }
+ }
+ <%}%>
+ <%if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {%>
+ if (baseClass == <%=genClass.getRawImportedInterfaceName()%>.class)
+ {
+ switch (baseOperationID<%=negativeOperationOffsetCorrection%>)
+ {
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+ case <%=genClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(genOperation)%><%=positiveOperationOffsetCorrection%>;
+ <%}%>
+ default: return -1;
+ }
+ }
+ <%}%>
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+<%}%>
+<%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%>
+ <%if (eVirtualValuesField != null) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected Object[] eVirtualValues()
+ {
+ return <%=eVirtualValuesField%>;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected void eSetVirtualValues(Object[] newValues)
+ {
+ <%=eVirtualValuesField%> = newValues;
+ }
+
+ <%}%>
+ <%{ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());%>
+ <%if (!eVirtualIndexBitFields.isEmpty()) { List<String> allEVirtualIndexBitFields = genClass.getAllEVirtualIndexBitFields(new ArrayList<String>());%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected int eVirtualIndexBits(int offset)
+ {
+ switch (offset)
+ {
+ <%for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {%>
+ case <%=i%> :
+ return <%=allEVirtualIndexBitFields.get(i)%>;
+ <%}%>
+ default :
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected void eSetVirtualIndexBits(int offset, int newIndexBits)
+ {
+ switch (offset)
+ {
+ <%for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {%>
+ case <%=i%> :
+ <%=allEVirtualIndexBitFields.get(i)%> = newIndexBits;
+ break;
+ <%}%>
+ default :
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+ <%}%>
+ <%}%>
+<%}%>
+<%if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ <%if (genModel.useGenerics()) {%>
+ <%boolean isUnchecked = false; boolean isRaw = false; LOOP: for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) { for (GenParameter genParameter : genOperation.getGenParameters()) { if (genParameter.isUncheckedCast()) { if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType()) { isUnchecked = true; } if (genParameter.usesOperationTypeParameters() && !genParameter.getEcoreParameter().getEGenericType().getETypeArguments().isEmpty()) { isRaw = true; break LOOP; }}}}%>
+ <%if (isUnchecked) {%>
+ @SuppressWarnings(<%if (!isRaw) {%>"unchecked"<%} else {%>{"rawtypes", "unchecked" }<%}%>)
+ <%}%>
+ <%}%>
+ public Object eInvoke(int operationID, <%=genModel.getImportedName("org.eclipse.emf.common.util.EList")%><%=singleWildcard%> arguments) throws <%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%>
+ {
+ switch (operationID<%=negativeOperationOffsetCorrection%>)
+ {
+<%for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) { List<GenParameter> genParameters = genOperation.getGenParameters(); int size = genParameters.size(); boolean hasCheckedException = genOperation.hasCheckedException(); String indent = hasCheckedException ? "\t" : ""; GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+ case <%=genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation)%>:
+ <%if (hasCheckedException) {%>
+ try
+ {
+ <%/*}*/}%>
+ <%if (genOperation.isVoid()) {%>
+ <%=indent%><%=genOperation.getName()%>(<%for (int i = 0; i < size; i++) { GenParameter genParameter = genParameters.get(i);%><%if (!isJDK50 && genParameter.isPrimitiveType()) {%>(<%}%><%if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType() || !genParameter.usesOperationTypeParameters() && !genParameter.getRawType().equals(genParameter.getType(genClass))) {%>(<%=genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType() : genParameter.getObjectType(genClass)%>)<%}%>arguments.get(<%=i%>)<%if (!isJDK50 && genParameter.isPrimitiveType()) {%>).<%=genParameter.getPrimitiveValueFunction()%>()<%}%><%if (i < (size - 1)) {%>, <%}%><%}%>);
+ <%=indent%>return null;
+ <%} else {%>
+ <%=indent%>return <%if (!isJDK50 && genOperation.isPrimitiveType()) {%>new <%=genOperation.getObjectType(genClass)%>(<%}%><%=genOperation.getName()%>(<%for (int i = 0; i < size; i++) { GenParameter genParameter = genParameters.get(i);%><%if (!isJDK50 && genParameter.isPrimitiveType()) {%>(<%}%><%if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType() || !genParameter.usesOperationTypeParameters() && !genParameter.getRawType().equals(genParameter.getType(genClass))) {%>(<%=genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType() : genParameter.getObjectType(genClass)%>)<%}%>arguments.get(<%=i%>)<%if (!isJDK50 && genParameter.isPrimitiveType()) {%>).<%=genParameter.getPrimitiveValueFunction()%>()<%}%><%if (i < (size - 1)) {%>, <%}%><%}%>)<%if (!isJDK50 && genOperation.isPrimitiveType()) {%>)<%}%>;
+ <%}%>
+ <%if (hasCheckedException) {/*{*/%>
+ }
+ catch (<%=genModel.getImportedName("java.lang.Throwable")%> throwable)
+ {
+ throw new <%=genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException")%>(throwable);
+ }
+ <%}%>
+<%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%if (genModel.isMinimalReflectiveMethods()) {%>
+<%=indentDefaultCase%> return super.eInvoke(operationID, arguments);
+<%} else {%>
+<%=indentDefaultCase%> return eDynamicInvoke(operationID, arguments);
+<%}%>
+<%if (forceDefaultCase) { // {%>
+ }
+<%} // }%>
+ }
+
+<%}%>
+<%if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation() && !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ <%=genModel.useGenerics() ? "StringBuilder" : "StringBuffer"%> result = new <%=genModel.useGenerics() ? "StringBuilder" : "StringBuffer"%>(super.toString());
+ <%{ boolean first = true;%>
+ <%for (GenFeature genFeature : genClass.getToStringGenFeatures()) {%>
+ <%if (first) { first = false;%>
+ result.append(" (<%=genFeature.getName()%>: ");<%=genModel.getNonNLS()%>
+ <%} else {%>
+ result.append(", <%=genFeature.getName()%>: ");<%=genModel.getNonNLS()%>
+ <%}%>
+ <%if (genFeature.isUnsettable() && !genFeature.isListType()) {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ if (eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>)) result.append(eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>)); else result.append("<unset>");<%=genModel.getNonNLS()%>
+ <%} else {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0); else result.append("<unset>");<%=genModel.getNonNLS()%>
+ <%} else {%>
+ if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append(<%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET]); else result.append("<unset>");<%=genModel.getNonNLS()%>
+ <%}%>
+ <%} else {%>
+ if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append(<%=genFeature.getSafeName()%>); else result.append("<unset>");<%=genModel.getNonNLS()%>
+ <%}%>
+ <%}%>
+ <%} else {%>
+ <%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%>
+ result.append(eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (!genFeature.isListType() && !genFeature.isReferenceType()){%>, <%=genFeature.getEDefault()%><%}%>));
+ <%} else {%>
+ <%if (genClass.isFlag(genFeature)) {%>
+ <%if (genFeature.isBooleanType()) {%>
+ result.append((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0);
+ <%} else {%>
+ result.append(<%=genFeature.getUpperName()%>_EFLAG_VALUES[(<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) >>> <%=genFeature.getUpperName()%>_EFLAG_OFFSET]);
+ <%}%>
+ <%} else {%>
+ result.append(<%=genFeature.getSafeName()%>);
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ result.append(')');
+ return result.toString();
+ }
+
+<%}%>
+<%if (isImplementation && genClass.isMapEntry()) { GenFeature keyFeature = genClass.getMapEntryKeyFeature(); GenFeature valueFeature = genClass.getMapEntryValueFeature();%>
+<%String objectType = genModel.getImportedName("java.lang.Object");%>
+<%String keyType = isJDK50 ? keyFeature.getObjectType(genClass) : objectType;%>
+<%String valueType = isJDK50 ? valueFeature.getObjectType(genClass) : objectType;%>
+<%String eMapType = genModel.getImportedName("org.eclipse.emf.common.util.EMap") + (isJDK50 ? "<" + keyType + ", " + valueType + ">" : "");%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (isGWT) {%>
+ @<%=genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient")%>
+ <%}%>
+ protected int hash = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public int getHash()
+ {
+ if (hash == -1)
+ {
+ <%=objectType%> theKey = getKey();
+ hash = (theKey == null ? 0 : theKey.hashCode());
+ }
+ return hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public void setHash(int hash)
+ {
+ this.hash = hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=keyType%> getKey()
+ {
+ <%if (!isJDK50 && keyFeature.isPrimitiveType()) {%>
+ return new <%=keyFeature.getObjectType(genClass)%>(getTypedKey());
+ <%} else {%>
+ return getTypedKey();
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public void setKey(<%=keyType%> key)
+ {
+ <%if (keyFeature.isListType()) {%>
+ getTypedKey().addAll(<%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("java.util.Collection")%>)<%}%>key);
+ <%} else if (isJDK50) {%>
+ setTypedKey(key);
+ <%} else if (keyFeature.isPrimitiveType()) {%>
+ setTypedKey(((<%=keyFeature.getObjectType(genClass)%>)key).<%=keyFeature.getPrimitiveValueFunction()%>());
+ <%} else {%>
+ setTypedKey((<%=keyFeature.getImportedType(genClass)%>)key);
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=valueType%> getValue()
+ {
+ <%if (!isJDK50 && valueFeature.isPrimitiveType()) {%>
+ return new <%=valueFeature.getObjectType(genClass)%>(getTypedValue());
+ <%} else {%>
+ return getTypedValue();
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=valueType%> setValue(<%=valueType%> value)
+ {
+ <%=valueType%> oldValue = getValue();
+ <%if (valueFeature.isListType()) {%>
+ getTypedValue().clear();
+ getTypedValue().addAll(<%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("java.util.Collection")%>)<%}%>value);
+ <%} else if (isJDK50) {%>
+ setTypedValue(value);
+ <%} else if (valueFeature.isPrimitiveType()) {%>
+ setTypedValue(((<%=valueFeature.getObjectType(genClass)%>)value).<%=valueFeature.getPrimitiveValueFunction()%>());
+ <%} else {%>
+ setTypedValue((<%=valueFeature.getImportedType(genClass)%>)value);
+ <%}%>
+ return oldValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useGenerics()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ public <%=eMapType%> getEMap()
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%> container = eContainer();
+ return container == null ? null : (<%=eMapType%>)container.eGet(eContainmentFeature());
+ }
+
+<%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+} //<%=isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName()%>
+<%// TODO fix the space above%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._SrmlGGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._SrmlGGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..679b58867
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._SrmlGGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenClass genClass = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genClass,Boolean.TRUE,Boolean.FALSE}})[0];
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._08zr2WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._08zr2WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._08zr2WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._9S7thHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._9S7thHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..d3a7554b3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._9S7thHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genPackage.hasClassifiers() && !genModel.isSuppressEMFMetaData() && !genModel.isSuppressInterfaces());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsMzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsNTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsNTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgCsNTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..c6fdc920b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getReflectionPackageName();
+className = genPackage.getPackageInterfaceName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..90684dd9d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._PgL2IjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,1348 @@
+
+<%
+/**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%final GenPackage genPackage = (GenPackage)((Object[])argument)[0]; final GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]); boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%boolean packageNeedsSuppressDeprecation = isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getOrderedGenClassifiers()) && !genPackage.hasAPIDeprecatedTag() && !genModel.isSuppressEMFMetaData();%>
+<%String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+<%boolean needsAddEOperation = false;%>
+<%boolean needsAddEParameter = false;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+<%if (isImplementation && !genModel.isSuppressInterfaces()) {%>
+package <%=genPackage.getClassPackageName()%>;
+<%} else {%>
+package <%=genPackage.getReflectionPackageName()%>;
+<%}%>
+
+<%genModel.markImportLocation(stringBuffer, genPackage);%>
+<%if (isImplementation) {%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Registry");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Descriptor");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.EPackageImpl.EBasicWhiteList");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");%>
+ <%if (genPackage.isLiteralsInterface()) {%>
+<%genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + ".Literals");%>
+ <%}%>
+<%for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + "." + genPackage.getClassifierID(genClassifier));%>
+<%}%>
+<%if (isInterface) {%>
+
+/**
+ * <!-- 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>
+ <%if (genModel.isOperationReflection()) {%>
+ * <li>each operation of each class,</li>
+ <%}%>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+<%if (genPackage.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genPackage.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+<%}%>
+ * @see <%=genPackage.getQualifiedFactoryInterfaceName()%>
+ <%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genPackage.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+ <%} else {%>
+ * <%=modelInfo%>
+ <%}} if (first) {%>
+ * @model
+ <%}}%>
+ * @generated
+ */
+<%} else {%>
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+ <%if (packageNeedsSuppressDeprecation) {%>
+@SuppressWarnings("deprecation")
+ <%}%>
+public class <%=genPackage.getPackageClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl")%><%if (!isInterface){%> implements <%=genPackage.getImportedPackageInterfaceName()%><%}%>
+<%} else {%>
+public interface <%=genPackage.getPackageInterfaceName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isInterface) {%>
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNAME = "<%=genPackage.getPackageName()%>";<%=genModel.getNonNLS()%>
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_URI = "<%=genPackage.getNSURI()%>";<%=genModel.getNonNLS()%>
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_PREFIX = "<%=genPackage.getNSName()%>";<%=genModel.getNonNLS()%>
+ <%if (genPackage.isContentType()) {%>
+
+ /**
+ * The package content type ID.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eCONTENT_TYPE = "<%=genPackage.getContentTypeIdentifier()%>";<%=genModel.getNonNLS()%>
+ <%}%>
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genPackage.getPackageInterfaceName()%> eINSTANCE = <%=genPackage.getQualifiedPackageClassName()%>.init();
+
+ <%for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {%>
+ /**
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%if (!genClass.isInterface()) {%>
+ * The meta object id for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getQualifiedClassName()%>
+ <%} else {%>
+ * The meta object id for the '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>
+ <%}%>
+ <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+ * The meta object id for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genEnum.getQualifiedName()%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ * The meta object id for the '<em><%=genDataType.getFormattedName()%></em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+ * @see <%=genDataType.getRawInstanceClassName()%>
+ <%}%>
+ <%}%>
+ * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
+ <%if (genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genPackage.getClassifierID(genClassifier)%> = <%=genPackage.getClassifierValue(genClassifier)%>;
+
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%for (GenFeature genFeature : genClass.getAllGenFeatures()) {%>
+ /**
+ * The feature id for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getFeatureID(genFeature)%> = <%=genClass.getFeatureValue(genFeature)%>;
+
+ <%}%>
+ /**
+ * The number of structural features of the '<em><%=genClass.getFormattedName()%></em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getFeatureCountID()%> = <%=genClass.getFeatureCountValue()%>;
+
+ <%if (genModel.isOperationReflection()) {%>
+ <%for (GenOperation genOperation : genClass.getAllGenOperations(false)) {%>
+ <%if (genClass.getOverrideGenOperation(genOperation) == null) {%>
+ /**
+ * The operation id for the '<em><%=genOperation.getFormattedName()%></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getOperationID(genOperation, false)%> = <%=genClass.getOperationValue(genOperation)%>;
+
+ <%}%>
+ <%}%>
+ /**
+ * The number of operations of the '<em><%=genClass.getFormattedName()%></em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getOperationCountID()%> = <%=genClass.getOperationCountValue()%>;
+
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%if (isImplementation) {%>
+ <%if (genPackage.isLoadingInitialization()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String packageFilename = "<%=genPackage.getSerializedPackageFilename()%>";<%=genModel.getNonNLS()%>
+
+ <%}%>
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClassifier.hasAPITags(true)) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer), true)%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ private <%=genClassifier.getImportedMetaType()%> <%=genClassifier.getClassifierInstanceName()%> = null;
+
+ <%}%>
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private <%=genPackage.getPackageClassName()%>()
+ {
+ super(eNS_URI, <%=genPackage.getQualifiedEFactoryInstanceAccessor()%>);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link <%=genPackage.getImportedPackageInterfaceName()%>#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ <%}%>
+ * @generated
+ */
+ public static <%=genPackage.getImportedPackageInterfaceName()%> init()
+ {
+ if (isInited) return (<%=genPackage.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI);
+
+ <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+ initializeRegistryHelpers();
+
+ <%}%>
+ // Obtain or create and register package
+ Object registered<%=genPackage.getBasicPackageName()%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.get(eNS_URI);
+ <%=genPackage.getPackageClassName()%> the<%=genPackage.getBasicPackageName()%> = registered<%=genPackage.getBasicPackageName()%> instanceof <%=genPackage.getPackageClassName()%> ? (<%=genPackage.getPackageClassName()%>)registered<%=genPackage.getBasicPackageName()%> : new <%=genPackage.getPackageClassName()%>();
+
+ isInited = true;
+
+ <%if (!genPackage.getPackageSimpleDependencies().isEmpty()) {%>
+ // Initialize simple dependencies
+ <%for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {%>
+ <%=dep.getImportedPackageInterfaceName()%>.eINSTANCE.eClass();
+ <%}%>
+
+ <%}%>
+ <%if (!genPackage.getPackageInterDependencies().isEmpty()) {%>
+ // Obtain or create and register interdependencies
+ <%for (ListIterator<GenPackage> i = genPackage.getPackageInterDependencies().listIterator(); i.hasNext(); ) { GenPackage interdep = i.next(); %>
+ <%if (i.previousIndex() == 0) {%>Object <%}%>registeredPackage = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=interdep.getImportedPackageInterfaceName()%>.eNS_URI);
+ <%=interdep.getImportedPackageClassName()%> <%=genPackage.getPackageInstanceVariable(interdep)%> = (<%=interdep.getImportedPackageClassName()%>)(registeredPackage instanceof <%=interdep.getImportedPackageClassName()%> ? registeredPackage : <%=interdep.getImportedPackageInterfaceName()%>.eINSTANCE);
+ <%}%>
+
+ <%}%>
+ <%if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {%>
+ // Load packages
+ <%if (genPackage.isLoadingInitialization()) {%>
+ the<%=genPackage.getBasicPackageName()%>.loadPackage();
+ <%}%>
+ <%for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {%>
+ <%if (interdep.isLoadingInitialization()) {%>
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.loadPackage();
+ <%}%>
+ <%}%>
+
+ <%}%>
+ <%if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {%>
+ // Create package meta-data objects
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ the<%=genPackage.getBasicPackageName()%>.createPackageContents();
+ <%}%>
+ <%for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {%>
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.createPackageContents();
+ <%}%>
+
+ // Initialize created meta-data
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ the<%=genPackage.getBasicPackageName()%>.initializePackageContents();
+ <%}%>
+ <%for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {%>
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.initializePackageContents();
+ <%}%>
+
+ <%}%>
+ <%if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {%>
+ // Fix loaded packages
+ <%if (genPackage.isLoadedInitialization()) {%>
+ the<%=genPackage.getBasicPackageName()%>.fixPackageContents();
+ <%}%>
+ <%for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {%>
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.fixPackageContents();
+ <%}%>
+
+ <%}%>
+ <%if (genPackage.hasConstraints()) {%>
+ // Register package validator
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Registry.INSTANCE.put
+ (the<%=genPackage.getBasicPackageName()%>,
+ new <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Descriptor()
+ {
+ <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%> getEValidator()
+ {
+ return <%=genPackage.getImportedValidatorClassName()%>.INSTANCE;
+ }
+ });
+
+ <%}%>
+ <%if (!genPackage.isEcorePackage()) {%>
+ // Mark meta-data to indicate it can't be changed
+ the<%=genPackage.getBasicPackageName()%>.freeze();
+
+ <%}%>
+ // Update the registry and return the package
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.put(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI, the<%=genPackage.getBasicPackageName()%>);
+ return the<%=genPackage.getBasicPackageName()%>;
+ }
+ <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static void initializeRegistryHelpers()
+ {
+ <%Set<String> helpers = new HashSet<String>(); for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%if (!genClass.isDynamic()) { String theClass = genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getRawImportedInterfaceName(); if (helpers.add(theClass)) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.register
+ (<%=theClass%>.class,
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.Helper()
+ {
+ public boolean isInstance(Object instance)
+ {
+ return instance instanceof <%=genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getRawImportedInterfaceName() + genClass.getInterfaceWildTypeArguments()%>;
+ }
+
+ public Object newArrayInstance(int size)
+ {
+ return new <%=theClass%>[size];
+ }
+ });
+ <%}}%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ <%if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) { String theClass = genDataType.getRawImportedInstanceClassName(); if (helpers.add(theClass)) { %>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.register
+ (<%=theClass%>.class,
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.Helper()
+ {
+ public boolean isInstance(Object instance)
+ {
+ return instance instanceof <%=theClass%>;
+ }
+
+ public Object newArrayInstance(int size)
+ {
+ <%if (genDataType.isArrayType()) { String componentType = theClass; String indices = ""; while(componentType.endsWith("[]")) { componentType = componentType.substring(0, componentType.length() - 2); indices += "[]";}%>
+ return new <%=componentType%>[size]<%=indices%>;
+ <%} else {%>
+ return new <%=theClass%>[size];
+ <%}%>
+ }
+ });
+ <%}}%>
+ <%}%>
+ <%}%>
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class WhiteList implements <%=genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable")%>, EBasicWhiteList
+ {
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%if (!genClass.isDynamic()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getImportedWildcardInstanceClassName()%> <%=genClass.getSafeUncapName()%>;
+
+ <%}%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ <%if (!genDataType.isObjectType() && genDataType.isSerializable()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genDataType.getImportedWildcardInstanceClassName()%> <%=genDataType.getSafeUncapName()%>;
+
+ <%}%>
+ <%}%>
+ <%}%>
+ }
+ <%}%>
+
+<%}%>
+<%if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE%>
+
+<%}%>
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+<%if (isInterface) {%>
+ /**
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ * Returns the meta object for class '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em><%=genClass.getFormattedName()%></em>'.
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>
+ <%if (!genModel.isSuppressEMFModelTags() && (genClass.isExternalInterface() || genClass.isDynamic())) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+ <%} else {%>
+ * <%=modelInfo%>
+ <%}} if (first) {%>
+ * @model
+ <%}}%>
+ <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+ * Returns the meta object for enum '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em><%=genEnum.getFormattedName()%></em>'.
+ * @see <%=genEnum.getQualifiedName()%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ <%if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {%>
+ * Returns the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
+ <%} else {%>
+ * Returns the meta object for data type '{@link <%=genDataType.getRawInstanceClassName()%> <em><%=genDataType.getFormattedName()%></em>}'.
+ <%}%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genDataType.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+ <%}%>
+ * @return the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
+ <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+ * @see <%=genDataType.getRawInstanceClassName()%>
+ <%}%>
+ <%if (!genModel.isSuppressEMFModelTags()) {boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genDataType.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
+ * @model <%=modelInfo%>
+ <%} else {%>
+ * <%=modelInfo%>
+ <%}} if (first) {%>
+ * @model
+ <%}}%>
+ <%}%>
+ <%if ((genClassifier instanceof GenClass || genClassifier instanceof GenEnum) && genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%}%>
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>()
+ {
+ <%if (genPackage.isLoadedInitialization()) {%>
+ if (<%=genClassifier.getClassifierInstanceName()%> == null)
+ {
+ <%=genClassifier.getClassifierInstanceName()%> = (<%=genClassifier.getImportedMetaType()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI).getEClassifiers().get(<%=genPackage.getLocalClassifierIndex(genClassifier)%>);
+ }
+ <%}%>
+ return <%=genClassifier.getClassifierInstanceName()%>;
+ }
+
+<%} else {%>
+ <%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>();
+
+<%}%>
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+<%if (isInterface) {%>
+ /**
+ * Returns the meta object for the <%=genFeature.getFeatureKind()%> '{@link <%=genClass.getRawQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%><%}%> <em><%=genFeature.getFormattedName()%></em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the <%=genFeature.getFeatureKind()%> '<em><%=genFeature.getFormattedName()%></em>'.
+ * @see <%=genClass.getRawQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%>()<%}%>
+ * @see #get<%=genClass.getClassifierAccessorName()%>()
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>()
+ {
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ return (<%=genFeature.getImportedMetaType()%>)<%=genClass.getClassifierInstanceName()%>.getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
+ <%} else {%>
+ return (<%=genFeature.getImportedMetaType()%>)get<%=genClassifier.getClassifierAccessorName()%>().getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
+ <%}%>
+ }
+<%} else {%>
+ <%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>();
+<%}%>
+
+ <%}%>
+ <%if (genModel.isOperationReflection()) {%>
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+<%if (isInterface) {%>
+ /**
+ * Returns the meta object for the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em><%=genOperation.getFormattedName()%></em>' operation.
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>()
+ {
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ return <%=genClass.getClassifierInstanceName()%>.getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>);
+ <%} else {%>
+ return get<%=genClassifier.getClassifierAccessorName()%>().getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>);
+ <%}%>
+ }
+<%} else {%>
+ <%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>();
+<%}%>
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+<%if (isInterface) {%>
+ /**
+ * 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
+ */
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genPackage.getImportedFactoryInterfaceName()%> get<%=genPackage.getFactoryName()%>()
+ {
+ return (<%=genPackage.getImportedFactoryInterfaceName()%>)getEFactoryInstance();
+ }
+<%} else {%>
+ <%=genPackage.getFactoryInterfaceName()%> get<%=genPackage.getFactoryName()%>();
+<%}%>
+
+<%if (isImplementation) {%>
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%{boolean needsSuppressDeprecation = false; if (!packageNeedsSuppressDeprecation && isJDK50 && !genModel.isSuppressEMFMetaData()) { LOOP: for (GenClass genClass : genPackage.getGenClasses()) { for (GenFeature genFeature : genClass.getGenFeatures()) { if (genFeature.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}
+ for (GenOperation genOperation : genClass.getGenOperations()) { if (genOperation.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}} if (needsSuppressDeprecation) {%>
+ @SuppressWarnings("deprecation")
+ <%}}}%>
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
+ <%if (!genPackage.getGenClasses().isEmpty()) {%>
+
+ // Create classes and their features
+ <%for (Iterator<GenClass> c=genPackage.getGenClasses().iterator(); c.hasNext();) { GenClass genClass = c.next();%>
+ <%=genClass.getClassifierInstanceName()%> = create<%=genClass.getMetaType()%>(<%=genClass.getClassifierID()%>);
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ create<%=genFeature.getMetaType()%>(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getFeatureID(genFeature)%>);
+ <%}%>
+ <%if (genModel.isOperationReflection()) {%>
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+ createEOperation(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getOperationID(genOperation, false)%>);
+ <%}%>
+ <%}%>
+ <%if (c.hasNext()) {%>
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getGenEnums().isEmpty()) {%>
+
+ // Create enums
+ <%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
+ <%=genEnum.getClassifierInstanceName()%> = createEEnum(<%=genEnum.getClassifierID()%>);
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getGenDataTypes().isEmpty()) {%>
+
+ // Create data types
+ <%for (GenDataType genDataType : genPackage.getGenDataTypes()) {%>
+ <%=genDataType.getClassifierInstanceName()%> = createEDataType(<%=genDataType.getClassifierID()%>);
+ <%}%>
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+<%
+///////////////////////
+class Information
+{
+ @SuppressWarnings("unused")
+ EGenericType eGenericType;
+ int depth;
+ String type;
+ String accessor;
+}
+
+class InformationIterator
+{
+ Iterator<Object> iterator;
+ InformationIterator(EGenericType eGenericType)
+ {
+ iterator = EcoreUtil.getAllContents(Collections.singleton(eGenericType));
+ }
+
+ boolean hasNext()
+ {
+ return iterator.hasNext();
+ }
+
+ Information next()
+ {
+ Information information = new Information();
+ EGenericType eGenericType = information.eGenericType = (EGenericType)iterator.next();
+ for (EObject container = eGenericType.eContainer(); container instanceof EGenericType; container = container.eContainer())
+ {
+ ++information.depth;
+ }
+ if (eGenericType.getEClassifier() != null )
+ {
+ GenClassifier genClassifier = genModel.findGenClassifier(eGenericType.getEClassifier());
+ information.type = genPackage.getPackageInstanceVariable(genClassifier.getGenPackage()) + ".get" + genClassifier.getClassifierAccessorName() + "()";
+ }
+ else if (eGenericType.getETypeParameter() != null)
+ {
+ ETypeParameter eTypeParameter = eGenericType.getETypeParameter();
+ if (eTypeParameter.eContainer() instanceof EClass)
+ {
+ information.type = genModel.findGenClassifier((EClass)eTypeParameter.eContainer()).getClassifierInstanceName() + "_" + eGenericType.getETypeParameter().getName();
+ }
+ else
+ {
+ information.type = "t" + (((EOperation)eTypeParameter.eContainer()).getETypeParameters().indexOf(eTypeParameter) + 1);
+ }
+ }
+ else
+ {
+ information.type ="";
+ }
+ if (information.depth > 0)
+ {
+ if (eGenericType.eContainmentFeature().isMany())
+ {
+ information.accessor = "getE" + eGenericType.eContainmentFeature().getName().substring(1) + "().add";
+ }
+ else
+ {
+ information.accessor = "setE" + eGenericType.eContainmentFeature().getName().substring(1);
+ }
+ }
+ return information;
+ }
+}
+///////////////////////
+int maxGenericTypeAssignment = 0;
+%>
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%{boolean needsSuppressDeprecation = false; if (!packageNeedsSuppressDeprecation && isJDK50) { LOOP: for (GenEnum genEnum : genPackage.getGenEnums()) { for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) { if (genEnumLiteral.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}} if (needsSuppressDeprecation) {%>
+ @SuppressWarnings("deprecation")
+ <%}}}%>
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+ <%if (!genPackage.getPackageInitializationDependencies().isEmpty()) {%>
+
+ // Obtain other dependent packages
+ <%for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {%>
+ <%=dep.getImportedPackageInterfaceName()%> <%=genPackage.getPackageInstanceVariable(dep)%> = (<%=dep.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=dep.getImportedPackageInterfaceName()%>.eNS_URI);
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getSubGenPackages().isEmpty()) {%>
+
+ // Add subpackages
+ <%for (GenPackage sub : genPackage.getSubGenPackages()) {%>
+ getESubpackages().add(<%=genPackage.getPackageInstanceVariable(sub)%>);
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getGenClasses().isEmpty()) { boolean firstOperationAssignment = true; int maxTypeParameterAssignment = 0;%>
+ <%if (genModel.useGenerics()) {%>
+
+ // Create type parameters
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {%>
+ <%if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty() || genTypeParameter.isUsed()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter")%> <%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%> = addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+ <%} else {%>
+ addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (genModel.useGenerics()) {%>
+
+ // Set bounds for type parameters
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {%>
+ <%for (EGenericType bound : genTypeParameter.getEcoreTypeParameter().getEBounds()) {%>
+ <%for (InformationIterator i=new InformationIterator(bound); i.hasNext(); ) { Information info = i.next(); String prefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ <%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%>.getEBounds().add(g1);
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+
+ // Add supertypes to classes
+ <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ <%if (!genClass.hasGenericSuperTypes()) {%>
+ <%for (GenClass baseGenClass : genClass.getBaseGenClasses()) {%>
+ <%=genClass.getClassifierInstanceName()%>.getESuperTypes().add(<%=genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage())%>.get<%=baseGenClass.getClassifierAccessorName()%>());
+ <%}%>
+ <%} else {%>
+ <%for (EGenericType superType : genClass.getEcoreClass().getEGenericSuperTypes()) {%>
+ <%for (InformationIterator i=new InformationIterator(superType); i.hasNext(); ) { Information info = i.next(); String prefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ <%=genClass.getClassifierInstanceName()%>.getEGenericSuperTypes().add(g1);
+ <%}%>
+ <%}%>
+ <%}%>
+
+ // Initialize classes<%if (genModel.isOperationReflection()) {%>, features, and operations; add parameters<%} else {%> and features; add operations and parameters<%}%>
+ <%for (Iterator<GenClass> c=genPackage.getGenClasses().iterator(); c.hasNext();) { GenClass genClass = c.next(); boolean hasInstanceTypeName = genModel.useGenerics() && genClass.getEcoreClass().getInstanceTypeName() != null && genClass.getEcoreClass().getInstanceTypeName().contains("<");%>
+ initEClass(<%=genClass.getClassifierInstanceName()%>, <%if (genClass.isDynamic()) {%>null<%} else {%><%=genClass.getRawImportedInterfaceName()%>.class<%}%>, "<%=genClass.getName()%>", <%=genClass.getAbstractFlag()%>, <%=genClass.getInterfaceFlag()%>, <%=genClass.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genClass.getEcoreClass().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=genModel.getNonNLS(2)%><%}%>
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ <%if (genFeature.hasGenericType()) {%>
+ <%for (InformationIterator i=new InformationIterator(genFeature.getEcoreFeature().getEGenericType()); i.hasNext(); ) { Information info = i.next(); String prefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (genFeature.isReferenceType()) { GenFeature reverseGenFeature = genFeature.getReverse();%>
+ <%String reverse = reverseGenFeature == null ? "null" : genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage()) + ".get" + reverseGenFeature.getFeatureAccessorName() + "()";%>
+ initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, <%=reverse%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+ <%for (GenFeature keyFeature : genFeature.getKeys()) {%>
+ get<%=genFeature.getFeatureAccessorName()%>().getEKeys().add(<%=genPackage.getPackageInstanceVariable(keyFeature.getGenPackage())%>.get<%=keyFeature.getFeatureAccessorName()%>());
+ <%}%>
+ <%} else {%>
+ initEAttribute(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getIDFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+ <%}%>
+ <%}%>
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {String prefix = ""; if (genOperation.hasGenericType() || !genOperation.getGenParameters().isEmpty() || !genOperation.getGenExceptions().isEmpty() || !genOperation.getGenTypeParameters().isEmpty()) { if (firstOperationAssignment) { firstOperationAssignment = false; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EOperation") + " op = "; } else { prefix = "op = "; }} %>
+
+ <%if (genModel.useGenerics()) {%>
+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%if (genOperation.isVoid() || genOperation.hasGenericType()) {%>null<%} else {%><%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>()<%}%>, "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+ <%} else if (!genOperation.isVoid()) {%>
+ <%if (!genOperation.getEcoreOperation().isOrdered() || !genOperation.getEcoreOperation().isUnique()) { needsAddEOperation = true;%>
+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+ <%} else {%>
+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>);<%=genModel.getNonNLS()%>
+ <%}%>
+ <%} else {%>
+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, null, "<%=genOperation.getName()%>");<%=genModel.getNonNLS()%>
+ <%}%>
+ <%if (genModel.useGenerics()) {%>
+ <%for (ListIterator<GenTypeParameter> t=genOperation.getGenTypeParameters().listIterator(); t.hasNext(); ) { GenTypeParameter genTypeParameter = t.next(); String typeParameterVariable = ""; if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty() || genTypeParameter.isUsed()) { if (maxTypeParameterAssignment <= t.previousIndex()) { ++maxTypeParameterAssignment; typeParameterVariable = genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter") + " t" + t.nextIndex() + " = "; } else { typeParameterVariable = "t" + t.nextIndex() + " = "; }} %>
+ <%=typeParameterVariable%>addETypeParameter(op, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+ <%for (EGenericType typeParameter : genTypeParameter.getEcoreTypeParameter().getEBounds()) {%>
+ <%for (InformationIterator i=new InformationIterator(typeParameter); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ t<%=t.nextIndex()%>.getEBounds().add(g1);
+ <%}%>
+ <%}%>
+ <%}%>
+ <%for (GenParameter genParameter : genOperation.getGenParameters()) {%>
+ <%if (genParameter.hasGenericType()) {%>
+ <%for (InformationIterator i=new InformationIterator(genParameter.getEcoreParameter().getEGenericType()); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (genModel.useGenerics()) {%>
+ addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+ <%} else if (!genParameter.getEcoreParameter().isOrdered() || !genParameter.getEcoreParameter().isUnique()) { needsAddEParameter = true;%>
+ addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+ <%} else {%>
+ addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>);<%=genModel.getNonNLS()%>
+ <%}%>
+ <%}%>
+ <%if (genOperation.hasGenericExceptions()) {%>
+ <%for (EGenericType genericExceptions : genOperation.getEcoreOperation().getEGenericExceptions()) {%>
+ <%for (InformationIterator i=new InformationIterator(genericExceptions); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ addEException(op, g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ <%} else {%>
+ <%for (GenClassifier genException : genOperation.getGenExceptions()) {%>
+ addEException(op, <%=genPackage.getPackageInstanceVariable(genException.getGenPackage())%>.get<%=genException.getClassifierAccessorName()%>());
+ <%}%>
+ <%}%>
+ <%if (!genOperation.isVoid() && genOperation.hasGenericType()) {%>
+ <%for (InformationIterator i=new InformationIterator(genOperation.getEcoreOperation().getEGenericType()); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%if (info.depth > 0) {%>
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ <%}%>
+ <%}%>
+ initEOperation(op, g1);
+ <%}%>
+ <%}%>
+ <%if (c.hasNext()) {%>
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getGenEnums().isEmpty()) {%>
+
+ // Initialize enums and add enum literals
+ <%for (Iterator<GenEnum> e=genPackage.getGenEnums().iterator(); e.hasNext();) { GenEnum genEnum = e.next();%>
+ initEEnum(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName()%>.class, "<%=genEnum.getName()%>");<%=genModel.getNonNLS()%>
+ <%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+ addEEnumLiteral(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName().equals(genEnum.getClassifierID()) ? genEnum.getQualifiedName() : genEnum.getImportedName()%>.<%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>);
+ <%}%>
+ <%if (e.hasNext()) {%>
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%if (!genPackage.getGenDataTypes().isEmpty()) {%>
+
+ // Initialize data types
+ <%for (GenDataType genDataType : genPackage.getGenDataTypes()) {boolean hasInstanceTypeName = genModel.useGenerics() && genDataType.getEcoreDataType().getInstanceTypeName() != null && genDataType.getEcoreDataType().getInstanceTypeName().contains("<");%>
+ initEDataType(<%=genDataType.getClassifierInstanceName()%>, <%=genDataType.getRawImportedInstanceClassName()%>.class, "<%=genDataType.getName()%>", <%=genDataType.getSerializableFlag()%>, <%=genDataType.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genDataType.getEcoreDataType().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=genModel.getNonNLS(2)%><%}%>
+ <%}%>
+ <%}%>
+ <%if (genPackage.getSuperGenPackage() == null) {%>
+
+ // Create resource
+ createResource(<%=genPackage.getSchemaLocation()%>);
+ <%}%>
+ <%if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {%>
+
+ // Create annotations
+ <%for (String annotationSource : genPackage.getAnnotationSources()) {%>
+ // <%=annotationSource%>
+ create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations();
+ <%}%>
+ <%}%>
+ }
+
+ <%for (String annotationSource : genPackage.getAnnotationSources()) {%>
+ /**
+ * Initializes the annotations for <b><%=annotationSource%></b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations()
+ {
+ String source = <%if (annotationSource == null) {%>null;<%} else {%>"<%=annotationSource%>";<%=genModel.getNonNLS()%><%}%>
+ <%for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) { List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage.getReferenceData(eAnnotation);%>
+ <%if (annotationSource == null ? eAnnotation.getSource() == null : annotationSource.equals(eAnnotation.getSource())) {%>
+ addAnnotation
+ (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
+ source,
+ new String[]
+ {
+ <%for (Iterator<Map.Entry<String, String>> k = eAnnotation.getDetails().iterator(); k.hasNext();) { Map.Entry<String, String> detail = k.next(); String key = Literals.toStringLiteral(detail.getKey(), genModel); String value = Literals.toStringLiteral(detail.getValue(), genModel);%>
+ <%=key%>, <%=value%><%=k.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+ <%}%>
+ }<%if (annotationReferenceDataList.isEmpty()) {%>);<%} else {%>,<%}%>
+ <%if (!annotationReferenceDataList.isEmpty()) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>[]
+ {
+ <%for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList.iterator(); k.hasNext();) { GenPackage.AnnotationReferenceData annotationReferenceData = k.next();%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%if (annotationReferenceData.containingGenPackage != genPackage) {%><%=annotationReferenceData.containingGenPackage.getImportedPackageInterfaceName()%>.<%}%>eNS_URI).appendFragment("<%=annotationReferenceData.uriFragment%>")<%if (k.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+ <%}%>
+ });
+ <%}%>
+ <%for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {String nestedAnnotationSource = nestedEAnnotation.getSource(); int depth = 0; boolean nonContentAnnotation = false; StringBuilder path = new StringBuilder(); for (EObject eContainer = nestedEAnnotation.eContainer(), child = nestedEAnnotation; child != eAnnotation; child = eContainer, eContainer = eContainer.eContainer()) { boolean nonContentChild = child.eContainmentFeature() != EcorePackage.Literals.EANNOTATION__CONTENTS; if (path.length() != 0) { path.insert(0, ", "); } path.insert(0, nonContentChild); if (nonContentChild) { nonContentAnnotation = true; } ++depth; } List<GenPackage.AnnotationReferenceData> nestedAnnotationReferenceDataList = genPackage.getReferenceData(nestedEAnnotation);%>
+ addAnnotation
+ (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
+ <%if (nonContentAnnotation && genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {%>new boolean[] { <%=path.toString()%> }<%} else {%><%=depth%><%}%>,
+ <%if (nestedAnnotationSource == null) {%>null,<%} else {%>"<%=nestedAnnotationSource%>",<%=genModel.getNonNLS()%><%}%>
+ new String[]
+ {
+ <%for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails().iterator(); l.hasNext();) { Map.Entry<String, String> detail = l.next(); String key = Literals.toStringLiteral(detail.getKey(), genModel); String value = Literals.toStringLiteral(detail.getValue(), genModel);%>
+ <%=key%>, <%=value%><%=l.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+ <%}%>
+ }<%if (nestedAnnotationReferenceDataList.isEmpty()) {%>);<%} else {%>,<%}%>
+ <%if (!nestedAnnotationReferenceDataList.isEmpty()) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>[]
+ {
+ <%for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList.iterator(); l.hasNext();) { GenPackage.AnnotationReferenceData annotationReferenceData = l.next();%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%if (annotationReferenceData.containingGenPackage != genPackage) {%><%=annotationReferenceData.containingGenPackage.getImportedPackageInterfaceName()%>.<%}%>eNS_URI).appendFragment("<%=annotationReferenceData.uriFragment%>")<%if (l.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+ <%}%>
+ });
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ }
+
+ <%}%>
+ <%} else {%>
+ <%if (genPackage.isLoadingInitialization()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isLoaded = false;
+
+ /**
+ * Laods the package and any sub-packages from their serialized form.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void loadPackage()
+ {
+ if (isLoaded) return;
+ isLoaded = true;
+
+ <%=genModel.getImportedName("java.net.URL")%> url = getClass().getResource(packageFilename);
+ if (url == null)
+ {
+ throw new RuntimeException("Missing serialized package: " + packageFilename);<%=genModel.getNonNLS()%>
+ }
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%> uri = <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(url.toString());
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%> resource = new <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl")%>().createResource(uri);
+ try
+ {
+ resource.load(null);
+ }
+ catch (<%=genModel.getImportedName("java.io.IOException")%> exception)
+ {
+ throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(exception);
+ }
+ initializeFromLoadedEPackage(this, (<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>)resource.getContents().get(0));
+ createResource(eNS_URI);
+ }
+
+ <%}%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isFixed = false;
+
+ /**
+ * Fixes up the loaded package, to make it appear as if it had been programmatically built.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fixPackageContents()
+ {
+ if (isFixed) return;
+ isFixed = true;
+ fixEClassifiers();
+ }
+
+ /**
+ * Sets the instance class on the given classifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected void fixInstanceClass(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> eClassifier)
+ {
+ if (eClassifier.getInstanceClassName() == null)
+ {
+ <%ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>(); for (GenClass genClass : genPackage.getGenClasses()) { if (genClass.isDynamic()) { dynamicGenClasses.add(genClass); } }%>
+ <%if (dynamicGenClasses.isEmpty()) {%>
+ eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
+ setGeneratedClassName(eClassifier);
+ <%} else {%>
+ switch (eClassifier.getClassifierID())
+ {
+ <%for (GenClass genClass : dynamicGenClasses) {%>
+ <%if (genClass.isDynamic()) {%>
+ case <%=genPackage.getClassifierID(genClass)%>:
+ <%}%>
+ <%}%>
+ {
+ break;
+ }
+ default:
+ {
+ eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
+ setGeneratedClassName(eClassifier);
+ break;
+ }
+ }
+ <%}%>
+ }
+ }
+
+ <%}%>
+ <%if (needsAddEOperation) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> addEOperation(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> o = addEOperation(owner, type, name, lowerBound, upperBound);
+ o.setUnique(isUnique);
+ o.setOrdered(isOrdered);
+ return o;
+ }
+
+ <%}%>
+ <%if (needsAddEParameter) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> addEParameter(<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> p = ecoreFactory.createEParameter();
+ p.setEType(type);
+ p.setName(name);
+ p.setLowerBound(lowerBound);
+ p.setUpperBound(upperBound);
+ p.setUnique(isUnique);
+ p.setOrdered(isOrdered);
+ owner.getEParameters().add(p);
+ return p;
+ }
+
+ <%}%>
+<%}%>
+<%if (isInterface && genPackage.isLiteralsInterface()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ <%if (genModel.isOperationReflection()) {%>
+ * <li>each operation of each class,</li>
+ <%}%>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (isImplementation) {%>public <%}%>interface Literals
+ {
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ /**
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%if (!genClass.isInterface()) {%>
+ * The meta object literal for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getQualifiedClassName()%>
+ <%} else {%>
+ * The meta object literal for the '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>
+ <%}%>
+ <%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
+ * The meta object literal for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genEnum.getQualifiedName()%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ * The meta object literal for the '<em><%=genDataType.getFormattedName()%></em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
+ * @see <%=genDataType.getRawInstanceClassName()%>
+ <%}%>
+ <%}%>
+ * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
+ <%if (genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%><%=genClassifier.getImportedMetaType()%> <%=genPackage.getClassifierID(genClassifier)%> = eINSTANCE.get<%=genClassifier.getClassifierAccessorName()%>();
+
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
+ /**
+ * The meta object literal for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%> feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%><%=genFeature.getImportedMetaType()%> <%=genClass.getFeatureID(genFeature)%> = eINSTANCE.get<%=genFeature.getFeatureAccessorName()%>();
+
+ <%}%>
+ <%if (genModel.isOperationReflection()) {%>
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+ /**
+ * The meta object literal for the '<em><b><%=genOperation.getFormattedName()%></b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%><%=genOperation.getImportedMetaType()%> <%=genClass.getOperationID(genOperation, false)%> = eINSTANCE.get<%=genOperation.getOperationAccessorName()%>();
+
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ }
+
+<%}%>
+} //<%=isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._Ssf88WKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._Ssf88WKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..e7f37b388
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgCsMDG0Ed-kc8dEZsdm2w/method._Ssf88WKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genPackage,Boolean.TRUE,Boolean.FALSE}})[0];
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._08N1-WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._08N1-WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._08N1-WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._9HAxZHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._9HAxZHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..c61438f57
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._9HAxZHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genPackage.hasClassifiers() && !genModel.isSuppressInterfaces());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnIzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..ac9334369
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnJzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getReflectionPackageName();
+className = genPackage.getFactoryInterfaceName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnKTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnKTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..0848dae16
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._PgVnKTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,792 @@
+
+<%
+/**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)((Object[])argument)[0]; GenModel genModel=genPackage.getGenModel(); /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]); boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+<%if (isInterface || genModel.isSuppressInterfaces()) {%>
+package <%=genPackage.getReflectionPackageName()%>;
+<%} else {%>
+package <%=genPackage.getClassPackageName()%>;
+<%}%>
+
+<%if (isImplementation) {%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");%>
+<%genModel.addImport("org.eclipse.emf.ecore.EClass");%>
+<%genModel.addImport("org.eclipse.emf.ecore.EObject");%>
+<%if (!genPackage.hasJavaLangConflict() && !genPackage.hasInterfaceImplConflict() && !genPackage.getClassPackageName().equals(genPackage.getInterfacePackageName())) genModel.addImport(genPackage.getInterfacePackageName() + ".*");%>
+<%}%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+<%if (isInterface) {%>
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+<%if (!genModel.isSuppressEMFMetaData()) {%>
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>
+<%}%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%} else {%>
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+<%if (isImplementation) {%>
+ <%if (isJDK50 && !genPackage.hasAPIDeprecatedTag()) { List<GenClassifier> genClassifiers = new ArrayList<GenClassifier>(genPackage.getGenClassifiers()); for (Iterator<GenClassifier> i = genClassifiers.iterator(); i.hasNext(); ) { GenClassifier genClassifier = i.next(); if (genClassifier instanceof GenClass && ((GenClass)genClassifier).isAbstract()) i.remove(); } if (GenModelUtil.hasAPIDeprecatedTag(genClassifiers)) {%>
+@SuppressWarnings("deprecation")
+ <%}}%>
+public class <%=genPackage.getFactoryClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EFactoryImpl")%><%if (!genModel.isSuppressInterfaces()) {%> implements <%=genPackage.getImportedFactoryInterfaceName()%><%}%>
+<%} else {%>
+public interface <%=genPackage.getFactoryInterfaceName()%><%if (!genModel.isSuppressEMFMetaData()) {%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.EFactory")%><%}%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {%>
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genPackage.getFactoryClassName()%> eINSTANCE = init();
+
+<%}%>
+<%if (isInterface && genModel.isSuppressEMFMetaData()) {%>
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genPackage.getFactoryInterfaceName()%> INSTANCE = <%=genPackage.getQualifiedFactoryClassName()%>.eINSTANCE;
+
+<%} else if (isInterface && !genModel.isSuppressInterfaces()) {%>
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genPackage.getFactoryInterfaceName()%> eINSTANCE = <%=genPackage.getQualifiedFactoryClassName()%>.init();
+
+<%}%>
+<%if (isImplementation) {%>
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName() : genPackage.getImportedFactoryInterfaceName();%>
+ public static <%=factoryType%> init()
+ {
+ try
+ {
+ <%=factoryType%> the<%=genPackage.getFactoryName()%> = (<%=factoryType%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEFactory(<%=genPackage.getPackageInterfaceName()%>.eNS_URI);
+ if (the<%=genPackage.getFactoryName()%> != null)
+ {
+ return the<%=genPackage.getFactoryName()%>;
+ }
+ }
+ catch (Exception exception)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.log(exception);
+ }
+ return new <%=genPackage.getImportedFactoryClassName()%>();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getFactoryClassName()%>()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%if (!genClass.isAbstract()) {%>
+ case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genClass.getClassifierID()%>: return <%=!genClass.isEObjectExtension() ? "(EObject)" : "" %>create<%=genClass.getName()%>();
+<%}%>
+<%}%>
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ }
+ }
+
+<%if (!genPackage.getAllGenDataTypes().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public Object createFromString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, String initialValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+ <%if (genDataType.isSerializable()) {%>
+ case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genDataType.getClassifierID()%>:
+ return create<%=genDataType.getName()%>FromString(eDataType, initialValue);
+ <%}%>
+<%}%>
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public String convertToString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, Object instanceValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+ <%if (genDataType.isSerializable()) {%>
+ case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genDataType.getClassifierID()%>:
+ return convert<%=genDataType.getName()%>ToString(eDataType, instanceValue);
+ <%}%>
+<%}%>
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ }
+ }
+
+<%}%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ <%if (!genClass.isAbstract()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (useInterfaceOverrideAnnotation && !genClass.isMapEntry()) {%>
+ @Override
+<%}%>
+ public <%=genClass.getTypeParameters()%><%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> create<%=genClass.getName()%>()
+ {
+ <%if (genClass.isDynamic()) {%>
+ <%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> <%=genClass.getSafeUncapName()%> = <%=genClass.getCastFromEObject()%>super.create(<%=genClass.getQualifiedClassifierAccessor()%>);
+ <%} else {%>
+ <%=genClass.getImportedClassName()%><%=genClass.getClassTypeArguments()%> <%=genClass.getSafeUncapName()%> = new <%=genClass.getImportedClassName()%><%=genClass.getClassTypeArguments()%>()<%if (genModel.isSuppressInterfaces() && !genPackage.getReflectionPackageName().equals(genPackage.getInterfacePackageName())) {%>{}<%}%>;
+ <%}%>
+ return <%=genClass.getSafeUncapName()%>;
+ }
+
+ <%}%>
+<%}%>
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+ <%if (genDataType.isSerializable()) {%>
+<%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) { String eDataType = genDataType.getQualifiedClassifierAccessor();%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genDataType.getImportedParameterizedInstanceClassName()%> create<%=genDataType.getName()%>(<%if (genDataType.hasCreatorBody()) {%>final <%}%>String <%if (genDataType.hasCreatorBody()) {%>it<%} else {%>literal<%}%>)
+ {
+ <%if (genDataType.hasCreatorBody()) {%>
+ <%=genDataType.getCreatorBody(genModel.getIndentation(stringBuffer))%>
+ <%} else if (genDataType instanceof GenEnum) {%>
+ <%=genDataType.getImportedInstanceClassName()%> result = <%=genDataType.getImportedInstanceClassName()%>.get(literal);
+ if (result == null) throw new IllegalArgumentException("The value '" + literal + "' is not a valid enumerator of '" + <%=eDataType%>.getName() + "'");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+ return result;
+ <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); boolean isPrimitiveConversion = !genDataType.isPrimitiveType() && genBaseType.isPrimitiveType();%>
+ <%if (genBaseType.getGenPackage() == genPackage) {%>
+ <%if (isPrimitiveConversion && !isJDK50) {%>
+ return new <%=genDataType.getObjectInstanceClassName()%>(create<%=genBaseType.getName()%>(literal));
+ <%} else {%>
+ return create<%=genBaseType.getName()%>(literal);
+ <%}%>
+ <%} else if (genBaseType.getGenPackage().isDataTypeConverters()) {%>
+ <%if (isPrimitiveConversion && !isJDK50) {%>
+ return new <%=genDataType.getObjectInstanceClassName()%>(<%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genBaseType.getName()%>(literal));
+ <%} else {%>
+ return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genBaseType.getName()%>(literal);
+ <%}%>
+ <%} else {%>
+ return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, literal);
+ <%}%>
+ <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+ if (literal == null) return null;
+ <%=genDataType.getImportedParameterizedInstanceClassName()%> result = new <%=genModel.getImportedName("java.util.ArrayList")%><%if (genModel.useGenerics()) {%><<%=genItemType.getObjectType().getImportedParameterizedInstanceClassName()%>><%}%>();
+ <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+ for (<%=genModel.getImportedName("java.util.StringTokenizer")%> stringTokenizer = new <%=genModel.getImportedName("java.util.StringTokenizer")%>(literal); stringTokenizer.hasMoreTokens(); )
+ <%} else {%>
+ for (String item : split(literal))
+ <%}%>
+ {
+ <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+ String item = stringTokenizer.nextToken();
+ <%}%>
+ <%if (genItemType.getGenPackage() == genPackage) {%>
+ <%if (genPackage.isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+ result.add(create<%=genItemType.getName()%>(item));
+ <%} else {%>
+ result.add(create<%=genItemType.getName()%>FromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+ <%}%>
+ <%} else {%>
+ <%if (genItemType.getGenPackage().isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+ result.add(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genItemType.getName()%>(item));
+ <%} else {%>
+ result.add(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+ <%}%>
+ <%}%>
+ }
+ return result;
+ <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+ if (literal == null) return <%=genDataType.getStaticValue(null)%>;
+ <%=genDataType.getImportedInstanceClassName()%> result = <%=genDataType.getStaticValue(null)%>;
+ RuntimeException exception = null;
+ <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+ try
+ {
+ <%if (genMemberType.getGenPackage() == genPackage) {%>
+ <%if (genPackage.isDataTypeConverters()) { if (!genDataType.isPrimitiveType()) genMemberType = genMemberType.getObjectType();%>
+ result = create<%=genMemberType.getName()%>(literal);
+ <%} else {%>
+ result = (<%=genDataType.getObjectInstanceClassName()%>)create<%=genMemberType.getName()%>FromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, literal);
+ <%}%>
+ <%} else {%>
+ <%if (genPackage.isDataTypeConverters()) { if (!genDataType.isPrimitiveType()) genMemberType = genMemberType.getObjectType();%>
+ result = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genMemberType.getName()%>(literal);
+ <%} else {%>
+ result = (<%=genDataType.getObjectInstanceClassName()%>)<%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, literal);
+ <%}%>
+ <%}%>
+ if (<%if (!genDataType.isPrimitiveType()) {%>result != null && <%}%><%=genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician")%>.INSTANCE.validate(<%=eDataType%>, <%if (genDataType.isPrimitiveType() && !isJDK50) {%>new <%=genDataType.getObjectInstanceClassName()%>(result)<%} else {%>result<%}%>, null, null))
+ {
+ return result;
+ }
+ }
+ catch (RuntimeException e)
+ {
+ exception = e;
+ }
+ <%}%>
+ if (<%if (!genDataType.isPrimitiveType()) {%>result != null || <%}%>exception == null) return result;
+
+ throw exception;
+ <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+ return (<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)super.createFromString(literal);
+ <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+ <%} else if (genDataType.isPrimitiveType() && !isJDK50) {%>
+ return ((<%=genDataType.getObjectInstanceClassName()%>)super.createFromString(<%=eDataType%>, literal)).<%=genDataType.getPrimitiveValueFunction()%>();
+ <%} else {%>
+ return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(<%=eDataType%>, literal);
+ <%}%>
+ }
+
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public <%=genDataType.getImportedParameterizedObjectInstanceClassName()%> create<%=genDataType.getName()%>FromString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, String initialValue)
+ {
+ <%if (genDataType instanceof GenEnum) {%>
+ <%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+ return create<%=genDataType.getName()%>(initialValue);
+ <%} else {%>
+ <%=((GenEnum)genDataType).getImportedInstanceClassName()%> result = <%=((GenEnum)genDataType).getImportedInstanceClassName()%>.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+ return result;
+ <%}%>
+ <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); %>
+ <%if (genBaseType.getGenPackage() == genPackage) {%>
+ return <%if (!genDataType.getObjectInstanceClassName().equals(genBaseType.getObjectInstanceClassName())) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%>create<%=genBaseType.getName()%>FromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, initialValue);
+ <%} else {%>
+ return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genBaseType.getQualifiedClassifierAccessor()%>, initialValue);
+ <%}%>
+ <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+ <%if (genPackage.isDataTypeConverters()) {%>
+ return create<%=genDataType.getName()%>(initialValue);
+ <%} else {%>
+ if (initialValue == null) return null;
+ <%=genDataType.getImportedParameterizedObjectInstanceClassName()%> result = new <%=genModel.getImportedName("java.util.ArrayList")%><%if (genModel.useGenerics()) {%><<%=genItemType.getObjectType().getImportedParameterizedInstanceClassName()%>><%}%>();
+ <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+ for (<%=genModel.getImportedName("java.util.StringTokenizer")%> stringTokenizer = new <%=genModel.getImportedName("java.util.StringTokenizer")%>(initialValue); stringTokenizer.hasMoreTokens(); )
+ <%} else {%>
+ for (String item : split(initialValue))
+ <%}%>
+ {
+ <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {%>
+ String item = stringTokenizer.nextToken();
+ <%}%>
+ <%if (genItemType.getGenPackage() == genPackage) {%>
+ result.add(create<%=genItemType.getName()%>FromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+ <%} else {%>
+ result.add(<%if (!genItemType.isObjectType()) {%>(<%=genItemType.getObjectInstanceClassName()%>)<%}%><%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genItemType.getQualifiedClassifierAccessor()%>, item));
+ <%}%>
+ }
+ return result;
+ <%}%>
+ <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+ <%if (genPackage.isDataTypeConverters()) {%>
+ <%if (genDataType.isPrimitiveType() && !isJDK50) {%>
+ return new <%=genDataType.getObjectInstanceClassName()%>(create<%=genDataType.getName()%>(initialValue));
+ <%} else {%>
+ return create<%=genDataType.getName()%>(initialValue);
+ <%}%>
+ <%} else {%>
+ if (initialValue == null) return null;
+ <%=genDataType.getObjectInstanceClassName()%> result = null;
+ RuntimeException exception = null;
+ <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+ try
+ {
+ <%if (genMemberType.getGenPackage() == genPackage) {%>
+ result = <%if (!genDataType.isObjectType() && !genDataType.getObjectInstanceClassName().equals(genMemberType.getObjectInstanceClassName())) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%>create<%=genMemberType.getName()%>FromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, initialValue);
+ <%} else {%>
+ result = <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getObjectInstanceClassName()%>)<%}%><%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genMemberType.getQualifiedClassifierAccessor()%>, initialValue);
+ <%}%>
+ if (result != null && <%=genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician")%>.INSTANCE.validate(eDataType, result, null, null))
+ {
+ return result;
+ }
+ }
+ catch (RuntimeException e)
+ {
+ exception = e;
+ }
+ <%}%>
+ if (result != null || exception == null) return result;
+
+ throw exception;
+ <%}%>
+ <%} else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+ return create<%=genDataType.getName()%>(initialValue);
+ <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+ return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(initialValue);
+ <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+ <%} else {%>
+ return <%if (!genDataType.isObjectType()) {%>(<%=genDataType.getImportedParameterizedObjectInstanceClassName()%>)<%}%>super.createFromString(eDataType, initialValue);
+ <%}%>
+ }
+
+<%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) { String eDataType = genDataType.getQualifiedClassifierAccessor();%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (genPackage.isDataTypeConverters() && useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public String convert<%=genDataType.getName()%>(<%if (genDataType.hasCreatorBody()) {%>final <%}%><%=genDataType.getImportedBoundedWildcardInstanceClassName()%> <%if (genDataType.hasConverterBody()) {%>it<%} else {%>instanceValue<%}%>)
+ {
+ <%if (genDataType.hasConverterBody()) {%>
+ <%=genDataType.getConverterBody(genModel.getIndentation(stringBuffer))%>
+ <%} else if (genDataType instanceof GenEnum) {%>
+ return instanceValue == null ? null : instanceValue.toString();
+ <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); boolean isPrimitiveConversion = !genDataType.isPrimitiveType() && genBaseType.isPrimitiveType();%>
+ <%if (genBaseType.getGenPackage() == genPackage) {%>
+ <%if (isPrimitiveConversion) {%>
+ return instanceValue == null ? null : convert<%=genBaseType.getName()%>(instanceValue<%if (!isJDK50) {%>.<%=genBaseType.getPrimitiveValueFunction()%>()<%}%>);
+ <%} else {%>
+ return convert<%=genBaseType.getName()%>(instanceValue);
+ <%}%>
+ <%} else if (genBaseType.getGenPackage().isDataTypeConverters()) {%>
+ return <%=genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.convert<%=genBaseType.getName()%>(instanceValue);
+ <%} else {%>
+ return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%}%>
+ <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+ if (instanceValue == null) return null;
+ if (instanceValue.isEmpty()) return "";
+ <%=genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer")%> result = new <%=genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer")%>();
+ <%String item; if (!genModel.useGenerics()) { item = "i.next()"; %>
+ for (<%=genModel.getImportedName("java.util.Iterator")%> i = instanceValue.iterator(); i.hasNext(); )
+ <%} else { item = "item";%>
+ for (<%=genModel.getImportedName("java.lang.Object")%> item : instanceValue)
+ <%}%>
+ {
+ <%if (genItemType.getGenPackage() == genPackage) {%>
+ <%if (genPackage.isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+ result.append(convert<%=genItemType.getName()%>((<%=genItemType.getObjectInstanceClassName()%>)<%=item%>));
+ <%} else {%>
+ result.append(convert<%=genItemType.getName()%>ToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+ <%}%>
+ <%} else {%>
+ <%if (genItemType.getGenPackage().isDataTypeConverters()) { genItemType = genItemType.getObjectType();%>
+ result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genItemType.getName()%>((<%=genItemType.getObjectInstanceClassName()%>)<%=item%>));
+ <%} else {%>
+ result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+ <%}%>
+ <%}%>
+ result.append(' ');
+ }
+ return result.substring(0, result.length() - 1);
+ <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+ <%if (!genDataType.isPrimitiveType()) {%>
+ if (instanceValue == null) return null;
+ <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+ if (<%=genMemberType.getQualifiedClassifierAccessor()%>.isInstance(instanceValue))
+ {
+ try
+ {
+ <%if (genMemberType.getGenPackage() == genPackage) {%>
+ <%if (genPackage.isDataTypeConverters()) {%>
+ <%if (genMemberType.getQualifiedInstanceClassName().equals(genDataType.getQualifiedInstanceClassName())) {%>
+ String value = convert<%=genMemberType.getName()%>(instanceValue);
+ <%} else if (genMemberType.isPrimitiveType() && !isJDK50) {%>
+ String value = convert<%=genMemberType.getName()%>(((<%=genMemberType.getObjectType().getImportedInstanceClassName()%>)instanceValue).<%=genMemberType.getPrimitiveValueFunction()%>());
+ <%} else {%>
+ String value = convert<%=genMemberType.getName()%>((<%=genMemberType.getObjectType().getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+ <%}%>
+ <%} else {%>
+ String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%}%>
+ <%} else {%>
+ <%if (genMemberType.getGenPackage().isDataTypeConverters()) { genMemberType = genMemberType.getObjectType();%>
+ String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genMemberType.getName()%>((<%=genMemberType.getObjectInstanceClassName()%>)instanceValue);
+ <%} else {%>
+ String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%}%>
+ <%}%>
+ if (value != null) return value;
+ }
+ catch (Exception e)
+ {
+ // Keep trying other member types until all have failed.
+ }
+ }
+ <%}%>
+ <%} else {%>
+ <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+ try
+ {
+ <%if (genMemberType.getGenPackage() == genPackage) {%>
+ <%if (genPackage.isDataTypeConverters()) {%>
+ String value = convert<%=genMemberType.getName()%>(instanceValue);
+ <%} else {%>
+ String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, <%if (!isJDK50) {%>new <%=genMemberType.getObjectInstanceClassName()%>(instanceValue)<%} else {%>instanceValue<%}%>);
+ <%}%>
+ <%} else {%>
+ <%if (genMemberType.getGenPackage().isDataTypeConverters()) {%>
+ String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convert<%=genMemberType.getName()%>(instanceValue);
+ <%} else {%>
+ String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, <%if (!isJDK50) {%>new <%=genMemberType.getObjectInstanceClassName()%>(instanceValue)<%} else {%>instanceValue<%}%>);
+ <%}%>
+ <%}%>
+ if (value != null) return value;
+ }
+ catch (Exception e)
+ {
+ // Keep trying other member types until all have failed.
+ }
+ <%}%>
+ <%}%>
+ throw new IllegalArgumentException("Invalid value: '"+instanceValue+"' for datatype :"+<%=eDataType%>.getName());
+ <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+ return super.convertToString(instanceValue);
+ <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+ <%} else if (genDataType.isPrimitiveType() && !isJDK50) {%>
+ return super.convertToString(<%=eDataType%>, new <%=genDataType.getObjectInstanceClassName()%>(instanceValue));
+ <%} else {%>
+ return super.convertToString(<%=eDataType%>, instanceValue);
+ <%}%>
+ }
+
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast()) && (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public String convert<%=genDataType.getName()%>ToString(<%=genModel.getImportedName("org.eclipse.emf.ecore.EDataType")%> eDataType, Object instanceValue)
+ {
+ <%if (genDataType instanceof GenEnum) {%>
+ <%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+ return convert<%=genDataType.getName()%>((<%=genDataType.getImportedInstanceClassName()%>)instanceValue);
+ <%} else {%>
+ return instanceValue == null ? null : instanceValue.toString();
+ <%}%>
+ <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType = genDataType.getBaseType(); %>
+ <%if (genBaseType.getGenPackage() == genPackage) {%>
+ return convert<%=genBaseType.getName()%>ToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%} else {%>
+ return <%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genBaseType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%}%>
+ <%} else if (genDataType.getItemType() != null) { GenDataType genItemType = genDataType.getItemType(); %>
+ <%if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {%>
+ return convert<%=genDataType.getName()%>((<%=genDataType.getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+ <%} else { final String singleWildcard = genModel.useGenerics() ? "<?>" : "";%>
+ if (instanceValue == null) return null;
+ <%=genModel.getImportedName("java.util.List")%><%=singleWildcard%> list = (<%=genModel.getImportedName("java.util.List")%><%=singleWildcard%>)instanceValue;
+ if (list.isEmpty()) return "";
+ <%=genModel.getImportedName("java.lang.StringBuffer")%> result = new <%=genModel.getImportedName("java.lang.StringBuffer")%>();
+ <%String item; if (!genModel.useGenerics()) { item = "i.next()"; %>
+ for (<%=genModel.getImportedName("java.util.Iterator")%> i = list.iterator(); i.hasNext(); )
+ <%} else { item = "item";%>
+ for (<%=genModel.getImportedName("java.lang.Object")%> item : list)
+ <%}%>
+ {
+ <%if (genItemType.getGenPackage() == genPackage) {%>
+ result.append(convert<%=genItemType.getName()%>ToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+ <%} else {%>
+ result.append(<%=genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genItemType.getQualifiedClassifierAccessor()%>, <%=item%>));
+ <%}%>
+ result.append(' ');
+ }
+ return result.substring(0, result.length() - 1);
+ <%}%>
+ <%} else if (!genDataType.getMemberTypes().isEmpty()) {%>
+ <%if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+ <%if (genDataType.isPrimitiveType()) {%>
+ return instanceValue == null ? null : convert<%=genDataType.getName()%>(((<%=genDataType.getObjectInstanceClassName()%>)instanceValue)<%if (!isJDK50) {%>.<%=genDataType.getPrimitiveValueFunction()%>()<%}%>);
+ <%} else {%>
+ return convert<%=genDataType.getName()%>(instanceValue);
+ <%}%>
+ <%} else {%>
+ if (instanceValue == null) return null;
+ <%for (GenDataType genMemberType : genDataType.getMemberTypes()) {%>
+ if (<%=genMemberType.getQualifiedClassifierAccessor()%>.isInstance(instanceValue))
+ {
+ try
+ {
+ <%if (genMemberType.getGenPackage() == genPackage) {%>
+ String value = convert<%=genMemberType.getName()%>ToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%} else {%>
+ String value = <%=genMemberType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genMemberType.getQualifiedClassifierAccessor()%>, instanceValue);
+ <%}%>
+ if (value != null) return value;
+ }
+ catch (Exception e)
+ {
+ // Keep trying other member types until all have failed.
+ }
+ }
+ <%}%>
+ throw new IllegalArgumentException("Invalid value: '"+instanceValue+"' for datatype :"+eDataType.getName());
+ <%}%>
+ <%} else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {%>
+ <%if (genDataType.isPrimitiveType()) {%>
+ return instanceValue == null ? null : convert<%=genDataType.getName()%>(<%if (!isJDK50) {%>(<%}%>(<%=genDataType.getObjectInstanceClassName()%>)instanceValue<%if (!isJDK50) {%>).<%=genDataType.getPrimitiveValueFunction()%>()<%}%>);
+ <%} else {%>
+ return convert<%=genDataType.getName()%>((<%=genDataType.getImportedBoundedWildcardInstanceClassName()%>)instanceValue);
+ <%}%>
+ <%} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics() && (genDataType.isArrayType() || !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {%>
+ return super.convertToString(instanceValue);
+ <%} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {%>
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new <%=genModel.getImportedName("java.lang.UnsupportedOperationException")%>();
+ <%} else {%>
+ return super.convertToString(eDataType, instanceValue);
+ <%}%>
+ }
+
+ <%}%>
+<%}%>
+<%} else {%>
+ <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ <%if (genClass.hasFactoryInterfaceCreateMethod()) {%>
+ /**
+ * Returns a new object of class '<em><%=genClass.getFormattedName()%></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em><%=genClass.getFormattedName()%></em>'.
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+ <%=genClass.getTypeParameters()%><%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> create<%=genClass.getName()%>();
+
+ <%}%>
+ <%}%>
+ <%if (genPackage.isDataTypeConverters()) {%>
+ <%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+ <%if (genDataType.isSerializable()) {%>
+ /**
+ * Returns an instance of data type '<em><%=genDataType.getFormattedName()%></em>' corresponding the given literal.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal a literal of the data type.
+ * @return a new instance value of the data type.
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=genDataType.getImportedParameterizedInstanceClassName()%> create<%=genDataType.getName()%>(String literal);
+
+ /**
+ * Returns a literal representation of an instance of data type '<em><%=genDataType.getFormattedName()%></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param instanceValue an instance value of the data type.
+ * @return a literal representation of the instance value.
+ <%if (genDataType.hasAPITags()) {%>
+ * <%=genDataType.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genDataType.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ String convert<%=genDataType.getName()%>(<%=genDataType.getImportedBoundedWildcardInstanceClassName()%> instanceValue);
+
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%if (!isImplementation && !genModel.isSuppressEMFMetaData()) {%>
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ <%=genPackage.getPackageInterfaceName()%> get<%=genPackage.getBasicPackageName()%>();
+
+<%} else if (isImplementation) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (useInterfaceOverrideAnnotation && !genModel.isSuppressEMFMetaData()) {%>
+ @Override
+ <%}%>
+ public <%=genPackage.getImportedPackageInterfaceName()%> get<%=genPackage.getBasicPackageName()%>()
+ {
+ return (<%=genPackage.getImportedPackageInterfaceName()%>)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Deprecated
+ <%}%>
+ public static <%=genPackage.getImportedPackageInterfaceName()%> getPackage()
+ {
+ return <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE;
+ }
+
+<%}%>
+} //<%=isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._StsPyGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._StsPyGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..e7f37b388
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgVnIDG0Ed-kc8dEZsdm2w/method._StsPyGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = ((Object[]) new Object[]{new Object[]{genPackage,Boolean.TRUE,Boolean.FALSE}})[0];
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._08qh6WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._08qh6WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._08qh6WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._85wYhHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._85wYhHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..1e675a364
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._85wYhHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genPackage.getResource() != GenResourceKind.NONE_LITERAL);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiEzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..f6dd7febc
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiFzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getResourceClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiGTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiGTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..170637d97
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._PgoiGTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,462 @@
+
+<%
+/**
+ * Copyright (c) 2002-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel(); ExtendedMetaData extendedMetaData= genModel.getExtendedMetaData();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%genModel.getImportedName("org.eclipse.emf.common.util.URI");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see <%=genPackage.getQualifiedResourceFactoryClassName()%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getResourceClassName()%> extends <%=genPackage.getImportedResourceBaseClassName()%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public <%=genPackage.getResourceClassName()%>(URI uri)
+ {
+ super(uri);
+<%if (genPackage.getResource() == GenResourceKind.XML_LITERAL) { // Do nothing%>
+<%}%>
+ }
+
+<%if (genPackage.isDataTypeConverters() && (genPackage.hasDocumentRoot() || org.eclipse.emf.ecore.xml.type.XMLTypePackage.eNS_URI.equals(genPackage.getNSURI()))) { boolean isXMLTypePackage = org.eclipse.emf.ecore.xml.type.XMLTypePackage.eNS_URI.equals(genPackage.getNSURI());%>
+<%final String _Map = genModel.useGenerics() ? "Map<?, ?>" : "Map";%>
+<%final String _MapStringBoolean = genModel.useGenerics() ? "Map<String, Boolean>" : "Map";%>
+<%final String _MapStringWildcard = genModel.useGenerics() ? "Map<String, ?>" : "Map";%>
+<%if (!isXMLTypePackage) {%>
+<%genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource");%>
+<%genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLParserPool");%>
+<%genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl");%>
+<%genModel.getImportedName("java.io.InputStream");%>
+<%genModel.getImportedName("java.io.IOException");%>
+<%genModel.getImportedName("org.eclipse.emf.ecore.EObject");%>
+<%genModel.getImportedName("java.util.Collections");%>
+<%genModel.getImportedName("java.util.HashMap");%>
+<%genModel.getImportedName("java.util.Map");%>
+<%genModel.getImportedName("org.xml.sax.InputSource");%>
+<%genModel.getImportedName("javax.xml.parsers.SAXParser");%>
+<%}%>
+<%genModel.getImportedName("org.xml.sax.Attributes");%>
+<%genModel.getImportedName("org.xml.sax.SAXException");%>
+<%String _StackFrame = genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeResourceImpl")+".StackFrame";%>
+<%String _DataFrame = genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeResourceImpl")+".DataFrame";%>
+<%if (!isXMLTypePackage) {%>
+ /**
+ * A load option that turns of the use of the generate data converters.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String OPTION_USE_DATA_CONVERTER = "USE_DATA_CONVERTER";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public void doLoad(InputStream inputStream, <%=_Map%> options) throws IOException
+ {
+ if (options != null && Boolean.TRUE.equals(options.get(OPTION_USE_DATA_CONVERTER)))
+ {
+ getContents().add
+ (load
+ (new InputSource(inputStream),
+ (<%=_MapStringBoolean%>)options.get(XMLResource.OPTION_PARSER_FEATURES),
+ (<%=_MapStringWildcard%>)options.get(XMLResource.OPTION_PARSER_PROPERTIES),
+ Boolean.TRUE.equals(options.get(XMLResource.OPTION_USE_LEXICAL_HANDLER))).eContainer());
+ }
+ else
+ {
+ super.doLoad(inputStream, options);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public void doLoad(InputSource inputSource, <%=_Map%> options) throws IOException
+ {
+ if (options != null && Boolean.TRUE.equals(options.get(OPTION_USE_DATA_CONVERTER)))
+ {
+ getContents().add
+ (load
+ (inputSource,
+ (<%=_MapStringBoolean%>)options.get(XMLResource.OPTION_PARSER_FEATURES),
+ (<%=_MapStringWildcard%>)options.get(XMLResource.OPTION_PARSER_PROPERTIES),
+ Boolean.TRUE.equals(options.get(XMLResource.OPTION_USE_LEXICAL_HANDLER))).eContainer());
+ }
+ else
+ {
+ super.doLoad(inputSource, options);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final XMLParserPool parserPool = new XMLParserPoolImpl();
+
+ /**
+ * Loads an instance from the input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param inputSource the input from which to load.
+ * @param features a map of the parser features and their values.
+ * @param properties a map of a parser properties and their values.
+ * @param useLexicalHandler whether a lexical handler should be used during loading.
+ * @return the root object; for the case of a document root, the child of that document root is return.
+ * @throws ParserConfigurationException
+ * @throws SAXException
+ * @generated
+ */
+ public static EObject load(InputSource inputSource, <%=_MapStringBoolean%> features, <%=_MapStringWildcard%> properties, boolean useLexicalHandler) throws IOException
+ {
+ <%=_MapStringBoolean%> requiredFeatures = new <%=_MapStringBoolean.replaceAll("Map","HashMap")%>();
+ requiredFeatures.put("http://xml.org/sax/features/namespaces", Boolean.TRUE);
+ if (features != null)
+ {
+ requiredFeatures.putAll(features);
+ }
+
+ if (properties == null)
+ {
+ properties = Collections.<%if (genModel.useGenerics()) {%>emptyMap()<%} else {%>EMPTY_MAP<%}%>;
+ }
+
+ SAXParser saxParser = null;
+ try
+ {
+ saxParser = parserPool.get(requiredFeatures, properties, useLexicalHandler);
+ final FrameFactory.DocumentRootStackFrame documentRoot = FrameFactory.INSTANCE.pushDocumentRoot(null, null);
+ XMLTypeResourceImpl.Handler handler = new XMLTypeResourceImpl.Handler(documentRoot);
+ saxParser.parse(inputSource, handler);
+<%if (genModel.isSuppressEMFTypes()) {%>
+ return (EObject)((EObject)FrameFactory.INSTANCE.popDocumentRoot(documentRoot)).eContents().get(0);
+<%} else {%>
+ return FrameFactory.INSTANCE.popDocumentRoot(documentRoot).eContents().get(0);
+<%}%>
+ }
+ catch (Exception exception)
+ {
+ throw new IOWrappedException(exception);
+ }
+ finally
+ {
+ parserPool.release(saxParser, requiredFeatures, properties, useLexicalHandler);
+ }
+ }
+
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public final static class FrameFactory
+ {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final FrameFactory INSTANCE = new FrameFactory();
+
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genClass.getName()%>StackFrame <%=genClass.getSafeUncapName()%>;
+
+<%}%>
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_DataFrame%> <%=genDataType.getSafeUncapName()%>;
+
+<%}%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%List<EStructuralFeature> attributes = extendedMetaData.getAllAttributes(genClass.getEcoreClass());%>
+<%List<EStructuralFeature> elements = extendedMetaData.getAllElements(genClass.getEcoreClass());%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genClass.getName()%>StackFrame push<%=genClass.getName()%>(<%=_StackFrame%> previous, Attributes attributes)
+ {
+ <%=genClass.getName()%>StackFrame result<%=genClass.getName()%> = <%=genClass.getSafeUncapName()%> == null ? new <%=genClass.getName()%>StackFrame() : <%=genClass.getSafeUncapName()%>;
+ <%=genClass.getSafeUncapName()%> = null;
+ result<%=genClass.getName()%>.pushOnto(previous);
+ result<%=genClass.getName()%>.handleAttributes(attributes);
+ return result<%=genClass.getName()%>;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genClass.getImportedInterfaceName()%> pop<%=genClass.getName()%>(<%=genClass.getName()%>StackFrame <%=genClass.getSafeUncapName()%>)
+ {
+ <%=genClass.getImportedInterfaceName()%> result<%=genClass.getName()%>Value = <%=genClass.getSafeUncapName()%>.pop<%=genClass.getName()%>();
+ this.<%=genClass.getSafeUncapName()%> = <%=genClass.getSafeUncapName()%>;
+ return result<%=genClass.getName()%>Value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class <%=genClass.getName()%>StackFrame extends <%=_StackFrame%>
+ {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genClass.getImportedInterfaceName()%> the<%=genClass.getName()%>;
+
+<%for (GenFeature genFeature : genClass.getAllGenFeatures()) {%>
+<%String name = extendedMetaData.getName(genFeature.getEcoreFeature());%>
+<%if ((elements.contains(genFeature.getEcoreFeature()) || attributes.contains(genFeature.getEcoreFeature())) && name.indexOf(":") == -1) {%>
+<%if (genFeature.isReferenceType()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genFeature.getTypeGenClass().getGenPackage().getImportedResourceClassName()%>.FrameFactory.<%=genFeature.getTypeGenClass().getName()%>StackFrame <%=genFeature.getSafeName()%>;
+
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_DataFrame%> <%=genFeature.getSafeName()%>;
+
+<%}%>
+<%}%>
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public void handleAttributes(Attributes attributes)
+ {
+<%int count = 0; for (GenFeature genFeature : genClass.getAllGenFeatures()) {%>
+<%String name = extendedMetaData.getName(genFeature.getEcoreFeature());%>
+<%if (attributes.contains(genFeature.getEcoreFeature()) && !genFeature.isDerived() && name.indexOf(":") == -1) {%>
+<%String namespace = Literals.toStringLiteral(extendedMetaData.getNamespace(genFeature.getEcoreFeature()), genModel); if ("null".equals(namespace)) namespace = "\"\"";%>
+<%if (!genFeature.isReferenceType()) { GenClassifier genClassifier = genFeature.getTypeGenClassifier();%>
+<%if (count++ == 0) {%>
+ String theValue = attributes.getValue(<%=namespace%>, "<%=name%>");
+<%} else {%>
+ theValue = attributes.getValue(<%=namespace%>, "<%=name%>");
+<%}%>
+ if (theValue != null)
+ {
+<%if (genClassifier.getGenPackage().isDataTypeConverters()) {%>
+ the<%=genClass.getName()%>.set<%=genFeature.getAccessorName()%>(<%=genClassifier.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.create<%=genClassifier.getName()%>(theValue));
+<%} else {%>
+ the<%=genClass.getName()%>.set<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(null)%>)<%=genClassifier.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.createFromString(<%=genClassifier.getQualifiedClassifierAccessor()%>, theValue));
+<%}%>
+ }
+<%}%>
+<%}%>
+<%}%>
+<%if (count == 0) {%>
+ // There are attributes to handle.
+<%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=_StackFrame%> startElement(String namespace, String localName, String qName, Attributes attributes) throws SAXException
+ {
+<%count = 0; for (GenFeature genFeature : genClass.getAllGenFeatures()) {%>
+<%String name = extendedMetaData.getName(genFeature.getEcoreFeature());%>
+<%if (elements.contains(genFeature.getEcoreFeature()) && name.indexOf(":") == -1) {%>
+<%String namespace = Literals.toStringLiteral(extendedMetaData.getNamespace(genFeature.getEcoreFeature()), genModel); if ("null".equals(namespace)) namespace = "\"\"";%>
+ <%if (count++ != 0) {%>else <%}%>if ("<%=name%>".equals(localName) && <%=namespace%>.equals(namespace))
+ {
+ return <%=genFeature.getSafeName()%> = <%=genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName()%>.FrameFactory.INSTANCE.push<%=genFeature.getTypeGenClassifier().getName()%>(this, attributes);
+ }
+<%}%>
+<%}%>
+<%if (count == 0) {%>
+ return super.startElement(namespace, localName, qName, attributes);
+<%} else {%>
+ else
+ {
+ return super.startElement(namespace, localName, qName, attributes);
+ }
+<%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public void endElement(<%=_StackFrame%> child) throws SAXException
+ {
+<%count = 0; for (GenFeature genFeature : genClass.getAllGenFeatures()) {%>
+<%String name = extendedMetaData.getName(genFeature.getEcoreFeature());%>
+<%if (elements.contains(genFeature.getEcoreFeature()) && name.indexOf(":") == -1) {%>
+ <%if (count++ != 0) {%>else <%}%>if (child == <%=genFeature.getSafeName()%>)
+ {
+<%if (genFeature.isListType()) {%>
+ the<%=genClass.getName()%>.<%=genFeature.getGetAccessor()%>().add(<%=genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName()%>.FrameFactory.INSTANCE.pop<%=genFeature.getTypeGenClassifier().getName()%>(<%=genFeature.getSafeName()%>));
+<%} else {%>
+ the<%=genClass.getName()%>.set<%=genFeature.getAccessorName()%>(<%=genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName()%>.FrameFactory.INSTANCE.pop<%=genFeature.getTypeGenClassifier().getName()%>(<%=genFeature.getSafeName()%>));
+<%}%>
+ <%=genFeature.getSafeName()%> = null;
+ }
+<%}%>
+<%}%>
+<%if (count == 0) {%>
+ super.endElement(child);
+<%} else {%>
+ else
+ {
+ super.endElement(child);
+ }
+<%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public void create()
+ {
+ the<%=genClass.getName()%> = <%=genPackage.getQualifiedFactoryInstanceAccessor()%>.create<%=genClass.getName()%>();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genClass.getImportedInterfaceName()%> pop<%=genClass.getName()%>()
+ {
+ pop();
+ <%=genClass.getImportedInterfaceName()%> result<%=genClass.getName()%>Value = the<%=genClass.getName()%>;
+ the<%=genClass.getName()%> = null;
+ return result<%=genClass.getName()%>Value;
+ }
+
+ }
+
+<%}%>
+<%for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=_DataFrame%> push<%=genDataType.getName()%>(<%=_StackFrame%> previous, Attributes attributes)
+ {
+ <%=_DataFrame%> result<%=genDataType.getName()%> = <%=genDataType.getSafeUncapName()%> == null ? new <%=_DataFrame%>() : <%=genDataType.getSafeUncapName()%>;
+ <%=genDataType.getSafeUncapName()%> = null;
+ result<%=genDataType.getName()%>.pushOnto(previous);
+ result<%=genDataType.getName()%>.handleAttributes(attributes);
+ return result<%=genDataType.getName()%>;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genDataType.getImportedParameterizedInstanceClassName()%> pop<%=genDataType.getName()%>(<%=_DataFrame%> <%=genDataType.getSafeUncapName()%>)
+ {
+<%if (genDataType.getGenPackage().isDataTypeConverters()) {%>
+ <%=genDataType.getImportedParameterizedInstanceClassName()%> result<%=genDataType.getName()%>Value = <%=genDataType.getGenPackage().getQualifiedFactoryInstanceAccessor()%>.create<%=genDataType.getName()%>(<%=genDataType.getSafeUncapName()%>.popValue());
+<%} else if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+ <%=genDataType.getImportedInstanceClassName()%> result<%=genDataType.getName()%>Value = ((<%=genDataType.getObjectInstanceClassName()%>)<%=genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.createFromString(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>.popValue())).<%=genDataType.getPrimitiveValueFunction()%>();
+<%} else {%>
+ <%=genDataType.getImportedInstanceClassName()%> result<%=genDataType.getName()%>Value = (<%=genDataType.getObjectInstanceClassName()%>)<%=genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor()%>.createFromString(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>.popValue());
+<%}%>
+ this.<%=genDataType.getSafeUncapName()%> = <%=genDataType.getSafeUncapName()%>;
+ return result<%=genDataType.getName()%>Value;
+ }
+
+<%}%>
+ }
+
+<%}%>
+} //<%=genPackage.getResourceClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._SsDRCGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._SsDRCGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PgoiEDG0Ed-kc8dEZsdm2w/method._SsDRCGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._07ePGWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._07ePGWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._07ePGWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._9Nt2VHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._9Nt2VHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..93d098d40
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._9Nt2VHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.hasConstraints());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph004zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..400775aaf
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph005zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getValidatorClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph006TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph006TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..99d091d1b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._Ph006TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,678 @@
+
+<%
+/**
+ * Copyright (c) 2002-2013 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%final String singleWildcard = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50 ? "<?>" : "";%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%genModel.addImport("java.util.Map");%>
+<%final String _Map = genModel.useGenerics() ? "Map<" + genModel.getImportedName("java.lang.Object") + ", " + genModel.getImportedName("java.lang.Object") + ">" : "Map";%>
+<%final String objectArgument = genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ">" : "";%>
+<%genModel.addImport("org.eclipse.emf.common.util.DiagnosticChain");%>
+<%genModel.addImport("org.eclipse.emf.ecore.EPackage");%>
+<%if (!genPackage.hasJavaLangConflict() && !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName())) genModel.addImport(genPackage.getInterfacePackageName() + ".*");%>
+<%genModel.markImportLocation(stringBuffer);%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.Descriptor");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.Registry");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.PatternMatcher");%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Validator</b> for the model.
+ * <!-- end-user-doc -->
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClassifiers())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genPackage.getValidatorClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genPackage.getValidatorClassName()%> INSTANCE = new <%=genPackage.getValidatorClassName()%>();
+
+ /**
+ * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+ * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+ * @generated
+ */
+ public static final String DIAGNOSTIC_SOURCE = "<%=genPackage.getInterfacePackageName()%>";<%=genModel.getNonNLS()%>
+
+<%int count = 0; for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%for (GenOperation genOperation : genClass.getInvariantOperations()) {%>
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint '<%=genOperation.getFormattedName()%>' of '<%=genClass.getFormattedName()%>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int <%=genClass.getOperationID(genOperation)%> = <%=++count%>;
+
+<%}}%>
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = <%=count%>;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
+
+<%for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {%>
+ /**
+ * The cached base package validator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=baseGenPackage.getImportedValidatorClassName()%> <%=genPackage.getValidatorPackageUniqueSafeName(baseGenPackage)%>Validator;
+
+<%}%>
+<%if (genPackage.hasInvariantExpressions()) {%>
+ /**
+ * Delegates evaluation of the given invariant expression against the object in the given context.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static boolean validate(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> eClass, <%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%> eObject, DiagnosticChain diagnostics, <%=_Map%> context, <%=genModel.getImportedName("java.lang.String")%> validationDelegate, <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> invariant, <%=genModel.getImportedName("java.lang.String")%> expression, int severity, <%=genModel.getImportedName("java.lang.String")%> source, int code)
+ {
+ return <%=genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator")%>.validate(eClass, eObject, diagnostics, context, validationDelegate, invariant, expression, severity, source, code);
+ }
+
+<%}%>
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getValidatorClassName()%>()
+ {
+ super();
+<%for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {%>
+ <%=genPackage.getValidatorPackageUniqueSafeName(baseGenPackage)%>Validator = <%=baseGenPackage.getImportedValidatorClassName()%>.INSTANCE;
+<%}%>
+ }
+
+ /**
+ * Returns the package of this validator switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected EPackage getEPackage()
+ {
+ return <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE;
+ }
+
+ /**
+ * Calls <code>validateXXX</code> for the corresponding classifier of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%if (genClassifier.isUncheckedCast()) {%>
+ @SuppressWarnings("unchecked")
+ <%break; }%>
+ <%}%>
+ protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, <%=_Map%> context)
+ {
+ switch (classifierID)
+ {
+<%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genPackage.getClassifierID(genClassifier)%>:
+ <%if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ <%if (genDataType.isPrimitiveType()) {%>
+ <%if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+ return validate<%=genDataType.getName()%>(((<%=genDataType.getObjectInstanceClassName()%>)value).<%=genDataType.getPrimitiveValueFunction()%>(), diagnostics, context);
+ <%} else {%>
+ return validate<%=genDataType.getName()%>((<%=genDataType.getObjectInstanceClassName()%>)value, diagnostics, context);
+ <%}%>
+ <%} else if (genDataType.isObjectType()) {%>
+ return validate<%=genDataType.getName()%>(value, diagnostics, context);
+ <%} else {%>
+ return validate<%=genDataType.getName()%>((<%=genDataType.getObjectType().getImportedWildcardInstanceClassName()%>)value, diagnostics, context);
+ <%}%>
+ <%} else { GenClass genClass = (GenClass)genClassifier;%>
+ return validate<%=genClass.getName()%>((<%=genClass.getImportedWildcardInstanceClassName()%>)value, diagnostics, context);
+ <%}%>
+<%}%>
+ default:
+ return true;
+ }
+ }
+
+<%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {String result = "result".equals(genClassifier.getSafeUncapName()) ? "theResult" : "result"; String diagnostics = "diagnostics".equals(genClassifier.getSafeUncapName()) ? "theDiagnostics" : "diagnostics"; String item = "item".equals(genClassifier.getSafeUncapName()) ? "theItem" : "item"; String context = "context".equals(genClassifier.getSafeUncapName()) ? "theContext" : "context";%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public boolean validate<%=genClassifier.getName()%>(<%=genClassifier.getImportedWildcardInstanceClassName()%> <%=genClassifier.getSafeUncapName()%>, DiagnosticChain <%=diagnostics%>, <%=_Map%> <%=context%>)
+ {
+<%if (genClassifier.getAllGenConstraints().isEmpty()) {%>
+ return true;
+<%} else if (genClassifier.hasOnlyDefaultConstraints()) {%>
+ return validate_EveryDefaultConstraint(<%if (!((GenClass)genClassifier).isEObjectExtension()){%>(<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)<%}%><%=genClassifier.getSafeUncapName()%>, <%=diagnostics%>, <%=context%>);
+<%} else { boolean first = true;%>
+<%for (String constraint : genClassifier.getAllGenConstraints()) {GenClassifier constraintImplementor = genClassifier.getConstraintImplementor(constraint);
+ String delegate = constraintImplementor == null || constraintImplementor.getGenPackage() == genPackage ? "" : genPackage.getValidatorPackageUniqueSafeName(constraintImplementor.getGenPackage()) + "Validator.";
+ String cast = constraintImplementor == null && genClassifier instanceof GenClass && !((GenClass)genClassifier).isEObjectExtension() ? "(" + genModel.getImportedName("org.eclipse.emf.ecore.EObject") + ")" : "";
+ String accessor = constraintImplementor != null && genClassifier instanceof GenDataType && !((GenDataType)genClassifier).isPrimitiveType() && ((GenDataType)constraintImplementor).isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50 ? "." + ((GenDataType)constraintImplementor).getPrimitiveValueFunction() + "()" : "";%>
+<%if ("NoCircularContainment".equals(constraint)) {%>
+ if (!validate_NoCircularContainment(<%if (!((GenClass)genClassifier).isEObjectExtension()){%>(<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)<%}%><%=genClassifier.getSafeUncapName()%>, <%=diagnostics%>, <%=context%>)) return false;
+<%} else if (first) { first = false;%>
+ boolean <%=result%> = <%=delegate%>validate<%=constraintImplementor == null ? "" : constraintImplementor.getName()%>_<%=constraint%>(<%=cast%><%=genClassifier.getSafeUncapName()%><%=accessor%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+ if (<%=result%> || <%=diagnostics%> != null) <%=result%> &= <%=delegate%>validate<%=constraintImplementor == null ? "" : constraintImplementor.getName()%>_<%=constraint%>(<%=cast%><%=genClassifier.getSafeUncapName()%><%=accessor%>, <%=diagnostics%>, <%=context%>);
+<%}%>
+<%}%>
+ return <%=result%>;
+<%}%>
+ }
+
+<%for (String constraint : genClassifier.getGenConstraints())
+{GenClassifier constraintDelegate = genClassifier.getConstraintDelegate(constraint);
+ String constant = genClassifier.getClassifierID() + "__" + CodeGenUtil.format(constraint, '_', null, false, false).toUpperCase(genClassifier.getGenModel().getLocale());
+ String delegate = constraintDelegate == null || constraintDelegate.getGenPackage() == genPackage ? "" : genPackage.getValidatorPackageUniqueSafeName(constraintDelegate.getGenPackage()) + "Validator.";
+ String cast = constraintDelegate == null && genClassifier instanceof GenClass && !((GenClass)genClassifier).isEObjectExtension() ? "(" + genModel.getImportedName("org.eclipse.emf.ecore.EObject") + ")" : "";
+ String accessor = constraintDelegate != null && genClassifier instanceof GenDataType && !((GenDataType)genClassifier).isPrimitiveType() && ((GenDataType)constraintDelegate).isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50 ? "." + ((GenDataType)constraintDelegate).getPrimitiveValueFunction() + "()" : "";%>
+<%if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+<%if (constraint.equals("Min") && genDataType.getMinLiteral() != null) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+ */
+ public static final <%=genDataType.getImportedInstanceClassName()%> <%=constant%>__VALUE = <%=genDataType.getStaticValue(genDataType.getMinLiteral())%>;
+
+<%} else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+ */
+ public static final <%=genDataType.getImportedInstanceClassName()%> <%=constant%>__VALUE = <%=genDataType.getStaticValue(genDataType.getMaxLiteral())%>;
+
+<%} else if (constraint.equals("TotalDigits") && genDataType.getTotalDigits() != -1 && !"java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) { String value = "1"; for (int digitCount = genDataType.getTotalDigits(); digitCount > 0; --digitCount) value += "0"; %>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+ */
+ public static final <%=genDataType.getImportedInstanceClassName()%> <%=constant%>__UPPER_BOUND = <%=genDataType.getStaticValue(value)%>;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+ */
+ public static final <%=genDataType.getImportedInstanceClassName()%> <%=constant%>__LOWER_BOUND = <%=genDataType.getStaticValue("-" + value)%>;
+
+<%} else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+ */
+ public static final PatternMatcher [][] <%=constant%>__VALUES =
+ new PatternMatcher [][]
+ {
+<%for (Iterator<List<String>> k = genDataType.getPatterns().iterator(); k.hasNext(); ) { List<String> patternList = k.next();%>
+ new PatternMatcher []
+ {
+<%for (Iterator<String> p = patternList.iterator(); p.hasNext(); ) { String pattern = p.next();%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil")%>.createPatternMatcher(<%=pattern%>)<%=p.hasNext() ? "," : ""%>
+<%}%>
+ }<%=k.hasNext() ? "," : ""%>
+<%}%>
+ };
+
+<%} else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @see #validate<%=genDataType.getName()%>_<%=constraint%>
+ */
+ <%if (genDataType.isUncheckedCast()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ public static final <%=genModel.getImportedName("java.util.Collection")%><%=objectArgument%> <%=constant%>__VALUES =
+ wrapEnumerationValues
+ (new Object[]
+ {
+<%for (Iterator<String> k = genDataType.getEnumerationLiterals().iterator(); k.hasNext(); ) { String literal = k.next();%>
+ <%if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>new <%=genDataType.getObjectInstanceClassName()%>(<%}%><%=genDataType.getStaticValue(literal, false)%><%if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>)<%}%><%=k.hasNext() ? "," : ""%>
+<%}%>
+ });
+
+<%}%>
+<%}%>
+<%if (genClassifier.hasConstraintExpression(constraint)) {%>
+ /**
+ * The cached validation expression for the <%=constraint%> constraint of '<em><%=genClassifier.getFormattedName()%></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final <%=genModel.getImportedName("java.lang.String")%> <%=genClassifier.getClassifierID()%>__<%=CodeGenUtil.upperName(constraint)%>__EEXPRESSION = "<%=genClassifier.getConstraintExpression(constraint, "\t\t")%>";<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * Validates the <%=constraint%> constraint of '<em><%=genClassifier.getFormattedName()%></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validate<%=genClassifier.getName()%>_<%=constraint%>(<%=genClassifier.getImportedWildcardInstanceClassName()%> <%=genClassifier.getSafeUncapName()%>, DiagnosticChain <%=diagnostics%>, <%=_Map%> <%=context%>)
+ {
+<%if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+<%if (constraint.equals("ItemType") && genDataType.getItemType() != null) { GenDataType itemType = genDataType.getItemType(); String itemDelegate = itemType.getGenPackage() == genPackage ? "" : genPackage.getValidatorPackageUniqueSafeName(itemType.getGenPackage()) + "Validator.";%>
+ boolean <%=result%> = true;
+ for (<%=genModel.getImportedName("java.util.Iterator")%><%=singleWildcard%> i = <%=genClassifier.getSafeUncapName()%>.iterator(); i.hasNext() && (result || diagnostics != null); )
+ {
+ Object item = i.next();
+ <%if (itemType.getGenPackage().hasConstraints()) {%>
+ if (<%=itemType.getQualifiedClassifierAccessor()%>.isInstance(item))
+ {
+ result &= <%=itemDelegate%>validate<%=itemType.getName()%>(<%if (itemType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>(<%}%><%if (!itemType.isObjectType()) {%>(<%=itemType.getObjectInstanceClassName()%>)<%}%><%=item%><%if (itemType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>).<%=itemType.getPrimitiveValueFunction()%>()<%}%>, <%=diagnostics%>, <%=context%>);
+ }
+ else
+ <%} else {%>
+ if (!<%=itemType.getQualifiedClassifierAccessor()%>.isInstance(item))
+ <%}%>
+ {
+ result = false;
+ reportDataValueTypeViolation(<%=itemType.getQualifiedClassifierAccessor()%>, item, <%=diagnostics%>, <%=context%>);
+ }
+ }
+ return result;
+<%} else if (constraint.equals("MemberTypes") && !genDataType.getMemberTypes().isEmpty()) {%>
+ if (diagnostics != null)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%> tempDiagnostics = new BasicDiagnostic();
+<%for (ListIterator<GenDataType> k = genDataType.getMemberTypes().listIterator(); k.hasNext(); ) { GenDataType memberType = k.next(); String memberDelegate = memberType.getGenPackage() == genPackage ? "" : genPackage.getValidatorPackageUniqueSafeName(memberType.getGenPackage()) + "Validator.";%>
+ <%if (genDataType.isPrimitiveType()) {%>
+ if (<%=memberDelegate%>validate<%=memberType.getName()%>(<%=genClassifier.getSafeUncapName()%>, tempDiagnostics, <%=context%>)) return true;
+ <%} else {%>
+ if (<%=memberType.getQualifiedClassifierAccessor()%>.isInstance(<%=genClassifier.getSafeUncapName()%>))
+ {
+ <%if (memberType.getGenPackage().hasConstraints()) {%>if (<%=memberDelegate%>validate<%=memberType.getName()%>(<%if (memberType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>(<%}%><%if (!memberType.isObjectType() && !memberType.getQualifiedInstanceClassName().equals(genDataType.getQualifiedInstanceClassName())) {%>(<%=memberType.getImportedWildcardObjectInstanceClassName()%>)<%}%><%=genClassifier.getSafeUncapName()%><%if (memberType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>).<%=memberType.getPrimitiveValueFunction()%>()<%}%>, tempDiagnostics, <%=context%>)) <%}%>return true;
+ }
+ <%}%>
+<%}%>
+<%if (genModel.useGenerics()) {%>
+ for (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%> diagnostic : tempDiagnostics.getChildren())
+ {
+ diagnostics.add(diagnostic);
+ }
+<%} else {%>
+ <%=genModel.getImportedName("java.util.List")%> children = tempDiagnostics.getChildren();
+ for (int i = 0; i < children.size(); i++)
+ {
+ diagnostics.add((<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>)children.get(i));
+ }
+<%}%>
+ }
+ else
+ {
+<%for (ListIterator<GenDataType> k = genDataType.getMemberTypes().listIterator(); k.hasNext(); ) { GenDataType memberType = k.next(); String memberDelegate = memberType.getGenPackage() == genPackage ? "" : genPackage.getValidatorPackageUniqueSafeName(memberType.getGenPackage()) + "Validator.";%>
+ <%if (genDataType.isPrimitiveType()) {%>
+ if (<%=memberDelegate%>validate<%=memberType.getName()%>(<%=genClassifier.getSafeUncapName()%>, null, <%=context%>)) return true;
+ <%} else {%>
+ if (<%=memberType.getQualifiedClassifierAccessor()%>.isInstance(<%=genClassifier.getSafeUncapName()%>))
+ {
+ <%if (memberType.getGenPackage().hasConstraints()) {%>if (<%=memberDelegate%>validate<%=memberType.getName()%>(<%if (memberType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>(<%}%><%if (!memberType.isObjectType() && !memberType.getQualifiedInstanceClassName().equals(genDataType.getQualifiedInstanceClassName())) {%>(<%=memberType.getImportedWildcardObjectInstanceClassName()%>)<%}%><%=genClassifier.getSafeUncapName()%><%if (memberType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>).<%=memberType.getPrimitiveValueFunction()%>()<%}%>, null, <%=context%>)) <%}%>return true;
+ }
+ <%}%>
+<%}%>
+ }
+ return false;
+<%} else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {%>
+ return validatePattern(<%=genDataType.getQualifiedClassifierAccessor()%>, <%if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>new <%=genDataType.getObjectInstanceClassName()%>(<%}%><%=genDataType.getSafeUncapName()%><%if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>)<%}%>, <%=constant%>__VALUES, <%=diagnostics%>, <%=context%>);
+<%} else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) { String variable = genDataType.getSafeUncapName();%>
+<%if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) { variable = variable + "Object";%>
+ <%=genDataType.getObjectInstanceClassName()%> <%=variable%> = new <%=genDataType.getObjectInstanceClassName()%>(<%=genDataType.getSafeUncapName()%>);
+<%}%>
+ boolean <%=result%> = <%=constant%>__VALUES.contains(<%=variable%>);
+ if (!<%=result%> && <%=diagnostics%> != null)
+ reportEnumerationViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=variable%>, <%=constant%>__VALUES, <%=diagnostics%>, <%=context%>);
+ return <%=result%>;
+<%} else if (constraint.equals("Min") && genDataType.getMinLiteral() != null) {%>
+<%if (genDataType.isPrimitiveType()) {%>
+ boolean <%=result%> = <%=genDataType.getSafeUncapName()%> <%=genDataType.isMinInclusive() ? ">=" : ">"%> <%=constant%>__VALUE;
+ if (!<%=result%> && <%=diagnostics%> != null)
+<%if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+ reportMinViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, new <%=genDataType.getObjectInstanceClassName()%>(<%=genDataType.getSafeUncapName()%>), new <%=genDataType.getObjectInstanceClassName()%>(<%=constant%>__VALUE), <%=genDataType.isMinInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+ reportMinViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE, <%=genDataType.isMinInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+<%}%>
+ return <%=result%>;
+<%} else { String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison" : "comparison";%>
+<%if (genDataType.isXMLCalendar()) {%>
+ int <%=comparison%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil")%>.compareCalendar(<%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE);
+ boolean <%=result%> = <%if (genDataType.isMinInclusive()) {%><%=comparison%> == 0 || <%}%><%=comparison%> == 1;
+<%} else if (genDataType.isXMLDuration()) {%>
+ int <%=comparison%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil")%>.compareDuration(<%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE);
+ boolean <%=result%> = <%if (genDataType.isMinInclusive()) {%><%=comparison%> == 0 || <%}%><%=comparison%> == 1;
+<%} else {%>
+ boolean <%=result%> = <%=genDataType.getSafeUncapName()%>.compareTo(<%=constant%>__VALUE) <%=genDataType.isMinInclusive() ? ">=" : ">"%> 0;
+<%}%>
+ if (!<%=result%> && <%=diagnostics%> != null)
+ reportMinViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE, <%=genDataType.isMinInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+ return <%=result%>;
+<%}%>
+<%} else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {%>
+<%if (genDataType.isPrimitiveType()) {%>
+ boolean <%=result%> = <%=genDataType.getSafeUncapName()%> <%=genDataType.isMaxInclusive() ? "<=" : "<"%> <%=constant%>__VALUE;
+ if (!<%=result%> && <%=diagnostics%> != null)
+<%if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+ reportMaxViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, new <%=genDataType.getObjectInstanceClassName()%>(<%=genDataType.getSafeUncapName()%>), new <%=genDataType.getObjectInstanceClassName()%>(<%=constant%>__VALUE), <%=genDataType.isMaxInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+ reportMaxViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE, <%=genDataType.isMaxInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+<%}%>
+ return <%=result%>;
+<%} else { String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison" : "comparison";%>
+<%if (genDataType.isXMLCalendar()) {%>
+ int <%=comparison%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil")%>.compareCalendar(<%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE);
+ boolean <%=result%> = <%if (genDataType.isMaxInclusive()) {%><%=comparison%> == 0 || <%}%><%=comparison%> == -1;
+<%} else if (genDataType.isXMLDuration()) {%>
+ int <%=comparison%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil")%>.compareDuration(<%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE);
+ boolean <%=result%> = <%if (genDataType.isMaxInclusive()) {%><%=comparison%> == 0 || <%}%><%=comparison%> == -1;
+<%} else {%>
+ boolean <%=result%> = <%=genDataType.getSafeUncapName()%>.compareTo(<%=constant%>__VALUE) <%=genDataType.isMaxInclusive() ? "<=" : "<"%> 0;
+<%}%>
+ if (!<%=result%> && <%=diagnostics%> != null)
+ reportMaxViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=constant%>__VALUE, <%=genDataType.isMaxInclusive() ? "true" : "false"%>, <%=diagnostics%>, <%=context%>);
+ return <%=result%>;
+<%}%>
+<%} else if (constraint.equals("MinLength") && genDataType.getMinLength() != -1) {%>
+ int length = <%=genDataType.getSafeUncapName()%>.<%=genDataType.getLengthAccessorFunction()%>;
+ boolean <%=result%> = length >= <%=genDataType.getMinLength()%>;
+ if (!<%=result%> && <%=diagnostics%> != null)
+ reportMinLengthViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, length, <%=genDataType.getMinLength()%>, <%=diagnostics%>, <%=context%>);
+ return <%=result%>;
+<%} else if (constraint.equals("MaxLength") && genDataType.getMaxLength() != -1) {%>
+ int length = <%=genDataType.getSafeUncapName()%>.<%=genDataType.getLengthAccessorFunction()%>;
+ boolean <%=result%> = length <= <%=genDataType.getMaxLength()%>;
+ if (!<%=result%> && <%=diagnostics%> != null)
+ reportMaxLengthViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, length, <%=genDataType.getMaxLength()%>, <%=diagnostics%>, <%=context%>);
+ return <%=result%>;
+<%} else if (constraint.equals("TotalDigits") && genDataType.getTotalDigits() != -1) {%>
+<%if (genDataType.isPrimitiveType()) {%>
+ boolean <%=result%> = <%=genDataType.getSafeUncapName()%> > <%=constant%>__LOWER_BOUND && <%=genDataType.getSafeUncapName()%> < <%=constant%>__UPPER_BOUND;
+ if (!<%=result%> && <%=diagnostics%> != null)
+<%if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+ reportTotalDigitsViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, new <%=genDataType.getObjectInstanceClassName()%>(<%=genDataType.getSafeUncapName()%>), <%=genDataType.getTotalDigits()%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+ reportTotalDigitsViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=genDataType.getTotalDigits()%>, <%=diagnostics%>, <%=context%>);
+<%}%>
+<%} else if ("java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {%>
+ int scale = <%=genDataType.getSafeUncapName()%>.scale();
+ int totalDigits = scale < 0 ? <%=genDataType.getSafeUncapName()%>.precision() - scale : <%=genDataType.getSafeUncapName()%>.precision();
+ boolean <%=result%> = totalDigits <= <%=genDataType.getTotalDigits()%>;
+ if (!<%=result%> && <%=diagnostics%> != null)
+ reportTotalDigitsViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=genDataType.getTotalDigits()%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+ boolean <%=result%> = <%=genDataType.getSafeUncapName()%>.compareTo(<%=constant%>__LOWER_BOUND) > 0 && <%=genDataType.getSafeUncapName()%>.compareTo(<%=constant%>__UPPER_BOUND) < 0;
+ if (!<%=result%> && <%=diagnostics%> != null)
+ reportTotalDigitsViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=genDataType.getTotalDigits()%>, <%=diagnostics%>, <%=context%>);
+<%}%>
+ return <%=result%>;
+<%} else if (constraint.equals("FractionDigits") && genDataType.getFractionDigits() != -1 && "java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {%>
+ boolean <%=result%> = <%=genDataType.getSafeUncapName()%>.scale() <= <%=genDataType.getFractionDigits()%>;
+ if (!<%=result%> && <%=diagnostics%> != null)
+ reportFractionDigitsViolation(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genDataType.getSafeUncapName()%>, <%=genDataType.getFractionDigits()%>, <%=diagnostics%>, <%=context%>);
+ return <%=result%>;
+<%} else if (constraintDelegate != null) {%>
+ // TODO override the constraint, if desired
+ // -> uncomment the scaffolding
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false)
+ {
+ if (<%=diagnostics%> != null)
+ {
+ <%=diagnostics%>.add
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+ (createDiagnostic
+ (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",<%=genModel.getNonNLS()%>
+ new Object[] { "<%=constraint%>", getValueLabel(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genClassifier.getSafeUncapName()%>, <%=context%>) },<%=genModel.getNonNLS()%>
+ new Object[] { <%=genClassifier.getSafeUncapName()%> },
+ context));
+<%} else {%>
+ (new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+ (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericConstraint_diagnostic", new Object[] { "<%=constraint%>", getValueLabel(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genClassifier.getSafeUncapName()%>, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ new Object[] { <%=genClassifier.getSafeUncapName()%> }));
+<%}%>
+ }
+ return false;
+ }
+ return <%=delegate%>validate<%=constraintDelegate.getName()%>_<%=constraint%>(<%=genClassifier.getSafeUncapName()%><%=accessor%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+ <%if (genClassifier.hasConstraintExpression(constraint)) {%>
+ return
+ validate
+ (<%=genClassifier.getQualifiedClassifierAccessor()%>,
+ <%=genClassifier.getSafeUncapName()%>,
+ <%=diagnostics%>,
+ <%=context%>,
+ "<%=genClassifier.getValidationDelegate(constraint)%>",<%=genModel.getNonNLS()%>
+ "<%=constraint%>",<%=genModel.getNonNLS()%>
+ <%=genClassifier.getClassifierID()%>__<%=CodeGenUtil.upperName(constraint)%>__EEXPRESSION,
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0);
+ <%} else {%>
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false)
+ {
+ if (<%=diagnostics%> != null)
+ {
+ <%=diagnostics%>.add
+ <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+ (createDiagnostic
+ (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",<%=genModel.getNonNLS()%>
+ new Object[] { "<%=constraint%>", getValueLabel(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genClassifier.getSafeUncapName()%>, <%=context%>) },<%=genModel.getNonNLS()%>
+ new Object[] { <%=genClassifier.getSafeUncapName()%> },
+ context));
+ <%} else {%>
+ (new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+ (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericConstraint_diagnostic", new Object[] { "<%=constraint%>", getValueLabel(<%=genDataType.getQualifiedClassifierAccessor()%>, <%=genClassifier.getSafeUncapName()%>, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ new Object[] { <%=genClassifier.getSafeUncapName()%> }));
+ <%}%>
+ }
+ return false;
+ }
+ return true;
+ <%}%>
+<%}%>
+<%} else { GenOperation genOperation = ((GenClass)genClassifier).getInvariantOperation(constraint); if (genOperation != null) {%>
+ return <%=genClassifier.getSafeUncapName()%>.<%=constraint%>(<%=diagnostics%>, <%=context%>);
+<%} else if (constraintDelegate != null) {%>
+ // TODO override the constraint, if desired
+ // -> uncomment the scaffolding
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false)
+ {
+ if (<%=diagnostics%> != null)
+ {
+ <%=diagnostics%>.add
+ <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+ (createDiagnostic
+ (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",<%=genModel.getNonNLS()%>
+ new Object[] { "<%=constraint%>", getObjectLabel(<%=genClassifier.getSafeUncapName()%>, <%=context%>) },<%=genModel.getNonNLS()%>
+ new Object[] { <%=genClassifier.getSafeUncapName()%> },
+ context));
+ <%} else {%>
+ (new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+ (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericConstraint_diagnostic", new Object[] { "<%=constraint%>", getObjectLabel(<%=genClassifier.getSafeUncapName()%>, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ new Object[] { <%=genClassifier.getSafeUncapName()%> }));
+ <%}%>
+ }
+ return false;
+ }
+ return <%=delegate%>validate<%=constraintDelegate.getName()%>_<%=constraint%>(<%=cast%><%=genClassifier.getSafeUncapName()%>, <%=diagnostics%>, <%=context%>);
+<%} else {%>
+ <%if (genClassifier.hasConstraintExpression(constraint)) {%>
+ return
+ validate
+ (<%=genClassifier.getQualifiedClassifierAccessor()%>,
+ <%if (!((GenClass)genClassifier).isEObjectExtension()) {%>(<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)<%}%><%=genClassifier.getSafeUncapName()%>,
+ <%=diagnostics%>,
+ <%=context%>,
+ "<%=genClassifier.getValidationDelegate(constraint)%>",<%=genModel.getNonNLS()%>
+ "<%=constraint%>",<%=genModel.getNonNLS()%>
+ <%=genClassifier.getClassifierID()%>__<%=CodeGenUtil.upperName(constraint)%>__EEXPRESSION,
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0);
+ <%} else {%>
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false)
+ {
+ if (<%=diagnostics%> != null)
+ {
+ <%=diagnostics%>.add
+ <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+ (createDiagnostic
+ (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",<%=genModel.getNonNLS()%>
+ new Object[] { "<%=constraint%>", getObjectLabel(<%=genClassifier.getSafeUncapName()%>, <%=context%>) },<%=genModel.getNonNLS()%>
+ new Object[] { <%=genClassifier.getSafeUncapName()%> },
+ context));
+ <%} else {%>
+ (new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic")%>
+ (<%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin")%>.INSTANCE.getString("_UI_GenericConstraint_diagnostic", new Object[] { "<%=constraint%>", getObjectLabel(<%=genClassifier.getSafeUncapName()%>, <%=context%>) }),<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ new Object[] { <%=genClassifier.getSafeUncapName()%> }));
+ <%}%>
+ }
+ return false;
+ }
+ return true;
+ <%}%>
+<%}}%>
+ }
+
+<%}%>
+<%}%>
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+ /**
+ * Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator")%> getResourceLocator()
+ {
+ <%if (genModel.hasModelPluginClass()) {%>
+ return <%=genModel.getImportedName(genModel.getQualifiedModelPluginClassName())%>.INSTANCE;
+ <%} else {%>
+ // TODO
+ // Specialize this to return a resource locator for messages specific to this validator.
+ // Ensure that you remove @generated or mark it @generated NOT
+ return super.getResourceLocator();
+ <%}%>
+ }
+
+<%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.ValidatorClass.ValidatorClass.insert" args="genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,singleWildcard:singleWildcard,_Map:_Map,objectArgument:objectArgument,count:count"%>
+} //<%=genPackage.getValidatorClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._SspG8mKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._SspG8mKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Ph004DG0Ed-kc8dEZsdm2w/method._SspG8mKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._089c2WKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._089c2WKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._089c2WKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._9Wzg5HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._9Wzg5HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..24600c9fc
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._9Wzg5HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isAdapterFactory() && !genPackage.getGenClasses().isEmpty());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_AzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..ed70464b3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_BzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getAdapterFactoryClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_CTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_CTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..1093c97a0
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._PhO_CTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,183 @@
+
+<%
+/**
+ * Copyright (c) 2002-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel(); /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%genModel.addImport("org.eclipse.emf.common.notify.Adapter");%>
+<%genModel.addImport("org.eclipse.emf.common.notify.Notifier");%>
+<%genModel.addImport("org.eclipse.emf.common.notify.impl.AdapterFactoryImpl");%>
+<%genModel.addImport("org.eclipse.emf.ecore.EObject");%>
+<%if (!genPackage.hasJavaLangConflict() && !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName())) genModel.addImport(genPackage.getInterfacePackageName() + ".*");%>
+<%String typeArgument = genModel.useGenerics() ? "<Adapter>" : "";%>
+<%String returnType = genModel.useGenerics() ? "Adapter" : genModel.getImportedName("java.lang.Object");%>
+<%String adapterCast = genModel.useGenerics() ? "" : "(Adapter)";%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getAllSwitchGenClasses())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genPackage.getAdapterFactoryClassName()%> extends AdapterFactoryImpl
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static <%=genPackage.getImportedPackageInterfaceName()%> modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getAdapterFactoryClassName()%>()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public boolean isFactoryForType(Object object)
+ {
+ if (object == modelPackage)
+ {
+ return true;
+ }
+ if (object instanceof EObject)
+ {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genPackage.getSwitchClassName()%><%=typeArgument%> modelSwitch =
+ new <%=genPackage.getSwitchClassName()%><%=typeArgument%>()
+ {
+<%for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {%>
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genClass.getTypeParameters()%><%=returnType%> case<%=genPackage.getClassUniqueName(genClass)%>(<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> object)
+ {
+ return create<%=genPackage.getClassUniqueName(genClass)%>Adapter();
+ }
+<%}%>
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=returnType%> defaultCase(EObject object)
+ {
+ return create<%=genPackage.getClassUniqueName(null)%>Adapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public Adapter createAdapter(Notifier target)
+ {
+ return <%=adapterCast%>modelSwitch.doSwitch((EObject)target);
+ }
+
+<%for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {%>
+
+ /**
+ * Creates a new adapter for an object of class '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public Adapter create<%=genPackage.getClassUniqueName(genClass)%>Adapter()
+ {
+ return null;
+ }
+<%}%>
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter create<%=genPackage.getClassUniqueName(null)%>Adapter()
+ {
+ return null;
+ }
+
+} //<%=genPackage.getAdapterFactoryClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._Ssy372KPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._Ssy372KPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PhO_ADG0Ed-kc8dEZsdm2w/method._Ssy372KPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._07BjKWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._07BjKWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._07BjKWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._82LgFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._82LgFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..24600c9fc
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._82LgFHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isAdapterFactory() && !genPackage.getGenClasses().isEmpty());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh5-TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh5-TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..2badca5df
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh5-TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,245 @@
+
+<%
+/**
+ * Copyright (c) 2002-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean supportsComposition = genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF27_VALUE;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getUtilitiesPackageName()%>;
+
+<%if (supportsComposition) {%>
+<%genModel.addImport("org.eclipse.emf.ecore.EObject");%>
+<%genModel.addImport("org.eclipse.emf.ecore.EPackage");%>
+<%genModel.addImport("org.eclipse.emf.ecore.util.Switch");%>
+<%} else {%>
+<%genModel.addImport("org.eclipse.emf.ecore.EClass");%>
+<%genModel.addImport("org.eclipse.emf.ecore.EObject");%>
+<%}%>
+<%if (!genPackage.hasJavaLangConflict() && !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName())) genModel.addImport(genPackage.getInterfacePackageName() + ".*");%>
+<%
+String templateParameterName = null;
+if (genModel.useGenerics())
+{
+ Set<String> usedNames = new HashSet<String>();
+ for (GenEnum genEnum : genPackage.getGenEnums())
+ {
+ usedNames.add(genEnum.getName());
+ }
+ for (GenClass genClass : genPackage.getAllSwitchGenClasses())
+ {
+ if (!genClass.isDynamic() && !genClass.isExternalInterface())
+ {
+ usedNames.add(genClass.getName());
+ }
+ for (GenTypeParameter genTypeParameter : genClass.getGenTypeParameters())
+ {
+ usedNames.add(genTypeParameter.getName());
+ }
+ }
+ templateParameterName = "T";
+ for (int i = 1; usedNames.contains(templateParameterName); ++i)
+ {
+ templateParameterName = "T" + i;
+ }
+}
+%>
+<%String templateParameters = genModel.useGenerics() ? "<" + templateParameterName + ">" : "";%>
+<%String returnType = genModel.useGenerics() ? templateParameterName : genModel.getImportedName("java.lang.Object");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClasses())) {%>
+ @SuppressWarnings("deprecation")
+<%}%>
+public class <%=genPackage.getSwitchClassName()%><%=templateParameters%><%if (supportsComposition){%> extends Switch<%=templateParameters%><%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static <%=genPackage.getImportedPackageInterfaceName()%> modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getSwitchClassName()%>()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE;
+ }
+ }
+
+<%if (supportsComposition) {%>
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage)
+ {
+ return ePackage == modelPackage;
+ }
+<%} else { boolean isUnnecessaryElse = genModel.isUnnecessaryElse(); String indent = isUnnecessaryElse ? "" : "\t";%>
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public <%=returnType%> doSwitch(EObject theEObject)
+ {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected <%=returnType%> doSwitch(EClass theEClass, EObject theEObject)
+ {
+ if (theEClass.eContainer() == modelPackage)
+ {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ <%if (!isUnnecessaryElse) {%>
+ else
+ {
+ <%}%>
+ <%=indent%><%=genModel.getImportedName("java.util.List")%><%if (genModel.useGenerics()) {%><<%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%>><%}%> eSuperTypes = theEClass.getESuperTypes();
+ <%=indent%>return
+ <%=indent%> eSuperTypes.isEmpty() ?
+ <%=indent%> defaultCase(theEObject) :
+ <%=indent%> doSwitch(<%if (!genModel.useGenerics()) {%>(EClass)<%}%>eSuperTypes.get(0), theEObject);
+ <%if (!isUnnecessaryElse) {%>
+ }
+ <%}%>
+ }
+<%}%>
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+<%if (supportsComposition) {%>
+ @Override
+<%}%>
+ protected <%=returnType%> doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%if (!genClass.isEObject()) { String result = "result".equals(genClass.getSafeUncapName()) ? "theResult" : "result"; %>
+ case <%=genPackage.getImportedPackageInterfaceName()%>.<%=genPackage.getClassifierID(genClass)%>:
+ {
+ <%if (genClass.isUncheckedCast() || genClass.isMapEntry() && isJDK50) {%>@SuppressWarnings("unchecked") <%}%><%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> <%=genClass.getSafeUncapName()%> = (<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)theEObject;
+ <%=returnType%> <%=result%> = case<%=genPackage.getClassUniqueName(genClass)%>(<%=genClass.getSafeUncapName()%>);
+<%for (GenClass baseGenClass : genClass.getSwitchGenClasses()) {%>
+ if (<%=result%> == null) <%=result%> = <%if (genClass.isRawBaseClass(baseGenClass)) {%>(<%=returnType%>)<%}%>case<%=genPackage.getClassUniqueName(baseGenClass)%>(<%if (genClass.isMapEntry()) {%>(<%=baseGenClass.getImportedInterfaceName()%><%=baseGenClass.getInterfaceTypeArguments()%>)<%}%><%=genClass.getSafeUncapName()%>);
+<%}%>
+ if (<%=result%> == null) <%=result%> = defaultCase(theEObject);
+ return <%=result%>;
+ }
+<%}%>
+<%}%>
+ default: return defaultCase(theEObject);
+ }
+ }
+<%for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {%>
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em><%=genClass.getFormattedName()%></em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em><%=genClass.getFormattedName()%></em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public <%=genClass.getTypeParameters()%><%=returnType%> case<%=genPackage.getClassUniqueName(genClass)%>(<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> object)
+ {
+ return null;
+ }
+<%}%>
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+<%if (supportsComposition) {%>
+ @Override
+<%}%>
+ public <%=returnType%> defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} //<%=genPackage.getSwitchClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh58zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..2998af6f9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._Phh59zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getModelDirectory();
+packageName = genPackage.getUtilitiesPackageName();
+className = genPackage.getSwitchClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._StieyGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._StieyGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Phh58DG0Ed-kc8dEZsdm2w/method._StieyGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._0920uWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._0920uWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._0920uWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._9tdGVHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._9tdGVHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..5d95e6cd9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._9tdGVHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+canGenerate = canGenerate && (true);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39wzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..0634f5be4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39xzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditProjectDirectory() + "/" + genModel.getEditBundleLocalization()+ ".properties";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39yTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39yTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..edb321ded
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Pi39yTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,63 @@
+
+<%
+/**
+ * Copyright (c) 2002-2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+pluginName = <%=genModel.getEditBundleName()%>
+providerName = <%=genModel.getEditBundleVendorName()%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+
+<%if (genModel.isCreationCommands()) {%>
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} <%if (genModel.isCreationSubmenus()) {%>| <%}%>{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}
+
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+ <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) { %>
+ <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+_UI_<%=genClass.getName()%>_type = <%=genClass.getFormattedName()%>
+ <%}%>
+ <%}%>
+<%}%>
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+<%for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) { String description = genFeature.getPropertyDescription();%>
+_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_feature = <%=genFeature.getFormattedName()%>
+ <%if (description != null && description.length() > 0) {%>
+_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_description = <%=description%>
+ <%}%>
+<%}%>
+_UI_Unknown_feature = Unspecified
+
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+ <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {%>
+ <%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
+ <%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+_UI_<%=genEnum.getName()%>_<%=genEnumLiteral.getName()%>_literal = <%=genEnumLiteral.getLiteral()%>
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%for (String category : genModel.getPropertyCategories()) {%>
+<%=genModel.getPropertyCategoryKey(category)%> = <%=category%>
+<%}%>
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Sub2qGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Sub2qGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pi39wDG0Ed-kc8dEZsdm2w/method._Sub2qGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._09tDuWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._09tDuWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._09tDuWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._9qU51HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._9qU51HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..2c9ac31d5
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._9qU51HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) && (!genModel.sameEditEditorProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW5zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..561957722
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW6zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditProjectDirectory() + "/plugin.xml";
+overwrite = true;
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW7TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW7TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..a3910daf8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._PiIW7TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,141 @@
+
+<%
+/**
+ * Copyright (c) 2002-2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; String key = genModel.getPluginKey(); boolean hasKey = key != null && !key.equals("");%>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+<%if (genModel.isBundleManifest()) {%>
+<plugin>
+<%} else {%>
+<plugin
+ name="%pluginName"
+ id="<%=genModel.getEditPluginID()%>"
+ version="1.0.0"
+ provider-name="%providerName"
+ class="<%=genModel.getQualifiedEditPluginClassName()%>$Implementation">
+
+ <requires>
+ <%for (String pluginID : genModel.getEditRequiredPlugins()) {%>
+ <import plugin="<%=pluginID%>"<%if (!pluginID.startsWith("org.eclipse.core.runtime")) {%> export="true"<%}%>/>
+ <%}%>
+ </requires>
+
+ <runtime>
+ <%if (genModel.isRuntimeJar()) {%>
+ <library name="<%=genModel.getEditPluginID()%>.jar">
+ <%} else {%>
+ <library name=".">
+ <%}%>
+ <export name="*"/>
+ </library>
+ </runtime>
+<%}%>
+<%if (genModel.sameModelEditProject()) {%>
+ <%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <package
+ uri="<%=genPackage.getNSURI()%>"
+ <%if (genModel.hasLocalGenModel()) {%>
+ class="<%=genPackage.getQualifiedPackageInterfaceName()%>"
+ genModel="<%=genModel.getRelativeGenModelLocation()%>"/>
+ <%} else {%>
+ class="<%=genPackage.getQualifiedPackageInterfaceName()%>"/>
+ <%}%>
+ </extension>
+ <%if (genPackage.isContentType()) {%>
+
+ <extension point="org.eclipse.emf.ecore.content_parser">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <parser
+ contentTypeIdentifier="<%=genPackage.getContentTypeIdentifier()%>"
+ class="<%=genPackage.getQualifiedEffectiveResourceFactoryClassName()%>"/>
+ </extension>
+
+ <extension point="org.eclipse.core.contenttype.contentTypes">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <content-type
+ base-type="<%=genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml"%>"
+ file-extensions="<%=genPackage.getFileExtensions()%>"
+ id="<%=genPackage.getContentTypeIdentifier()%>"
+ name="%_UI_<%=genPackage.getPrefix()%>_content_type"
+ priority="normal">
+ <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <%if (genPackage.hasTargetNamespace()) {%>
+ <parameter name="namespace" value="<%=genPackage.getNSURI()%>"/>
+ <%}%>
+ <%if (genPackage.isXMIResource()) {%>
+ <parameter name="kind" value="xmi"/>
+ <%}%>
+ </describer>
+ </content-type>
+ </extension>
+ <%} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {%>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <%for (String fileExtension : genPackage.getFileExtensionList()) {%>
+ <parser
+ type="<%=fileExtension%>"
+ class="<%=genPackage.getQualifiedResourceFactoryClassName()%>"/>
+ <%}%>
+ </extension>
+ <%}%>
+ <%}%>
+<%}%>
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+ <%if (!genPackage.getGenClasses().isEmpty()) {%>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <factory
+ uri="<%=genPackage.getNSURI()%>"
+ class="<%=genPackage.getQualifiedItemProviderAdapterFactoryClassName()%>"
+ supportedTypes=
+ <%for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext(); ) {%>
+ <%=j.hasPrevious() ? " " : "\""%><%=j.next()%><%if (!j.hasNext()) {%>"/><%}%>
+ <%}%>
+ </extension>
+ <%if (genPackage.isChildCreationExtenders()) { Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage.getExtendedChildCreationData();%>
+ <%if (!extendedChildCreationData.isEmpty()) {%>
+
+ <extension point="org.eclipse.emf.edit.childCreationExtenders">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <%for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData.entrySet()) {%>
+ <extender
+ uri="<%=entry.getKey().getNSURI()%>"
+ class="<%=genPackage.getQualifiedItemProviderAdapterFactoryClassName()%>$<%=genPackage.getChildCreationExtenderName(entry.getKey())%>"/>
+ <%}%>
+ </extension>
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+
+</plugin>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._SuSFqGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._SuSFqGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiIW5DG0Ed-kc8dEZsdm2w/method._SuSFqGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._09QXzWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._09QXzWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._09QXzWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._9kEg2HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._9kEg2HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..72ea78b72
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._9kEg2HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+canGenerate = canGenerate && true;
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR0zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..3659b4673
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR1zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditProjectDirectory() + "/build.properties";
+overwrite = genModel.isUpdateClasspath() && !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter).toURI(genModel.getEditProjectDirectory()).appendSegment("plugin.xml"));
+encoding = "ISO-8859-1";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR2TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR2TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..494ab7dc3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._PibR2TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,37 @@
+
+<%
+/**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getEditPluginID()+".jar" : ".";%>
+<%List<String> sourceFolders = genModel.getEditSourceFolders();%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+bin.includes = <%=pluginClassesLocation%>,\
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+ icons/,\
+<%}%>
+<%if (genModel.isBundleManifest()) {%>
+ META-INF/,\
+<%}%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+ plugin.xml,\
+<%}%>
+<%String editBundleLocalization = genModel.getEditBundleLocalization(); int index = editBundleLocalization.indexOf("/"); if (index == -1) {%>
+ <%=editBundleLocalization%>.properties
+<%} else {%>
+ <%=editBundleLocalization.substring(0, index + 1)%>
+<%}%>
+jars.compile.order = <%=pluginClassesLocation%>
+<% boolean first=true; for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) { String sourceFolder = i.next(); if (i.hasNext()){sourceFolder +=",\\";} if (first) {%>
+source.<%=pluginClassesLocation%> = <%=sourceFolder%><%first=false;} else {%><%=sourceFolder%><%}}%>
+output.<%=pluginClassesLocation%> = bin/
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._St_KvGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._St_KvGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PibR0DG0Ed-kc8dEZsdm2w/method._St_KvGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._09j5yWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._09j5yWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._09j5yWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._9nWeVHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._9nWeVHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..ff1d18b6f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._9nWeVHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+canGenerate = canGenerate && (genModel.isBundleManifest()) && (!genModel.sameEditEditorProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMwzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..2474bfe71
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMxzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditProjectDirectory() + "/META-INF/MANIFEST.MF";
+overwrite = genModel.isUpdateClasspath();
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMyTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMyTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..1945d4ece
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._PiuMyTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,54 @@
+
+<%
+/**
+ * Copyright (c) 2005-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: <%=genModel.getEditBundleNameKey()%>
+Bundle-SymbolicName: <%=genModel.getEditPluginID()%>;singleton:=true
+Automatic-Module-Name: <%=genModel.getEditPluginID()%>
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: <%if (genModel.isRuntimeJar()) {%><%=genModel.getEditPluginID()%>.jar<%}else{%>.<%}%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+Bundle-Activator: <%=genModel.getQualifiedEditPluginClassName()%>$Implementation<%if (genModel.isOSGiCompatible()) {%>$Activator<%}%>
+<%}%>
+Bundle-Vendor: <%=genModel.getEditBundleVendorKey()%>
+Bundle-Localization: <%=genModel.getEditBundleLocalization()%>
+<%if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-10
+<%}%>
+<%Iterator<String> packagesIterator = genModel.getEditQualifiedPackageNames().iterator(); if (packagesIterator.hasNext()) { String pack = packagesIterator.next();%>
+Export-Package: <%=pack%><%while(packagesIterator.hasNext()) { pack = packagesIterator.next();%>,
+ <%=pack%><%}%>
+<%}%>
+<%Iterator<String> requiredPluginIterator = genModel.getEditRequiredPlugins().iterator(); if (requiredPluginIterator.hasNext()) { String pluginID = requiredPluginIterator.next();%>
+Require-Bundle: <%=pluginID%><%if (pluginID.startsWith("org.eclipse.core.runtime")) {if (genModel.isOSGiCompatible()) {%>;resolution:=optional;x-installation:=greedy<%}} else {%>;visibility:=reexport<%} while(requiredPluginIterator.hasNext()) { pluginID = requiredPluginIterator.next();%>,
+ <%=pluginID%><%if (pluginID.startsWith("org.eclipse.core.runtime")) {if (genModel.isOSGiCompatible()) {%>;resolution:=optional;x-installation:=greedy<%}} else if (!pluginID.equals("org.eclipse.xtext.xbase.lib") && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {%>;visibility:=reexport<%}}%>
+<%}%>
+<%if (genModel.isOSGiCompatible()) {%>
+Import-Package: org.osgi.framework
+<%}%>
+<%if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22 || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {%>
+Eclipse-LazyStart: true
+<%}%>
+Bundle-ActivationPolicy: lazy
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._SuI7uGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._SuI7uGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PiuMwDG0Ed-kc8dEZsdm2w/method._SuI7uGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._0-wMmGKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._0-wMmGKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._0-wMmGKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._97KyNHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._97KyNHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..2c704cd8e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._97KyNHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,4 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQkzG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQlzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQlzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..4e02ee8bf
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pj6fkDG0Ed-kc8dEZsdm2w/method._PkEQlzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,18 @@
+<%
+GenPackage genPackage = parameter;
+GenModel genModel=genPackage.getGenModel();
+if (genModel.isCreationCommands() && genModel.isCreationIcons() && genPackage.isChildCreationExtenders()) {
+ for ( Map.Entry<GenPackage,Map<GenClass,List<GenClass.ChildCreationData>>> packageEntry : genPackage.getExtendedChildCreationData().entrySet()) {
+ for ( Map.Entry<GenClass,List<GenClass.ChildCreationData>> classEntry : packageEntry.getValue().entrySet()) {
+ GenClass genClass=classEntry.getKey();
+ for ( GenClass.ChildCreationData childCreationData : classEntry.getValue()) {
+ if (childCreationData.createClassifier instanceof GenClass && (childCreationData.delegatedFeature == null || classEntry.getKey().getAllGenFeatures().contains(childCreationData.delegatedFeature))) {
+ GenClass childClass=(GenClass)childCreationData.createClassifier;
+ GenFeature feature=childCreationData.createFeature;
+new CodegenGeneratorAdapter(parameter).generateGIF("edit/CreateChild.gif", genClass.getCreateChildIconFileName(genModel,feature,childClass), genClass.getName(), childClass.getName(), false);
+ }
+ }
+ }
+ }
+}
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._0-TgqWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._0-TgqWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._0-TgqWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._9wJN9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._9wJN9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..4d200c7b4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._9wJN9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenClass genClass = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+canGenerate = canGenerate && true;
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4sjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4sjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4sjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4szG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4szG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4szG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7680b09f9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4tzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenClass genClass = parameter;
+targetPath = genClass.getGenModel().getEditDirectory();
+packageName = genClass.getGenPackage().getProviderPackageName();
+className = genClass.getProviderClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4uTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4uTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..a876f8929
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._PjK4uTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,410 @@
+
+<%
+/**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+%>
+<%GenClass genClass = (GenClass)argument; GenPackage genPackage = genClass.getGenPackage(); GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();String indentDefaultCase = forceDefaultCase ? "\t\t" : "";%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getProviderPackageName()%>;
+
+
+<%genModel.addImport("org.eclipse.emf.common.notify.AdapterFactory");%>
+<%genModel.addImport("org.eclipse.emf.common.notify.Notification");%>
+<%String _List = genModel.getImportedName(genModel.useGenerics() ? "java.util.List<org.eclipse.emf.edit.provider.IItemPropertyDescriptor>" : "java.util.List");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the item provider adapter for a {@link <%=genClass.getRawQualifiedInterfaceName()%>} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genClass.hasImplicitAPITags()) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {%>
+@Deprecated
+ <%}%>
+public class <%=genClass.getProviderClassName()%> <%if (genClass.getProviderImplementsClassNames().isEmpty()) {%>extends <%=genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName() : genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter")%><%}%>
+<%if (!genClass.getProviderImplementsClassNames().isEmpty()) {%>
+ extends <%=genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName() : genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter")%>
+ implements
+ <%for (Iterator<String> i = genClass.getProviderImplementsClassNames().iterator(); i.hasNext(); ) {%>
+ <%=genModel.getImportedName(i.next())%><%if (i.hasNext()){%>,<%}%>
+ <%}%>
+<%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genClass.getProviderClassName()%>(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public <%=_List%> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+<%for (GenFeature genFeature : genClass.getPropertyFeatures()) { %>
+ add<%=genFeature.getCapName()%>PropertyDescriptor(object);
+<%}%>
+ }
+ return itemPropertyDescriptors;
+ }
+
+<%for (GenFeature genFeature : genClass.getPropertyFeatures()) { %>
+ /**
+ * This adds a property descriptor for the <%=genFeature.getFormattedName()%> feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected void add<%=genFeature.getCapName()%>PropertyDescriptor(Object object)
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.addPropertyDescriptor.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%><%//ItemProvider/addPropertyDescriptor.override.javajetinc%>
+ }
+
+<%}%>
+<%if (!genClass.getChildrenFeatures().isEmpty()) {%>
+ /**
+ * 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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public <%=genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<? extends org.eclipse.emf.ecore.EStructuralFeature>" : "java.util.Collection")%> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+<%for (GenFeature genFeature : genClass.getChildrenFeatures()) { %>
+ childrenFeatures.add(<%=genFeature.getQualifiedFeatureAccessor()%>);
+<%}%>
+ }
+ return childrenFeatures;
+ }
+
+<%if (!genClass.getChildrenFeatures().isEmpty()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.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);
+ }
+
+<%}%>
+<%}%>
+<%if (genClass.needsHasChildrenMethodOverride()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, <%=genModel.isOptimizedHasChildren()%>);
+ }
+
+<%}%>
+<%if (genClass.isImage()) {%>
+ /**
+ * This returns <%=genClass.getName()%>.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/<%=genClass.getName()%>"));<%=genModel.getNonNLS()%>
+ }
+
+<%}%>
+<%if (genClass.getProviderImplementsClassNames().contains("org.eclipse.emf.edit.provider.ITableItemLabelProvider")) {%>
+ /**
+ * This returns <code>getImage(object)</code> for the column index <code>0</code> or <code>super.getImage(object)</code> otherwise.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getText(Object)
+ * @see #getColumnText(Object, int)
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Object getColumnImage(Object object, int columnIndex)
+ {
+ // TODO: implement this method to return appropriate information for each column.
+ // Ensure that you remove @generated or mark it @generated NOT
+ return columnIndex == 0 ? getImage(object) : super.getImage(object);
+ }
+
+<%}%>
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE && !genModel.isCreationIcons()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+<%}%>
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public String getText(Object object)
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getText.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%><%//ItemProvider/getText.override.javajetinc%>
+ }
+
+<%if (genClass.getProviderImplementsClassNames().contains("org.eclipse.emf.edit.provider.ITableItemLabelProvider")) {%>
+ /**
+ * This returns <code>getText(object)</code> for the column index <code>0</code> or <code>super.getText(object)</code> otherwise.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImage(Object)
+ * @see #getColumnImage(Object, int)
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public String getColumnText(Object object, int columnIndex)
+ {
+ // TODO: implement this method to return appropriate information for each column.
+ // Ensure that you remove @generated or mark it @generated NOT
+ return columnIndex == 0 ? getText(object) : super.getText(object);
+ }
+
+<%}%>
+<%if (genModel.isStyleProviders()) {%>
+ /**
+ * This returns the label styled text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Object getStyledText(Object object)
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getStyledText.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%><%//ItemProvider/getStyledText.override.javajetinc%>
+ }
+<%}%>
+
+ /**
+ * 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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+<%if (!genClass.getLabelNotifyFeatures().isEmpty() || !genClass.getContentNotifyFeatures().isEmpty() || !genClass.getLabelAndContentNotifyFeatures().isEmpty()) {%>
+
+ switch (notification.getFeatureID(<%=genClass.getRawImportedInterfaceName()%>.class))
+ {
+ <%if (!genClass.getLabelNotifyFeatures().isEmpty()) {%>
+ <%for (GenFeature genFeature : genClass.getLabelNotifyFeatures()) { %>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%}%>
+ fireNotifyChanged(new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification")%>(notification, notification.getNotifier(), false, true));
+ return;
+ <%}%>
+ <%if (!genClass.getContentNotifyFeatures().isEmpty()) {%>
+ <%for (GenFeature genFeature : genClass.getContentNotifyFeatures()) { %>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%}%>
+ fireNotifyChanged(new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification")%>(notification, notification.getNotifier(), true, false));
+ return;
+ <%}%>
+ <%if (!genClass.getLabelAndContentNotifyFeatures().isEmpty()) {%>
+ <%for (GenFeature genFeature : genClass.getLabelAndContentNotifyFeatures()) { %>
+ case <%=genClass.getQualifiedFeatureID(genFeature)%>:
+ <%}%>
+ fireNotifyChanged(new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification")%>(notification, notification.getNotifier(), true, true));
+ return;
+ <%}%>
+<%if (forceDefaultCase) {%>
+ default:
+<%} else { // {%>
+ }
+<%}%>
+<%=indentDefaultCase%> super.notifyChanged(notification);
+<%if (forceDefaultCase) { // {%>
+<%=indentDefaultCase%> return;
+ }
+<%} // }%>
+<%}%>
+ }
+
+<%if (genModel.isCreationCommands()) {%>
+ /**
+ * 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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected void collectNewChildDescriptors(<%=genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<java.lang.Object>" : "java.util.Collection")%> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ <%for (GenClass.ChildCreationData childCreationData : genClass.getChildCreationData()) { GenFeature createFeature = childCreationData.createFeature; GenFeature delegatedFeature = childCreationData.delegatedFeature; GenClassifier createClassifier = childCreationData.createClassifier;%>
+ <%if (createFeature.isFeatureMapType()) {%>
+ <%if (delegatedFeature.isReferenceType()) { GenClass createClass = (GenClass)createClassifier;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsReferenceDelegatedFeature.override.javajetinc%>
+ <%} else { GenDataType createDataType = (GenDataType)createClassifier;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsAttributeDelegatedFeature.override.javajetinc%>
+ <%}%>
+ <%} else if (createFeature.isReferenceType()) { GenClass createClass = (GenClass)createClassifier;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsReferenceFeature.override.javajetinc %>
+ <%} else { GenDataType createDataType = (GenDataType)createClassifier;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsAttributeFeature.override.javajetinc%>
+ <%}%>
+ <%}%>
+ }
+
+ <%if (!genClass.getSharedClassCreateChildFeatures().isEmpty()) {%>
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public String getCreateChildText(Object owner, Object feature, Object child, <%=genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<?>" : "java.util.Collection")%> selection)
+ {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ <%if (genClass.hasFeatureMapCreateChildFeatures()) {%>
+ if (childFeature instanceof <%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%> && <%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")%>.isFeatureMap((EStructuralFeature)childFeature))
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Entry entry = (FeatureMap.Entry)childObject;
+ childFeature = entry.getEStructuralFeature();
+ childObject = entry.getValue();
+ }
+
+ <%}%>
+ boolean qualify =
+ <%for (Iterator<GenFeature> i = genClass.getSharedClassCreateChildFeatures().iterator(); i.hasNext();) { GenFeature createFeature = i.next();%>
+ childFeature == <%=createFeature.getQualifiedFeatureAccessor()%><%=i.hasNext() ? " ||" : ";"%>
+ <%}%>
+
+ if (qualify)
+ {
+ return getString
+ ("_UI_CreateChild_text2",<%=genModel.getNonNLS()%>
+ new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ <%}%>
+<%}%>
+<%if (genClass.getProviderExtendsGenClass() == null || genClass.getProviderExtendsGenClass().getGenPackage() != genPackage && (!genPackage.isExtensibleProviderFactory() || genClass.getProviderExtendsGenClass().getGenPackage().isExtensibleProviderFactory() != genPackage.isExtensibleProviderFactory())) {%>
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator")%> getResourceLocator()
+ {
+<%if (genPackage.isExtensibleProviderFactory()) {%>
+ return ((<%=genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender")%>)adapterFactory).getResourceLocator();
+<%} else {%>
+ return <%=genPackage.getImportedEditPluginClassName()%>.INSTANCE;
+<%}%>
+ }
+
+<%}%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,_List:_List"%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._SuuxqGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._SuuxqGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..671872d46
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjK4sDG0Ed-kc8dEZsdm2w/method._SuuxqGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenClass genClass = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._09_-qWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._09_-qWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._09_-qWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._92_c1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._92_c1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..2d0a030de
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._92_c1HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+canGenerate = canGenerate && (!genPackage.getGenClasses().isEmpty());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzojG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzojG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzojG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzozG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzozG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzozG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..ddc6a805e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzpzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getEditDirectory();
+packageName = genPackage.getProviderPackageName();
+className = genPackage.getItemProviderAdapterFactoryClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzqTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzqTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..858880549
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._PjdzqTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,556 @@
+
+<%
+/**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel(); /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getProviderPackageName()%>;
+
+<%genModel.addImport("org.eclipse.emf.common.notify.Adapter");%>
+<%genModel.addImport("org.eclipse.emf.common.notify.Notification");%>
+<%genModel.addImport("org.eclipse.emf.common.notify.Notifier");%>
+<%genModel.addImport("org.eclipse.emf.edit.provider.ChangeNotifier");%>
+<%genModel.addImport("org.eclipse.emf.edit.provider.ComposeableAdapterFactory");%>
+<%genModel.addImport("org.eclipse.emf.edit.provider.ComposedAdapterFactory");%>
+<%genModel.addImport("org.eclipse.emf.edit.provider.IChangeNotifier");%>
+<%genModel.addImport("org.eclipse.emf.edit.provider.IEditingDomainItemProvider");%>
+<%genModel.addImport("org.eclipse.emf.edit.provider.IItemLabelProvider");%>
+<%genModel.addImport("org.eclipse.emf.edit.provider.IItemPropertySource");%>
+<%genModel.addImport("org.eclipse.emf.edit.provider.INotifyChangedListener");%>
+<%genModel.addImport("org.eclipse.emf.edit.provider.IStructuredItemContentProvider");%>
+<%genModel.addImport("org.eclipse.emf.edit.provider.ITreeItemContentProvider");%>
+<%boolean useGenerics = genModel.useGenerics();%>
+<%String _ArrayList = genModel.getImportedName(useGenerics ? "java.util.ArrayList<java.lang.Object>" : "java.util.ArrayList");%>
+<%String _Collection = genModel.getImportedName(useGenerics ? "java.util.Collection<java.lang.Object>" : "java.util.Collection");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * 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 -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getGenClasses())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genPackage.getItemProviderAdapterFactoryClassName()%> extends <%=genPackage.getImportedAdapterFactoryClassName()%> implements ComposeableAdapterFactory, IChangeNotifier<%if (genPackage.isDisposableProviderFactory()) {%>, <%=genModel.getImportedName("org.eclipse.emf.edit.provider.IDisposable")%><%}%><%if (genPackage.isExtensibleProviderFactory()) {%>, <%=genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender")%><%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * 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();
+
+<%if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {%>
+ /**
+ * This keeps track of all the item providers created, so that they can be {@link #dispose disposed}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.edit.provider.Disposable")%> disposable = new Disposable();
+
+<%}%>
+<%if (genPackage.isExtensibleProviderFactory()) {%>
+ /**
+ * This helps manage the child creation extenders.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager")%> childCreationExtenderManager = new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager")%>(<%=genPackage.getImportedEditPluginClassName()%>.INSTANCE, <%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI);
+
+<%}%>
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_Collection%> supportedTypes = new <%=_ArrayList%>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getItemProviderAdapterFactoryClassName()%>()
+ {
+<%for (String name : genPackage.getProviderSupportedTypes()) {%>
+ supportedTypes.add(<%=genModel.getImportedName(name)%>.class);
+<%}%>
+ }
+
+<%for (GenPackage genDelegate : genPackage.getAdapterDelegatePackages()) {%>
+ /**
+ * This keeps track of the factory to which to delegate adapter creation for objects from that package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genDelegate.getImportedAdapterFactoryClassName()%> <%=genPackage.getUncapAdapterFactoryDelegateName(genDelegate)%> = null;
+
+ /**
+ * This determines the delegate factory for the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genDelegate.getImportedAdapterFactoryClassName()%> get<%=genPackage.getAdapterFactoryDelegateName(genDelegate)%>()
+ {
+ if (<%=genPackage.getUncapAdapterFactoryDelegateName(genDelegate)%> == null)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory")%> rootAdapterFactory = getRootAdapterFactory();
+ if (rootAdapterFactory instanceof ComposedAdapterFactory)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory")%> delegateAdapterFactory =
+ ((ComposedAdapterFactory)rootAdapterFactory).getFactoryForType(<%=genDelegate.getImportedAdapterFactoryClassName()%>.getPackage());
+ if (delegateAdapterFactory instanceof <%=genDelegate.getImportedAdapterFactoryClassName()%>)
+ {
+ <%=genPackage.getUncapAdapterFactoryDelegateName(genDelegate)%> = (<%=genDelegate.getImportedAdapterFactoryClassName()%>)delegateAdapterFactory;
+ }
+ }
+ }
+ return <%=genPackage.getUncapAdapterFactoryDelegateName(genDelegate)%>;
+ }
+
+<%}%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%if (!genClass.isAbstract() && genClass.getProvider() != GenProviderKind.NONE_LITERAL) {%>
+<%if (genClass.isProviderSingleton()) {%>
+ /**
+ * This keeps track of the one adapter used for all {@link <%=genClass.getRawQualifiedInterfaceName()%>} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ protected <%=genClass.getProviderClassName()%> <%=genClass.getUncapName()%>ItemProvider;
+
+ /**
+ * This creates an adapter for a {@link <%=genClass.getRawQualifiedInterfaceName()%>}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public Adapter create<%=genClass.getName()%>Adapter()
+ {
+ if (<%=genClass.getUncapName()%>ItemProvider == null)
+ {
+ <%=genClass.getUncapName()%>ItemProvider = new <%=genClass.getProviderClassName()%>(this);
+ }
+
+ return <%=genClass.getUncapName()%>ItemProvider;
+ }
+
+<%} else {%>
+ /**
+ * This creates an adapter for a {@link <%=genClass.getRawQualifiedInterfaceName()%>}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public Adapter create<%=genClass.getName()%>Adapter()
+ {
+ return new <%=genClass.getProviderClassName()%>(this);
+ }
+
+<%}%>
+<%}%>
+<%}%>
+<%for (GenClass genClass : genPackage.getAdapterDelegateSuperClasses()) {%>
+ /**
+ * <%=genClass.getName()%> of <%=genClass.getItemProviderAdapterFactoryClassName()%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ public Adapter create<%=genClass.getName()%>Adapter()
+ {
+ return
+ get<%=genClass.getItemProviderAdapterFactoryClassName()%>() == null ?
+ null :
+ get<%=genClass.getItemProviderAdapterFactoryClassName()%>().create<%=genClass.getName()%>Adapter();
+ }
+
+<%}%>
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ 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
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)
+ {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Adapter adapt(Notifier notifier, Object type)
+ {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Object adapt(Object object, Object type)
+ {
+ if (isFactoryForType(type))
+ {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<%if (genModel.useGenerics()) {%><?><%}%>) || <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%><%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.isInstance((Class<%if (genModel.useGenerics()) {%><?><%}%>)type, adapter)<%} else {%>(((Class<%if (genModel.useGenerics()) {%><?><%}%>)type).isInstance(adapter))<%}%>)
+ {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+<%if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {%>
+ /**
+ * Associates an adapter with a notifier via the base implementation, then records it to ensure it will be disposed.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected void associate(Adapter adapter, Notifier target)
+ {
+ super.associate(adapter, target);
+ if (adapter != null)
+ {
+ disposable.add(adapter);
+ }
+ }
+
+<%}%>
+<%if (genPackage.isExtensibleProviderFactory()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genModel.getImportedName(useGenerics ? "java.util.List<org.eclipse.emf.edit.provider.IChildCreationExtender>" : "java.util.List")%> getChildCreationExtenders()
+ {
+ return childCreationExtenderManager.getChildCreationExtenders();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genModel.getImportedName(useGenerics ? "java.util.Collection<?>" : "java.util.Collection")%> getNewChildDescriptors(Object object, <%=genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain")%> editingDomain)
+ {
+ return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator")%> getResourceLocator()
+ {
+ return childCreationExtenderManager;
+ }
+
+<%}%>
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public void addListener(INotifyChangedListener notifyChangedListener)
+ {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public void removeListener(INotifyChangedListener notifyChangedListener)
+ {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public void fireNotifyChanged(Notification notification)
+ {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null)
+ {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+<%if (genPackage.isDisposableProviderFactory()) {%>
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public void dispose()
+ {
+<%if (genPackage.hasStatefulProvider()) {%>
+ disposable.dispose();
+<%} else {%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+<%if (!genClass.isAbstract() && genClass.isProviderSingleton()) {%>
+ if (<%=genClass.getUncapName()%>ItemProvider != null) <%=genClass.getUncapName()%>ItemProvider.dispose();
+<%}%>
+<%}%>
+<%}%>
+ }
+
+<%}%>
+<%if (genPackage.isChildCreationExtenders()) {%>
+ <%for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> packageEntry : genPackage.getExtendedChildCreationData().entrySet()) {%>
+ /**
+ * A child creation extender for the {@link <%=packageEntry.getKey().getImportedPackageInterfaceName()%>}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class <%=genPackage.getChildCreationExtenderName(packageEntry.getKey())%> implements <%=genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender")%>
+ {
+ /**
+ * The switch for creating child descriptors specific to each extended class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static class CreationSwitch extends <%=genModel.getImportedName(packageEntry.getKey().getQualifiedSwitchClassName())%><%=useGenerics ? "<Object>" : ""%>
+ {
+ /**
+ * The child descriptors being populated.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List")%> newChildDescriptors;
+
+ /**
+ * The domain in which to create the children.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain")%> editingDomain;
+
+ /**
+ * Creates the a switch for populating child descriptors in the given domain.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CreationSwitch(<%=genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List")%> newChildDescriptors, <%=genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain")%> editingDomain)
+ {
+ this.newChildDescriptors = newChildDescriptors;
+ this.editingDomain = editingDomain;
+ }
+ <%for (Map.Entry<GenClass, List<GenClass.ChildCreationData>> classEntry : packageEntry.getValue().entrySet()) { GenClass genClass = classEntry.getKey();%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public <%=genClass.getTypeParameters()%>Object case<%=genPackage.getClassUniqueName(genClass)%>(<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceTypeArguments()%> object)
+ {
+ <%for (GenClass.ChildCreationData childCreationData : classEntry.getValue()) { GenFeature createFeature = childCreationData.createFeature; GenFeature delegatedFeature = childCreationData.delegatedFeature; GenClassifier createClassifier = childCreationData.createClassifier;%>
+ <%if (createFeature.isFeatureMapType()) {%>
+ <%if (delegatedFeature.isReferenceType()) { GenClass createClass = (GenClass)createClassifier;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsReferenceDelegatedFeature.override.javajetinc%>
+ <%} else { GenDataType createDataType = (GenDataType)createClassifier;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsAttributeDelegatedFeature.override.javajetinc%>
+ <%}%>
+ <%} else if (createFeature.isReferenceType()) { GenClass createClass = (GenClass)createClassifier;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsReferenceFeature.override.javajetinc %>
+ <%} else { GenDataType createDataType = (GenDataType)createClassifier;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//ItemProvider/newChildDescriptorsAttributeFeature.override.javajetinc%>
+ <%}%>
+
+ <%}%>
+ return null;
+ }
+
+ <%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter")%> createChildParameter(Object feature, Object child)
+ {
+ return new <%=genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter")%>(null, feature, child);
+ }
+
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=_Collection%> getNewChildDescriptors(Object object, <%=genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain")%> editingDomain)
+ {
+ <%=_ArrayList%> result = new <%=_ArrayList%>();
+ new CreationSwitch(result, editingDomain).doSwitch((<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)object);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator")%> getResourceLocator()
+ {
+ return <%=genPackage.getImportedEditPluginClassName()%>.INSTANCE;
+ }
+ }
+
+ <%}%>
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._SulnpGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._SulnpGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjdzoDG0Ed-kc8dEZsdm2w/method._SulnpGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._0-JvqWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._0-JvqWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._0-JvqWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._9y-fhHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._9y-fhHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..a9037a4a3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._9y-fhHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+canGenerate = canGenerate && (!genModel.sameEditEditorProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwukzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..f9f4e489e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwulzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditPluginDirectory();
+packageName = genModel.getEditPluginPackageName();
+className = genModel.getEditPluginClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwumTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwumTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..ac8908926
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._PjwumTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,254 @@
+
+<%
+/**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genModel.getEditPluginPackageName()%>;
+
+<%genModel.addImport("org.eclipse.emf.common.EMFPlugin");%>
+<%genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the central singleton for the <%=genModel.getModelName()%> edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public final class <%=genModel.getEditPluginClassName()%> extends EMFPlugin
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getEditPluginClassName()%> INSTANCE = new <%=genModel.getEditPluginClassName()%>();
+
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+ /**
+ * 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 <%=genModel.getEditPluginClassName()%>()
+ {
+ super
+ (new ResourceLocator []
+ {
+<%for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {%>
+ <%=pluginClassName%>.INSTANCE,
+<%}%>
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public ResourceLocator getPluginResourceLocator()
+ {
+<%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+ return null;
+<%} else {%>
+ return plugin;
+<%}%>
+ }
+
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+ /**
+ * 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 -->
+<%if (genModel.needsRuntimeCompatibility()) {%>
+ * @param descriptor the description of the plugin.
+<%}%>
+ * @generated
+ */
+ public Implementation(<%if (genModel.needsRuntimeCompatibility()) {%><%=genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor")%> descriptor<%}%>)
+ {
+ super(<%if (genModel.needsRuntimeCompatibility()) {%>descriptor<%}%>);
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+<%if (genModel.isOSGiCompatible()) {%>
+
+ /**
+ * The actual implementation of the purely OSGi-compatible <b>Bundle Activator</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final class Activator extends <%=genModel.getImportedName("org.eclipse.emf.common.EMFPlugin")%>.OSGiDelegatingBundleActivator
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected <%=genModel.getImportedName("org.osgi.framework.BundleActivator")%> createBundle()
+ {
+ return new Implementation();
+ }
+ }
+<%}%>
+ }
+
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final <%=genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties")%> PROPERTIES = <%=genModel.getImportedName("com.google.gwt.core.client.GWT")%>.create(<%=genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties")%>.class);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getString(String key, boolean translate)
+ {
+<%boolean first = true; for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+ <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) { %>
+ <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ <%if (first) { first = false; } else {%>else <%}%>if ("_UI_<%=genClass.getName()%>_type".equals(key)) return PROPERTIES.<%=genClass.getUncapName()%>Type();
+ <%}%>
+ <%}%>
+<%}%>
+ <%if (first) { first = false; } else {%>else <%}%> if ("_UI_Unknown_type".equals(key)) return PROPERTIES.unknownType();
+ else if ("_UI_Unknown_datatype".equals(key)) return PROPERTIES.unknownDatatype();
+<%for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) { String description = genFeature.getPropertyDescription();%>
+ else if ("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_feature".equals(key)) return PROPERTIES.<%=genFeature.getGenClass().getUncapName()%>_<%=genFeature.getCapName()%>Feature();
+ <%if (description != null && description.length() > 0) {%>
+ else if ("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_description".equals(key)) return PROPERTIES.<%=genFeature.getGenClass().getUncapName()%>_<%=genFeature.getCapName()%>Description();
+ <%}%>
+<%}%>
+ else if ("_UI_Unknown_feature".equals(key)) return PROPERTIES.unknownFeature();
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+ <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {%>
+ <%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
+ <%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+ else if ("_UI_<%=genEnum.getName()%>_<%=genEnumLiteral.getName()%>_literal".equals(key)) return PROPERTIES.<%=genEnum.getSafeUncapName()%>_<%=genEnumLiteral.getName()%>Literal();
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%for (String category : genModel.getPropertyCategories()) {%>
+<%=genModel.getPropertyCategoryKey(category)%> = <%=category%>
+ else if ("<%=genModel.getPropertyCategoryKey(category)%>".equals(key)) return PROPERTIES.<%=genModel.getPropertyCategoryKey(category)%>();
+<%}%>
+ else return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getString(String key, Object [] substitutions, boolean translate)
+ {
+<%if (genModel.isCreationCommands()) {%>
+ if ("_UI_CreateChild_text".equals(key)) return PROPERTIES.createChildText(substitutions[0]);
+ else if ("_UI_CreateChild_text2".equals(key)) return PROPERTIES.createChildText2(substitutions[0], substitutions[1]);
+ else if ("_UI_CreateChild_text3".equals(key)) return PROPERTIES.createChildText3(substitutions[1]);
+ else if ("_UI_CreateChild_tooltip".equals(key)) return PROPERTIES.createChildTooltip(substitutions[0], substitutions[1]);
+ else if ("_UI_CreateChild_description".equals(key)) return PROPERTIES.createChildDescripition(substitutions[0], substitutions[1], substitutions[2]);
+ else if ("_UI_CreateSibling_description".equals(key)) return PROPERTIES.createSiblingDescription(substitutions[0], substitutions[1], substitutions[2]);
+<%}%>
+ <%if (!genModel.isCreationCommands()) {%>else <%}%>if ("_UI_PropertyDescriptor_description".equals(key)) return PROPERTIES.propertyDescriptorDescription(substitutions[0], substitutions[1]);
+ else return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final <%=genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images")%> IMAGES = <%=genModel.getImportedName("com.google.gwt.core.client.GWT")%>.create(<%=genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images")%>.class);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(String key)
+ {
+<%first = true; for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+ <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ <%if (genClass.isImage()) { String image = genClass.getItemIconFileName(); image = image.substring(image.lastIndexOf("/icons/") + 7, image.length() - 4); %>
+ <%if (first) { first = false; } else {%>else <%}%>if ("<%=image%>".equals(key)) return IMAGES.<%=genClass.getItemIconAccessorName()%>();
+ <%}%>
+ <%}%>
+<%}%>
+ <%if (first) { first = false; } else {%>else <%}%>return key;
+ }
+
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._SuuxmGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._SuuxmGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PjwukDG0Ed-kc8dEZsdm2w/method._SuuxmGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._-A1VWHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._-A1VWHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..749b6a567
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._-A1VWHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genModel.isBundleManifest());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._0_DHiWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._0_DHiWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._0_DHiWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BYzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..f747b4d97
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BZzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/META-INF/MANIFEST.MF";
+overwrite = genModel.isUpdateClasspath();
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BaTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BaTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..439335e41
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._Pk9BaTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,88 @@
+
+<%
+/**
+ * Copyright (c) 2005-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: <%=genModel.getEditorBundleNameKey()%>
+Bundle-SymbolicName: <%=genModel.getEditorPluginID()%>;singleton:=true
+Automatic-Module-Name: <%=genModel.getEditorPluginID()%>
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: <%if (genModel.isRuntimeJar()) {%><%=genModel.getEditorPluginID()%>.jar<%}else{%>.<%}%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+Bundle-Activator: <%=genModel.getQualifiedEditorPluginClassName()%>$Implementation
+<%}%>
+Bundle-Vendor: <%=genModel.getEditorBundleVendorKey()%>
+Bundle-Localization: <%=genModel.getEditorBundleLocalization()%>
+<%if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-10
+<%}%>
+<%Iterator<String> packagesIterator = genModel.getEditorQualifiedPackageNames().iterator(); if (packagesIterator.hasNext()) { String pack = packagesIterator.next();%>
+Export-Package: <%=pack%><%while(packagesIterator.hasNext()) { pack = packagesIterator.next();%>,
+ <%=pack%><%}%>
+<%}%>
+<%Iterator<String> requiredPluginIterator = genModel.getEditorRequiredPlugins().iterator(); if (requiredPluginIterator.hasNext()) { String pluginID = requiredPluginIterator.next();%>
+Require-Bundle: <%=pluginID%><%if (!pluginID.startsWith("org.eclipse.core.runtime")){%>;visibility:=reexport<%} while(requiredPluginIterator.hasNext()) { pluginID = requiredPluginIterator.next();%>,
+ <%=pluginID%><%if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.jface.text") && !pluginID.equals("org.eclipse.xtext.xbase.lib") && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {%>;visibility:=reexport<%}}%>
+<%}%>
+<%if (genModel.isRichAjaxPlatform()) {%>
+Import-Package: org.eclipse.emf.common.ui,
+ org.eclipse.emf.common.ui.action,
+ org.eclipse.emf.common.ui.dialogs,
+ org.eclipse.emf.common.ui.editor,
+ org.eclipse.emf.common.ui.viewer,
+ org.eclipse.emf.edit.ui,
+ org.eclipse.emf.edit.ui.action,
+ org.eclipse.emf.edit.ui.celleditor,
+ org.eclipse.emf.edit.ui.dnd,
+ org.eclipse.emf.edit.ui.provider,
+ org.eclipse.emf.edit.ui.util,
+ org.eclipse.emf.edit.ui.view,
+ org.eclipse.jface.action,
+ org.eclipse.jface.dialogs,
+ org.eclipse.jface.operation,
+ org.eclipse.jface.text,
+ org.eclipse.jface.util,
+ org.eclipse.jface.viewers,
+ org.eclipse.jface.window,
+ org.eclipse.jface.wizard,
+ org.eclipse.swt,
+ org.eclipse.swt.custom,
+ org.eclipse.swt.dnd,
+ org.eclipse.swt.events,
+ org.eclipse.swt.graphics,
+ org.eclipse.swt.layout,
+ org.eclipse.swt.widgets,
+ org.eclipse.ui;ui.workbench="split",
+ org.eclipse.ui.actions;ui.workbench="split",
+ org.eclipse.ui.application,
+ org.eclipse.ui.part;ui.workbench="split",
+ org.eclipse.ui.plugin,
+ org.eclipse.ui.views,
+ org.eclipse.ui.views.contentoutline,
+ org.eclipse.ui.views.properties;ui.views="split"
+<%}%>
+<%if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22 || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {%>
+Eclipse-LazyStart: true
+<%}%>
+Bundle-ActivationPolicy: lazy
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._SveYeGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._SveYeGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pk9BYDG0Ed-kc8dEZsdm2w/method._SveYeGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._0-mbmGKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._0-mbmGKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._0-mbmGKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._99Zm1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._99Zm1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..1756c4200
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._99Zm1HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,4 @@
+GenClass genClass = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNagzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNahTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNahTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNahTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNaiTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNaiTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..b891ef844
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkNagDG0Ed-kc8dEZsdm2w/method._PkNaiTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,8 @@
+<%
+GenClass genClass = parameter;
+if (genClass.isImage()) {
+new CodegenGeneratorAdapter(parameter).generateGIF("edit/Item.gif", genClass.getItemIconFileName(), genClass.getName(), null, false);
+}
+ else {
+}
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._0-cqmGKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._0-cqmGKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._0-cqmGKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._9_MWlHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._9_MWlHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..1756c4200
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._9_MWlHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,4 @@
+GenClass genClass = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8gzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8hTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8hTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8hTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8iTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8iTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..bac4a0d0c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pkg8gDG0Ed-kc8dEZsdm2w/method._Pkg8iTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,11 @@
+<%
+GenClass genClass = parameter;
+GenModel genModel=genClass.getGenModel();
+if (genModel.isCreationCommands() && genModel.isCreationIcons()) {
+ for ( GenFeature feature : genClass.getCreateChildFeaturesIncludingDelegation()) {
+ for ( GenClass childClass : genClass.getChildrenClasses(feature)) {
+new CodegenGeneratorAdapter(parameter).generateGIF("edit/CreateChild.gif", genClass.getCreateChildIconFileName(feature,childClass), genClass.getName(), childClass.getName(), false);
+ }
+ }
+}
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._-G79VHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._-G79VHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..3534f39d8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._-G79VHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._0_MReWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._0_MReWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._0_MReWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGdzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGeTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGeTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._PkqGeTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..15eec79b5
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/plugin.xml";
+overwrite = true;
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..3ffc6f604
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._Pkz3cjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,293 @@
+
+<%
+/**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; String key = genModel.getPluginKey(); boolean hasKey = key != null && !key.equals("");%>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+<%if (genModel.isBundleManifest()) {%>
+<plugin>
+<%} else {%>
+<plugin
+ name="%pluginName"
+ id="<%=genModel.getEditorPluginID()%>"
+ version="1.0.0"
+ provider-name="%providerName"
+ class="<%=genModel.getQualifiedEditorPluginClassName()%>$Implementation">
+
+ <requires>
+ <%for (String pluginID : genModel.getEditorRequiredPlugins()) { %>
+ <import plugin="<%=pluginID%>"<%if (!pluginID.startsWith("org.eclipse.core.runtime")) {%> export="true"<%}%>/>
+ <%}%>
+ </requires>
+
+ <runtime>
+ <%if (genModel.isRuntimeJar()) {%>
+ <library name="<%=genModel.getEditorPluginID()%>.jar">
+ <%} else {%>
+ <library name=".">
+ <%}%>
+ <export name="*"/>
+ </library>
+ </runtime>
+<%}%>
+<%if (genModel.sameModelEditorProject()) {%>
+ <%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <package
+ uri="<%=genPackage.getNSURI()%>"
+ <%if (genModel.hasLocalGenModel()) {%>
+ class="<%=genPackage.getQualifiedPackageInterfaceName()%>"
+ genModel="<%=genModel.getRelativeGenModelLocation()%>"/>
+ <%} else {%>
+ class="<%=genPackage.getQualifiedPackageInterfaceName()%>"/>
+ <%}%>
+ </extension>
+ <%if (genPackage.isContentType()) {%>
+
+ <extension point="org.eclipse.emf.ecore.content_parser">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <parser
+ contentTypeIdentifier="<%=genPackage.getContentTypeIdentifier()%>"
+ class="<%=genPackage.getQualifiedEffectiveResourceFactoryClassName()%>"/>
+ </extension>
+
+ <extension point="org.eclipse.core.contenttype.contentTypes">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <content-type
+ base-type="<%=genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml"%>"
+ file-extensions="<%=genPackage.getFileExtensions()%>"
+ id="<%=genPackage.getContentTypeIdentifier()%>"
+ name="%_UI_<%=genPackage.getPrefix()%>_content_type"
+ priority="normal">
+ <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <%if (genPackage.hasTargetNamespace()) {%>
+ <parameter name="namespace" value="<%=genPackage.getNSURI()%>"/>
+ <%}%>
+ <%if (genPackage.isXMIResource()) {%>
+ <parameter name="kind" value="xmi"/>
+ <%}%>
+ </describer>
+ </content-type>
+ </extension>
+ <%} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {%>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <%for (String fileExtension : genPackage.getFileExtensionList()) {%>
+ <parser
+ type="<%=fileExtension%>"
+ class="<%=genPackage.getQualifiedResourceFactoryClassName()%>"/>
+ <%}%>
+ </extension>
+ <%}%>
+ <%}%>
+<%}%>
+<%if (genModel.sameEditEditorProject()) {%>
+ <%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+ <%if (!genPackage.getGenClasses().isEmpty()) {%>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <factory
+ uri="<%=genPackage.getNSURI()%>"
+ class="<%=genPackage.getQualifiedItemProviderAdapterFactoryClassName()%>"
+ supportedTypes=
+ <%for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext(); ) {%>
+ <%=j.hasPrevious() ? " " : "\""%><%=j.next()%><%if (!j.hasNext()) {%>"/><%}%>
+ <%}%>
+ </extension>
+ <%if (genPackage.isChildCreationExtenders()) { Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage.getExtendedChildCreationData();%>
+ <%if (!extendedChildCreationData.isEmpty()) {%>
+
+ <extension point="org.eclipse.emf.edit.childCreationExtenders">
+ <%for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData.entrySet()) {%>
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <extender
+ uri="<%=entry.getKey().getNSURI()%>"
+ class="<%=genPackage.getQualifiedItemProviderAdapterFactoryClassName()%>$<%=genPackage.getChildCreationExtenderName(entry.getKey())%>"/>
+ <%}%>
+ </extension>
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%if (genModel.isRichClientPlatform()) {%>
+
+ <extension
+ point="org.eclipse.core.runtime.applications"
+ id="<%=genModel.getEditorAdvisorClassName()%>Application">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <application>
+ <run class="<%=genModel.getQualifiedEditorAdvisorClassName()%>$Application"/>
+ </application>
+ </extension>
+
+ <extension point="org.eclipse.ui.perspectives">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <perspective
+ name="%_UI_Perspective_label"
+ class="<%=genModel.getQualifiedEditorAdvisorClassName()%>$Perspective"
+ id="<%=genModel.getQualifiedEditorAdvisorClassName()%>Perspective">
+ </perspective>
+ </extension>
+
+ <extension point="org.eclipse.ui.commands">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <command
+ name="%_UI_Menu_OpenURI_label"
+ description="%_UI_Menu_OpenURI_description"
+ categoryId="org.eclipse.ui.category.file"
+ id="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenURICommand"/>
+ <%if (!genModel.isRichAjaxPlatform()) {%>
+ <command
+ name="%_UI_Menu_Open_label"
+ description="%_UI_Menu_Open_description"
+ categoryId="org.eclipse.ui.category.file"
+ id="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenCommand"/>
+ <%}%>
+ </extension>
+
+<%if (!genModel.isRichAjaxPlatform()) {%>
+ <extension point="org.eclipse.ui.bindings">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <key
+ commandId="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenURICommand"
+ sequence="M1+U"
+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
+ <key
+ commandId="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenCommand"
+ sequence="M1+O"
+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
+ </extension>
+<%}%>
+
+ <extension point="org.eclipse.ui.actionSets">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <actionSet
+ label="%_UI_<%=genModel.getEditorAdvisorClassName()%>_ActionSet_label"
+ visible="true"
+ id="<%=genModel.getEditorAdvisorClassName()%>ActionSet">
+ <action
+ label="%_UI_Menu_About_label"
+ class="<%=genModel.getQualifiedEditorAdvisorClassName()%>$AboutAction"
+ menubarPath="help/additions"
+ id="<%=genModel.getQualifiedEditorAdvisorClassName()%>AboutAction"/>
+ <action
+ label="%_UI_Menu_OpenURI_label"
+ definitionId="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenURICommand"
+ class="<%=genModel.getQualifiedEditorAdvisorClassName()%>$OpenURIAction"
+ menubarPath="file/additions"
+ id="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenURIAction"/>
+ <%if (!genModel.isRichAjaxPlatform()) {%>
+ <action
+ label="%_UI_Menu_Open_label"
+ definitionId="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenCommand"
+ class="<%=genModel.getQualifiedEditorAdvisorClassName()%>$OpenAction"
+ menubarPath="file/additions"
+ id="<%=genModel.getQualifiedEditorAdvisorClassName()%>OpenAction"/>
+ <%}%>
+ </actionSet>
+ </extension>
+<%}%>
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+ <%if (genPackage.hasConcreteClasses()){%>
+ <%if (genPackage.isGenerateModelWizard()) {%>
+ <%if (genModel.isRichClientPlatform()) {%>
+
+ <extension point="org.eclipse.ui.actionSets">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <actionSet
+ label="%_UI_<%=genPackage.getModelWizardClassName()%>_ActionSet_label"
+ visible="true"
+ id="<%=genPackage.getQualifiedActionBarContributorClassName()%>ActionSet">
+ <action
+ label="%_UI_<%=genPackage.getModelWizardClassName()%>_label"
+ class="<%=genPackage.getQualifiedActionBarContributorClassName()%>$NewAction"
+ menubarPath="file/new/additions"
+ id="<%=genPackage.getQualifiedActionBarContributorClassName()%>NewAction"/>
+ </actionSet>
+ </extension>
+ <%} else {%>
+
+ <extension point="org.eclipse.ui.newWizards">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="<%=genPackage.getQualifiedModelWizardClassName()%>ID"
+ name="%_UI_<%=genPackage.getModelWizardClassName()%>_label"
+ class="<%=genPackage.getQualifiedModelWizardClassName()%>"
+ category="org.eclipse.emf.ecore.Wizard.category.ID"
+ icon="icons/full/obj16/<%=genPackage.getPrefix()%>ModelFile.gif">
+ <description>%_UI_<%=genPackage.getModelWizardClassName()%>_description</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+ <%}%>
+ <%}%>
+
+ <extension point="org.eclipse.ui.editors">
+ <%if (hasKey) {%>
+ <!-- @generated <%=key%> -->
+ <%}%>
+ <editor
+ id="<%=genPackage.getQualifiedEditorClassName()%>ID"
+ name="%_UI_<%=genPackage.getEditorClassName()%>_label"
+ icon="icons/full/obj16/<%=genPackage.getPrefix()%>ModelFile.gif"
+ <%if (!genPackage.isContentType()) {%>
+ extensions="<%=genPackage.getFileExtensions()%>"
+ <%}%>
+ class="<%=genPackage.getQualifiedEditorClassName()%>"
+ contributorClass="<%=genPackage.getQualifiedActionBarContributorClassName()%>">
+ <%if (genPackage.isContentType()) {%>
+ <contentTypeBinding contentTypeId="<%=genPackage.getQualifiedContentTypeIdentifier()%>"/>
+ <%}%>
+ </editor>
+ </extension>
+ <%}%>
+<%}%>
+
+</plugin>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._SvoJeGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._SvoJeGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PkqGdDG0Ed-kc8dEZsdm2w/method._SvoJeGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._-DEJ9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._-DEJ9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..6c9a61a1b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._-DEJ9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && true;
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._0-5WjWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._0-5WjWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._0-5WjWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjYzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..3a558d91a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjZzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/build.properties";
+overwrite = genModel.isUpdateClasspath() && !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter).toURI(genModel.getEditorProjectDirectory()).appendSegment("plugin.xml"));
+encoding = "ISO-8859-1";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjaTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjaTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..4ec761e58
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._PlQjaTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,35 @@
+
+<%
+/**
+ * Copyright (c) 2002-2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getEditorPluginID()+".jar" : ".";%>
+<%List<String> sourceFolders = genModel.getEditorSourceFolders();%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+bin.includes = <%=pluginClassesLocation%>,\
+ icons/,\
+<%if (genModel.isBundleManifest()) {%>
+ META-INF/,\
+<%}%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+ plugin.xml,\
+<%}%>
+<%String editorBundleLocalization = genModel.getEditorBundleLocalization(); int index = editorBundleLocalization.indexOf("/"); if (index == -1) {%>
+ <%=editorBundleLocalization%>.properties
+<%} else {%>
+ <%=editorBundleLocalization.substring(0, index + 1)%>
+<%}%>
+jars.compile.order = <%=pluginClassesLocation%>
+<% boolean first=true; for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) { String sourceFolder = i.next(); if (i.hasNext()){sourceFolder +=",\\";} if (first) {%>
+source.<%=pluginClassesLocation%> = <%=sourceFolder%><%first=false;} else {%><%=sourceFolder%><%}}%>
+output.<%=pluginClassesLocation%> = <%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>bin<%} else {%>war/WEB-INF/classes<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._SvVOjGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._SvVOjGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PlQjYDG0Ed-kc8dEZsdm2w/method._SvVOjGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._-K9htHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._-K9htHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..6c9a61a1b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._-K9htHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && true;
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._0_WCeWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._0_WCeWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._0_WCeWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeUzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..b4340e947
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeVzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/" + genModel.getEditorBundleLocalization()+ ".properties";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeWTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeWTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..4edacd986
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._PljeWTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,114 @@
+
+<%
+/**
+ * Copyright (c) 2002-2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+pluginName = <%=genModel.getEditorBundleName()%>
+providerName = <%=genModel.getEditorBundleVendorName()%>
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+
+<%boolean hasMultiPageEditor = false;%>
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {if (genPackage.isMultipleEditorPages()) { hasMultiPageEditor = true; }%>
+_UI_<%=genPackage.getEditorClassName()%>_menu = &<%=genPackage.getPrefix()%> Editor
+<%}%>
+
+<%if (genModel.isCreationCommands()) {%>
+_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
+<%if (hasMultiPageEditor) {%>
+_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_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}"
+
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+ <%if (genPackage.isGenerateModelWizard()) {%>
+_UI_<%=genPackage.getModelWizardClassName()%>_label = <%=genPackage.getPrefix()%> Model
+_UI_<%=genPackage.getModelWizardClassName()%>_description = Create a new <%=genPackage.getPrefix()%> model
+
+ <%}%>
+_UI_<%=genPackage.getEditorClassName()%>_label = <%=genPackage.getPrefix()%> Model Editor
+
+_UI_<%=genPackage.getEditorClassName()%>FilenameDefaultBase = My
+_UI_<%=genPackage.getEditorClassName()%>FilenameExtensions = <%=genPackage.getFileExtensions()%>
+
+<%}%>
+_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 = <%=genModel.getXMLEncodingChoices()%>
+<%if (genModel.isRichClientPlatform()) {%>
+_UI_Wizard_initial_object_description = Specify a file name and select a model object to create
+<%} else {%>
+_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?
+
+<%if (genModel.isRichClientPlatform()) {%>
+_UI_<%=genModel.getEditorAdvisorClassName()%>_ActionSet_label = <%=genModel.getModelName()%> Action Set
+_UI_Perspective_label = <%=genModel.getModelName()%>
+
+_UI_Browse_label = &Browse...
+_UI_File_label = &File
+_UI_Question_title = Question
+_WARN_FileConflict = The file "{0}" already exists. Do you want to replace the existing file?
+_UI_Error_title = Error
+_WARN_No_Editor = There is no editor registered for the file "{0}".
+
+_UI_Application_title = <%=genModel.getModelName()%> Application
+_UI_Menu_File_label = &File
+_UI_Menu_New_label = &New
+_UI_Menu_Open_label = &Open...
+_UI_Menu_Open_description = Opens a model object file
+_UI_Menu_OpenURI_label = &Open URI...
+_UI_Menu_OpenURI_description = Opens a model object loading it from a URI
+_UI_Menu_Edit_label = &Edit
+_UI_Menu_Window_label = &Window
+_UI_Menu_Help_label = &Help
+_UI_Menu_About_label = <%=genModel.getModelName()%> &About...
+_UI_About_title = <%=genModel.getModelName()%> Application
+_UI_About_text = <%=genModel.getModelName()%> Application about box goes here.
+
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {if (genPackage.isGenerateModelWizard()) {%>
+_UI_<%=genPackage.getModelWizardClassName()%>_ActionSet_label = <%=genPackage.getPrefix()%> Model Action Set
+<%}}%>
+
+<%}%>
+<%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._Svx6eGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._Svx6eGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PljeUDG0Ed-kc8dEZsdm2w/method._Svx6eGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._-VjBFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._-VjBFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..ceedea923
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._-VjBFHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genPackage.hasConcreteClasses() && genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._1AFpWWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._1AFpWWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._1AFpWWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..b0570cedb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getEditorDirectory();
+packageName = genPackage.getPresentationPackageName();
+className = genPackage.getActionBarContributorClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..6b7c4083c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._Pl2ZQjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,732 @@
+
+<%
+/**
+ * Copyright (c) 2002-2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%
+String _CollectionOfAnything = null;
+String _CollectionOfIAction = null;
+String _ArrayListOfIAction = null;
+String _CollectionOfExtendsIAction = null;
+String _IteratorOfIAction = null;
+String _MapOfStringToCollectionOfIAction = null;
+String _MapEntryOfStringToCollectionOfIAction = null;
+String _LinkedHashMapOfStringToCollectionOfIAction = null;
+if (genModel.isCreationCommands())
+{
+ _CollectionOfAnything = genModel.getImportedName("Collection" + (genModel.useGenerics() ? "<?>" : ""));
+ _CollectionOfIAction = genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<org.eclipse.jface.action.IAction>" : "java.util.Collection");
+ _ArrayListOfIAction = genModel.getImportedName(genModel.useGenerics() ? "java.util.ArrayList<org.eclipse.jface.action.IAction>" : "java.util.ArrayList");
+ _CollectionOfExtendsIAction = genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<? extends org.eclipse.jface.action.IAction>" : "java.util.Collection");
+ if (genModel.isCreationSubmenus())
+ {
+ _IteratorOfIAction = genModel.getImportedName(genModel.useGenerics() ? "java.util.Iterator<org.eclipse.jface.action.IAction>" : "java.util.Iterator");
+ _MapOfStringToCollectionOfIAction = genModel.getImportedName("java.util.Map") + (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");
+ _MapEntryOfStringToCollectionOfIAction = genModel.getImportedName("java.util.Map") + ".Entry" + (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");
+ _LinkedHashMapOfStringToCollectionOfIAction = genModel.getImportedName("java.util.LinkedHashMap") + (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");
+ }
+}
+%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getPresentationPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the action bar contributor for the <%=genPackage.getPrefix()%> model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getActionBarContributorClassName()%>
+ extends <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor")%>
+ implements <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelectionChangedListener")%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (genModel.isRichClientPlatform() && genPackage.isGenerateModelWizard()) {%>
+ /**
+ * Action to create objects from the <%=genPackage.getPrefix()%> model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class NewAction extends <%=genModel.getImportedName("org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate")%>
+ {
+ /**
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void run(<%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> action)
+ {
+ <%=genPackage.getModelWizardClassName()%> wizard = new <%=genPackage.getModelWizardClassName()%>();
+ wizard.init(getWindow().getWorkbench(), <%=genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection")%>.EMPTY);
+ <%=genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog")%> wizardDialog = new <%=genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog")%>(getWindow().getShell(), wizard);
+ wizardDialog.open();
+ }
+ }
+
+<%}%>
+ /**
+ * This keeps track of the active editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.ui.IEditorPart")%> activeEditorPart;
+
+ /**
+ * This keeps track of the current selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelectionProvider")%> selectionProvider;
+
+ /**
+ * This action opens the Properties view.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> showPropertiesViewAction =
+ new <%=genModel.getImportedName("org.eclipse.jface.action.Action")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_ShowPropertiesView_menu_item"))<%=genModel.getNonNLS()%>
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void run()
+ {
+ try
+ {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");<%=genModel.getNonNLS()%>
+ }
+ catch (<%=genModel.getImportedName("org.eclipse.ui.PartInitException")%> exception)
+ {
+ <%=genPackage.getImportedEditorPluginClassName()%>.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 <%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> refreshViewerAction =
+ new <%=genModel.getImportedName("org.eclipse.jface.action.Action")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_RefreshViewer_menu_item"))<%=genModel.getNonNLS()%>
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public boolean isEnabled()
+ {
+ return activeEditorPart instanceof <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider")%>;
+ }
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void run()
+ {
+ if (activeEditorPart instanceof <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider")%>)
+ {
+ <%=genModel.getImportedName("org.eclipse.jface.viewers.Viewer")%> viewer = ((<%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider")%>)activeEditorPart).getViewer();
+ if (viewer != null)
+ {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+<%if (genModel.isCreationCommands()) {%>
+ /**
+ * 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 <%=_CollectionOfIAction%> createChildActions;
+
+ <%if (genModel.isCreationSubmenus()) {%>
+ /**
+ * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateChildAction}s, keyed by sub-menu text.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_MapOfStringToCollectionOfIAction%> createChildSubmenuActions;
+
+ <%}%>
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.jface.action.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 <%=_CollectionOfIAction%> createSiblingActions;
+
+ <%if (genModel.isCreationSubmenus()) {%>
+ /**
+ * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction}s, keyed by submenu text.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_MapOfStringToCollectionOfIAction%> createSiblingSubmenuActions;
+
+ <%}%>
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> createSiblingMenuManager;
+
+<%}%>
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getActionBarContributorClassName()%>()
+ {
+ super(ADDITIONS_LAST_STYLE);
+ loadResourceAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.LoadResourceAction")%>();
+ validateAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.ValidateAction")%>();
+<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>
+ liveValidationAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DiagnosticDecorator")%>.LiveValidator.LiveValidationAction(<%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings());
+<%}%>
+ controlAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.ControlAction")%>();
+<%if (genModel.isFindAction()) {%>
+ findAction = <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.FindAction")%>.create();
+<%}%>
+<%if (genModel.isRevertAction()) {%>
+ revertAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.RevertAction")%>();
+<%}%>
+<%if (genModel.isExpandAllAction()) {%>
+ expandAllAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.ExpandAllAction")%>();
+<%}%>
+<%if (genModel.isCollapseAllAction()) {%>
+ collapseAllAction = new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.CollapseAllAction")%>();
+<%}%>
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void contributeToToolBar(<%=genModel.getImportedName("org.eclipse.jface.action.IToolBarManager")%> toolBarManager)
+ {
+ super.contributeToToolBar(toolBarManager);
+ toolBarManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("<%=genPackage.getPrefix().toLowerCase(genModel.getLocale())%>-settings"));<%=genModel.getNonNLS()%>
+ toolBarManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("<%=genPackage.getPrefix().toLowerCase(genModel.getLocale())%>-additions"));<%=genModel.getNonNLS()%>
+ }
+
+ /**
+ * 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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void contributeToMenu(<%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> menuManager)
+ {
+ super.contributeToMenu(menuManager);
+
+ <%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> submenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>_menu"), "<%=genPackage.getInterfacePackageName()%>MenuID");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ menuManager.insertAfter("additions", submenuManager);<%=genModel.getNonNLS()%>
+ submenuManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("settings"));<%=genModel.getNonNLS()%>
+ submenuManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("actions"));<%=genModel.getNonNLS()%>
+ submenuManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("additions"));<%=genModel.getNonNLS()%>
+ submenuManager.add(new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("additions-end"));<%=genModel.getNonNLS()%>
+
+<%if (genModel.isCreationCommands()) {%>
+ // Prepare for CreateChild item addition or removal.
+ //
+ createChildMenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_CreateChild_menu_item"));<%=genModel.getNonNLS()%>
+ submenuManager.insertBefore("additions", createChildMenuManager);<%=genModel.getNonNLS()%>
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_CreateSibling_menu_item"));<%=genModel.getNonNLS()%>
+ submenuManager.insertBefore("additions", createSiblingMenuManager);<%=genModel.getNonNLS()%>
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener
+ (new <%=genModel.getImportedName("org.eclipse.jface.action.IMenuListener")%>()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void menuAboutToShow(<%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> menuManager)
+ {
+ menuManager.updateAll(true);
+ }
+ });
+
+<%} else {%>
+ // Add your contributions.
+ // Ensure that you remove @generated or mark it @generated NOT
+
+<%}%>
+ 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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void setActiveEditor(<%=genModel.getImportedName("org.eclipse.ui.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 <%=genModel.getImportedName("org.eclipse.jface.viewers.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
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void selectionChanged(<%=genModel.getImportedName("org.eclipse.jface.viewers.SelectionChangedEvent")%> event)
+ {
+<%if (genModel.isCreationCommands()) {%>
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null)
+ {
+ <%if (genModel.isCreationSubmenus()) {%>
+ depopulateManager(createChildMenuManager, createChildSubmenuActions);
+ <%}%>
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null)
+ {
+ <%if (genModel.isCreationSubmenus()) {%>
+ depopulateManager(createSiblingMenuManager, createSiblingSubmenuActions);
+ <%}%>
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ <%=_CollectionOfAnything%> newChildDescriptors = null;
+ <%=_CollectionOfAnything%> newSiblingDescriptors = null;
+
+ <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelection")%> selection = event.getSelection();
+ if (selection instanceof <%=genModel.getImportedName("org.eclipse.jface.viewers.IStructuredSelection")%> && ((IStructuredSelection)selection).size() == 1)
+ {
+ Object object = ((<%=genModel.getImportedName("org.eclipse.jface.viewers.IStructuredSelection")%>)selection).getFirstElement();
+
+ <%=genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain")%> domain = ((<%=genModel.getImportedName("org.eclipse.emf.edit.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);
+ <%if (genModel.isCreationSubmenus()) {%>
+ createChildSubmenuActions = extractSubmenuActions(createChildActions);
+ <%}%>
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+ <%if (genModel.isCreationSubmenus()) {%>
+ createSiblingSubmenuActions = extractSubmenuActions(createSiblingActions);
+ <%}%>
+
+ if (createChildMenuManager != null)
+ {
+ <%if (genModel.isCreationSubmenus()) {%>
+ populateManager(createChildMenuManager, createChildSubmenuActions, null);
+ <%}%>
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null)
+ {
+ <%if (genModel.isCreationSubmenus()) {%>
+ populateManager(createSiblingMenuManager, createSiblingSubmenuActions, null);
+ <%}%>
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+<%} else {%>
+ // Add your contributions.
+ // Ensure that you remove @generated or mark it @generated NOT
+<%}%>
+ }
+
+<%if (genModel.isCreationCommands()) {%>
+ /**
+ * 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 <%=_CollectionOfIAction%> generateCreateChildActions(<%=_CollectionOfAnything%> descriptors, <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelection")%> selection)
+ {
+ <%=_CollectionOfIAction%> actions = new <%=_ArrayListOfIAction%>();
+ if (descriptors != null)
+ {
+<%if (genModel.useGenerics()) {%>
+ for (<%=genModel.getImportedName("java.lang.Object")%> descriptor : descriptors)
+<%} else {%>
+ for (<%=genModel.getImportedName("java.util.Iterator")%> i = descriptors.iterator(); i.hasNext(); )
+<%}%>
+ {
+ actions.add(new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateChildAction")%>(activeEditorPart, selection, <%if (genModel.useGenerics()) {%>descriptor<%} else {%>i.next()<%}%>));
+ }
+ }
+ 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 <%=_CollectionOfIAction%> generateCreateSiblingActions(<%=_CollectionOfAnything%> descriptors, <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelection")%> selection)
+ {
+ <%=_CollectionOfIAction%> actions = new <%=_ArrayListOfIAction%>();
+ if (descriptors != null)
+ {
+<%if (genModel.useGenerics()) {%>
+ for (<%=genModel.getImportedName("java.lang.Object")%> descriptor : descriptors)
+<%} else {%>
+ for (<%=genModel.getImportedName("java.util.Iterator")%> i = descriptors.iterator(); i.hasNext(); )
+<%}%>
+ {
+ actions.add(new <%=genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateSiblingAction")%>(activeEditorPart, selection, <%if (genModel.useGenerics()) {%>descriptor<%} else {%>i.next()<%}%>));
+ }
+ }
+ 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(<%=genModel.getImportedName("org.eclipse.jface.action.IContributionManager")%> manager, <%=_CollectionOfExtendsIAction%> actions, String contributionID)
+ {
+ if (actions != null)
+ {
+<%if (genModel.useGenerics()) {%>
+ for (<%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> action : actions)
+<%} else {%>
+ for (<%=genModel.getImportedName("java.util.Iterator")%> i = actions.iterator(); i.hasNext(); )
+<%}%>
+ {
+<%if (!genModel.useGenerics()) {%>
+ <%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> action = (IAction)i.next();
+<%}%>
+ 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(<%=genModel.getImportedName("org.eclipse.jface.action.IContributionManager")%> manager, <%=_CollectionOfExtendsIAction%> actions)
+ {
+ if (actions != null)
+ {
+ <%=genModel.getImportedName("org.eclipse.jface.action.IContributionItem")%>[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++)
+ {
+ // Look into SubContributionItems
+ //
+ <%=genModel.getImportedName("org.eclipse.jface.action.IContributionItem")%> contributionItem = items[i];
+ while (contributionItem instanceof <%=genModel.getImportedName("org.eclipse.jface.action.SubContributionItem")%>)
+ {
+ contributionItem = ((<%=genModel.getImportedName("org.eclipse.jface.action.SubContributionItem")%>)contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof <%=genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem")%>)
+ {
+ <%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> action = ((<%=genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem")%>)contributionItem).getAction();
+ if (actions.contains(action))
+ {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ <%if (genModel.isCreationSubmenus()) {%>
+ /**
+ * This extracts those actions in the <code>submenuActions</code> collection whose text is qualified and returns
+ * a map of these actions, keyed by submenu text.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_MapOfStringToCollectionOfIAction%> extractSubmenuActions(<%=_CollectionOfIAction%> createActions)
+ {
+ <%=_MapOfStringToCollectionOfIAction%> createSubmenuActions = new <%=_LinkedHashMapOfStringToCollectionOfIAction%>();
+ if (createActions != null)
+ {
+ for (<%=_IteratorOfIAction%> actions = createActions.iterator(); actions.hasNext(); )
+ {
+ <%=genModel.getImportedName("org.eclipse.jface.action.IAction")%> action = <%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("org.eclipse.jface.action.IAction")%>)<%}%>actions.next();
+ <%=genModel.getImportedName("java.util.StringTokenizer")%> st = new <%=genModel.getImportedName("java.util.StringTokenizer")%>(action.getText(), "|");<%=genModel.getNonNLS()%>
+ if (st.countTokens() == 2)
+ {
+ String text = st.nextToken().trim();
+ <%=_CollectionOfIAction%> submenuActions = <%if (!genModel.useGenerics()) {%>(<%=_CollectionOfIAction%>)<%}%>createSubmenuActions.get(text);
+ if (submenuActions == null)
+ {
+ createSubmenuActions.put(text, submenuActions = new <%=_ArrayListOfIAction%>());
+ }
+ action.setText(st.nextToken().trim());
+ submenuActions.add(action);
+ actions.remove();
+ }
+ }
+ }
+ return createSubmenuActions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.MenuManager}s containing
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s
+ * contained in the <code>submenuActions</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(<%=genModel.getImportedName("org.eclipse.jface.action.IContributionManager")%> manager, <%=_MapOfStringToCollectionOfIAction%> submenuActions, String contributionID)
+ {
+ if (submenuActions != null)
+ {
+ <%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%>
+ for (<%=_MapEntryOfStringToCollectionOfIAction%> entry : submenuActions.entrySet())
+ {
+ <%} else {%>
+ for (<%=genModel.getImportedName("java.util.Iterator")%> entries = submenuActions.entrySet().iterator(); entries.hasNext();)
+ {
+ <%=_MapEntryOfStringToCollectionOfIAction%> entry = (<%=_MapEntryOfStringToCollectionOfIAction%>)entries.next();
+ <%}%>
+ <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%> submenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%if (!genModel.useGenerics()) {%>(String)<%}%>entry.getKey());
+ if (contributionID != null)
+ {
+ manager.insertBefore(contributionID, submenuManager);
+ }
+ else
+ {
+ manager.add(submenuManager);
+ }
+ populateManager(submenuManager, <%if (!genModel.useGenerics()) {%>(<%=_CollectionOfIAction%>)<%}%>entry.getValue(), null);
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.MenuManager}s and their
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s
+ * contained in the <code>submenuActions</code> map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(<%=genModel.getImportedName("org.eclipse.jface.action.IContributionManager")%> manager, <%=_MapOfStringToCollectionOfIAction%> submenuActions)
+ {
+ if (submenuActions != null)
+ {
+ <%=genModel.getImportedName("org.eclipse.jface.action.IContributionItem")%>[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++)
+ {
+ <%=genModel.getImportedName("org.eclipse.jface.action.IContributionItem")%> contributionItem = items[i];
+ if (contributionItem instanceof <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>)
+ {
+ <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%> submenuManager = (<%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>)contributionItem;
+ if (submenuActions.containsKey(submenuManager.getMenuText()))
+ {
+ depopulateManager(submenuManager, <%if (!genModel.useGenerics()) {%>(<%=_CollectionOfIAction%>)<%}%>submenuActions.get(submenuManager.getMenuText()));
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ <%}%>
+<%}%>
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void menuAboutToShow(<%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> menuManager)
+ {
+ super.menuAboutToShow(menuManager);
+<%if (genModel.isCreationCommands()) {%>
+ <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%> submenuManager = null;
+
+ submenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_CreateChild_menu_item"));<%=genModel.getNonNLS()%>
+ <%if (genModel.isCreationSubmenus()) {%>
+ populateManager(submenuManager, createChildSubmenuActions, null);
+ <%}%>
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);<%=genModel.getNonNLS()%>
+
+ submenuManager = new <%=genModel.getImportedName("org.eclipse.jface.action.MenuManager")%>(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_CreateSibling_menu_item"));<%=genModel.getNonNLS()%>
+ <%if (genModel.isCreationSubmenus()) {%>
+ populateManager(submenuManager, createSiblingSubmenuActions, null);
+ <%}%>
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);<%=genModel.getNonNLS()%>
+<%}%>
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected void addGlobalActions(<%=genModel.getImportedName("org.eclipse.jface.action.IMenuManager")%> menuManager)
+ {
+ menuManager.insertAfter("additions-end", new <%=genModel.getImportedName("org.eclipse.jface.action.Separator")%>("ui-actions"));<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);<%=genModel.getNonNLS()%>
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);<%=genModel.getNonNLS()%>
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected boolean removeAllReferencesOnDelete()
+ {
+ return true;
+ }
+
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPUzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPVTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPVTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._PltPVTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._SwhhWGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._SwhhWGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PltPUDG0Ed-kc8dEZsdm2w/method._SwhhWGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._-SaNhHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._-SaNhHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..ceedea923
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._-SaNhHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genPackage.hasConcreteClasses() && genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._1APaWWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._1APaWWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._1APaWWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAITG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAITG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAITG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAIzG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..376352788
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getEditorDirectory();
+packageName = genPackage.getPresentationPackageName();
+className = genPackage.getEditorClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..fa0a2bd88
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,2677 @@
+
+<%
+/**
+ * Copyright (c) 2002-2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Alexander Fedorov <alexander.fedorov@arsysop.ru> - Bug 546714
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel(); /* Trick to import java.util.* without warnings */Iterator.class.getName(); %>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%final boolean forceDefaultCase = genModel.isSwitchMissingDefaultCase();%>
+<%String importedOperationClassName = genModel.getImportedName(genModel.isRichClientPlatform() ? "org.eclipse.jface.operation.IRunnableWithProgress" : "org.eclipse.ui.actions.WorkspaceModifyOperation");%>
+<%String operationMethodName = genModel.isRichClientPlatform() ? "run" : "execute";%>
+<%String _ArrayListOfObject = "ArrayList" + (genModel.useGenerics() ? "<Object>" : "");%>
+<%String _ArrayListOfSelectionChangedListener = "ArrayList" + (genModel.useGenerics() ? "<ISelectionChangedListener>" : "");%>
+<%String _CollectionOfSelectionChangedListener = "Collection" + (genModel.useGenerics() ? "<ISelectionChangedListener>" : "");%>
+<%String _ListOfResource = "List" + (genModel.useGenerics() ? "<Resource>" : "");%>
+<%String _ArrayListOfResource = "ArrayList" + (genModel.useGenerics() ? "<Resource>" : "");%>
+<%String _CollectionOfResource = "Collection" + (genModel.useGenerics() ? "<Resource>" : "");%>
+<%String _MapOfResourceToDiagnostic = "Map" + (genModel.useGenerics() ? "<Resource, Diagnostic>" : "");%>
+<%String _HashMapOfResourceToBoolean = "HashMap" + (genModel.useGenerics() ? "<Resource, Boolean>" : "");%>
+<%String _MapOfObjectToObject = "Map" + (genModel.useGenerics() ? "<Object, Object>" : "");%>
+<%String _HashMapOfObjectToObject = "HashMap" + (genModel.useGenerics() ? "<Object, Object>" : "");%>
+<%String _LinkedHashMapOfResourceToDiagnostic = "LinkedHashMap" + (genModel.useGenerics() ? "<Resource, Diagnostic>" : "");%>
+<%String _CollectionOfAnything = "Collection" + (genModel.useGenerics() ? "<?>" : "");%>
+<%String _ListOfAnything = "List" + (genModel.useGenerics() ? "<?>" : "");%>
+<%boolean useExtendedLabelProvider = genModel.isStyleProviders() || genModel.isFontProviders() || genModel.isColorProviders();%>
+<%boolean useStyledLabelProvider = genModel.isStyleProviders();%>
+<%String _AdapterFactoryLabelProvider = (useStyledLabelProvider ? "AdapterFactoryLabelProvider.StyledLabelProvider" : "AdapterFactoryLabelProvider" + (genModel.isFontProviders() && genModel.isColorProviders() ? ".FontAndColorProvider" : genModel.isFontProviders() ? ".FontProvider" : genModel.isColorProviders() ? ".ColorProvider" : ""));%>
+<%String _DelegatingAdapterFactoryLabelProvider = useStyledLabelProvider ? genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DelegatingStyledCellLabelProvider") + (genModel.isFontProviders() && genModel.isColorProviders() ? ".FontAndColorProvider" : genModel.isFontProviders() ? ".FontProvider" : genModel.isColorProviders() ? ".ColorProvider" : "") : "";%>
+<%String _DecoratingColumLabelProvider = genModel.getDecoration() != GenDecoration.NONE ? genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DecoratingColumLabelProvider") + (useStyledLabelProvider ? ".StyledLabelProvider" : "") : "";%>
+<%String _DiagnosticDecorator = genModel.getDecoration() != GenDecoration.NONE ? genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DiagnosticDecorator") + (useStyledLabelProvider ? ".Styled" : "") : "";%>
+<%String _ArrayListOfString = "ArrayList" + (genModel.useGenerics() ? "<String>" : "");%>
+<%String _ListOfString = "List" + (genModel.useGenerics() ? "<String>" : "");%>
+<%String _ListOfPropertySheetPage = "List" + (genModel.useGenerics() ? "<PropertySheetPage>" : "");%>
+<%String _ArrayListOfPropertySheetPage = "ArrayList" + (genModel.useGenerics() ? "<PropertySheetPage>" : "");%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getPresentationPackageName()%>;
+
+
+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;
+<%if (!genModel.isRichClientPlatform()) {%>
+
+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;
+<%}%>
+
+<%if (!genModel.isRichClientPlatform()) {%>
+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;
+
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {%>
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
+<%}%>
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.jface.viewers.ColumnWeightData;
+<%}%>
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.jface.viewers.ListViewer;
+<%}%>
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+<%}%>
+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;
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {%>
+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.graphics.Rectangle;
+<%if (genPackage.isMultipleEditorPages()) {%>
+
+import org.eclipse.swt.layout.FillLayout;
+<%}%>
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+<%}%>
+import org.eclipse.swt.widgets.Tree;
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.swt.widgets.TreeColumn;
+<%}%>
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+<%if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {%>
+import org.eclipse.ui.IFileEditorInput;
+<%}%>
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+<%if (!genModel.isRichClientPlatform()) {%>
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+<%}%>
+
+<%if (!genModel.isRichClientPlatform()) {%>
+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 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;
+
+<%if (!genModel.isRichClientPlatform()) {%>
+import org.eclipse.emf.common.ui.MarkerHelper;
+<%}%>
+<%if (genPackage.isMultipleEditorPages()) {%>
+import org.eclipse.emf.common.ui.ViewerPane;
+<%}%>
+
+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;
+
+<%if (!genModel.isRichClientPlatform() && genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF23_VALUE) {%>
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EValidator;
+<%}%>
+
+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;
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+<%}%>
+<%if (!genModel.isRichClientPlatform()) {%>
+
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+<%}%>
+<%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%>
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+<%}%>
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import <%=genPackage.getQualifiedItemProviderAdapterFactoryClassName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+
+/**
+ * This is an example of a <%=genPackage.getPrefix()%> model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getEditorClassName()%>
+ extends MultiPageEditorPart
+ implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider<%if (!genModel.isRichClientPlatform()) {%>, IGotoMarker<%}%><%if (genModel.isRevertAction()) {%>, <%=genModel.getImportedName("org.eclipse.emf.edit.ui.util.IRevertablePart")%><%}%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (genModel.isRichClientPlatform()) {%>
+ /**
+ * The filters for file extensions supported by the editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */<%if (genPackage.isGenerateModelWizard()) {%>
+ public static final <%=_ListOfString%> FILE_EXTENSION_FILTERS = prefixExtensions(<%=genPackage.getImportedModelWizardClassName()%>.FILE_EXTENSIONS, "*.");<%=genModel.getNonNLS()%>
+ <%} else {%>
+ public static final <%=_ListOfString%> FILE_EXTENSION_FILTERS = prefixExtensions(<%=genModel.getImportedName("java.util.Arrays")%>.asList(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>FilenameExtensions").split("\\s*,\\s*")), "*.");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+ <%}%>
+ /**
+ * Returns a new unmodifiable list containing prefixed versions of the extensions in the given list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static <%=_ListOfString%> prefixExtensions(<%=_ListOfString%> extensions, String prefix)
+ {
+ <%=_ListOfString%> result = new <%=_ArrayListOfString%>();
+ <%if (genModel.useGenerics()) {%>
+ for (String extension : extensions)
+ {
+ result.add(prefix + extension);
+ <%} else {%>
+ for (Iterator iterator = extensions.iterator() ; iterator.hasNext(); )
+ {
+ result.add(prefix + (String)iterator.next());
+ <%}%>
+ }
+ return Collections.unmodifiableList(result);
+ }
+
+<%}%>
+ /**
+ * 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 <%=_ListOfPropertySheetPage%> propertySheetPages = new <%=_ArrayListOfPropertySheetPage%>();
+
+ /**
+ * 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;
+<%if (genPackage.isMultipleEditorPages()) {%>
+
+ /**
+ * This inverts the roll of parent and child in the content provider and show parents as a tree.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer parentViewer;
+
+ /**
+ * This shows how a tree view works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewer;
+
+ /**
+ * This shows how a list view works.
+ * A list viewer doesn't support icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListViewer listViewer;
+
+ /**
+ * This shows how a table view works.
+ * A table can be used as a list with icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableViewer tableViewer;
+
+ /**
+ * This shows how a tree view with columns works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewerWithColumns;
+
+ /**
+ * This keeps track of the active viewer pane, in the book.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ViewerPane currentViewerPane;
+<%}%>
+
+ /**
+ * 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 <%=_CollectionOfSelectionChangedListener%> selectionChangedListeners = new <%=_ArrayListOfSelectionChangedListener%>();
+
+ /**
+ * This keeps track of the selection of the editor as a whole.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+<%if (!genModel.isRichClientPlatform()) {%>
+ /**
+ * 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()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void partActivated(IWorkbenchPart p)
+ {
+ if (p instanceof ContentOutline)
+ {
+ if (((ContentOutline)p).getCurrentPage() == contentOutlinePage)
+ {
+ getActionBarContributor().setActiveEditor(<%=genPackage.getEditorClassName()%>.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ }
+ else if (p instanceof PropertySheet)
+ {
+ if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage()))
+ {
+ getActionBarContributor().setActiveEditor(<%=genPackage.getEditorClassName()%>.this);
+ handleActivate();
+ }
+ }
+ else if (p == <%=genPackage.getEditorClassName()%>.this)
+ {
+ handleActivate();
+ }
+ }
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void partBroughtToTop(IWorkbenchPart p)
+ {
+ // Ignore.
+ }
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void partClosed(IWorkbenchPart p)
+ {
+ // Ignore.
+ }
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void partDeactivated(IWorkbenchPart p)
+ {
+ // Ignore.
+ }
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void partOpened(IWorkbenchPart p)
+ {
+ // Ignore.
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_CollectionOfResource%> removedResources = new <%=_ArrayListOfResource%>();
+
+ /**
+ * Resources that have been changed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_CollectionOfResource%> changedResources = new <%=_ArrayListOfResource%>();
+
+ /**
+ * Resources that have been saved.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_CollectionOfResource%> savedResources = new <%=_ArrayListOfResource%>();
+
+ /**
+ * Map to store the diagnostic associated with a resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_MapOfResourceToDiagnostic%> resourceToDiagnosticMap = new <%=_LinkedHashMapOfResourceToDiagnostic%>();
+
+ /**
+ * 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()
+ {
+ protected boolean dispatching;
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @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);
+ }
+ dispatchUpdateProblemIndication();
+ break;
+ }
+<%if (forceDefaultCase) {%>
+ default:
+ break;
+<%}%>
+ }
+ }
+ else
+ {
+ super.notifyChanged(notification);
+ }
+ }
+
+ protected void dispatchUpdateProblemIndication()
+ {
+ if (updateProblemIndication && !dispatching)
+ {
+ dispatching = true;
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void run()
+ {
+ dispatching = false;
+ updateProblemIndication();
+ }
+ });
+ }
+ }
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected void setTarget(Resource target)
+ {
+ basicSetTarget(target);
+ }
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected void unsetTarget(Resource target)
+ {
+ basicUnsetTarget(target);
+ resourceToDiagnosticMap.remove(target);
+ dispatchUpdateProblemIndication();
+ }
+ };
+<%if (!genModel.isRichClientPlatform()) {%>
+
+ /**
+ * This listens for workspace changes.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IResourceChangeListener resourceChangeListener =
+ new IResourceChangeListener()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void resourceChanged(IResourceChangeEvent event)
+ {
+ IResourceDelta delta = event.getDelta();
+ try
+ {
+ class ResourceDeltaVisitor implements IResourceDeltaVisitor
+ {
+ protected ResourceSet resourceSet = editingDomain.getResourceSet();
+ protected <%=_CollectionOfResource%> changedResources = new <%=_ArrayListOfResource%>();
+ protected <%=_CollectionOfResource%> removedResources = new <%=_ArrayListOfResource%>();
+
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public boolean visit(<%if (genModel.getDecoration() != GenDecoration.NONE) {%>final <%}%>IResourceDelta delta)
+ {
+ if (delta.getResource().getType() == IResource.FILE)
+ {
+ if (delta.getKind() == IResourceDelta.REMOVED ||
+ delta.getKind() == IResourceDelta.CHANGED<%if (genModel.getDecoration() == GenDecoration.NONE) {%> && delta.getFlags() != IResourceDelta.MARKERS<%}%>)
+ {
+ <%if (genModel.getDecoration() != GenDecoration.NONE) {%>final <%}%>Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+ if (resource != null)
+ {
+ if (delta.getKind() == IResourceDelta.REMOVED)
+ {
+ removedResources.add(resource);
+ }
+<%if (genModel.getDecoration() == GenDecoration.NONE) {%>
+ else if (!savedResources.remove(resource))
+ {
+ changedResources.add(resource);
+ }
+<%} else {%>
+ else
+ {
+ if ((delta.getFlags() & IResourceDelta.MARKERS) != 0)
+ {
+ <%=_DiagnosticDecorator%>.DiagnosticAdapter.update(resource, markerHelper.getMarkerDiagnostics(resource, (IFile)delta.getResource()<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {%>, false<%}%>));
+ }
+ if ((delta.getFlags() & IResourceDelta.CONTENT) != 0)
+ {
+ if (!savedResources.remove(resource))
+ {
+ changedResources.add(resource);
+ }
+ }
+ }
+<%}%>
+ }
+ }
+ return false;
+ }
+
+ return true;
+ }
+
+ public <%=_CollectionOfResource%> getChangedResources()
+ {
+ return changedResources;
+ }
+
+ public <%=_CollectionOfResource%> getRemovedResources()
+ {
+ return removedResources;
+ }
+ }
+
+ final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+
+ if (!visitor.getRemovedResources().isEmpty())
+ {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void run()
+ {
+ removedResources.addAll(visitor.getRemovedResources());
+ if (!isDirty())
+ {
+ getSite().getPage().closeEditor(<%=genPackage.getEditorClassName()%>.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty())
+ {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void run()
+ {
+ changedResources.addAll(visitor.getChangedResources());
+ if (getSite().getPage().getActiveEditor() == <%=genPackage.getEditorClassName()%>.this)
+ {
+ handleActivate();
+ }
+ }
+ });
+ }
+ }
+ catch (CoreException exception)
+ {
+ <%=genPackage.getImportedEditorPluginClassName()%>.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(<%=genPackage.getEditorClassName()%>.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()))
+ {
+ ResourceSet resourceSet = editingDomain.getResourceSet();
+ if (isDirty())
+ {
+ changedResources.addAll(resourceSet.getResources());
+ }
+ editingDomain.getCommandStack().flush();
+
+ updateProblemIndication = false;
+<%if (genModel.useGenerics()) {%>
+ for (Resource resource : changedResources)
+<%} else {%>
+ for (Iterator i = changedResources.iterator(); i.hasNext(); )
+<%}%>
+ {
+<%if (!genModel.useGenerics()) {%>
+ Resource resource = (Resource)i.next();
+<%}%>
+ if (resource.isLoaded())
+ {
+ resource.unload();
+ try
+ {
+ resource.load(resourceSet.getLoadOptions());
+ }
+ catch (IOException exception)
+ {
+ if (!resourceToDiagnosticMap.containsKey(resource))
+ {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ }
+ }
+ }
+
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+ 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,
+ "<%=genPackage.getGenModel().getEditorPluginID()%>",<%=genModel.getNonNLS()%>
+ 0,
+ null,
+ new Object [] { editingDomain.getResourceSet() });
+<%if (genModel.useGenerics()) {%>
+ for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values())
+<%} else {%>
+ for (Iterator i = resourceToDiagnosticMap.values().iterator(); i.hasNext(); )
+<%}%>
+ {
+<%if (!genModel.useGenerics()) {%>
+ Diagnostic childDiagnostic = (Diagnostic)i.next();
+<%}%>
+ 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);
+<%if (!genModel.isRichClientPlatform()) {%>
+ problemEditorPart.setMarkerHelper(markerHelper);
+<%}%>
+ try
+ {
+ addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+ setPageText(lastEditorPage, problemEditorPart.getPartName());
+ setActivePage(lastEditorPage);
+ showTabs();
+ }
+ catch (PartInitException exception)
+ {
+ <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+ }
+ }
+<%if (!genModel.isRichClientPlatform()) {%>
+
+ if (markerHelper.hasMarkers(editingDomain.getResourceSet()))
+ {
+ <%if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF213_VALUE) {%>
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if (diagnostic.getSeverity() != Diagnostic.OK)
+ {
+ try
+ {
+ markerHelper.createMarkers(diagnostic);
+ }
+ catch (CoreException exception)
+ {
+ <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+ }
+ }
+ <%} else {%>
+ try
+ {
+ markerHelper.updateMarkers(diagnostic);
+ }
+ catch (CoreException exception)
+ {
+ <%=genPackage.getImportedEditorPluginClassName()%>.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"),<%=genModel.getNonNLS()%>
+ getString("_WARN_FileConflict"));<%=genModel.getNonNLS()%>
+ }
+
+ /**
+ * This creates a model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getEditorClassName()%>()
+ {
+ 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());
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.override" args="genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,forceDefaultCase:forceDefaultCase,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ListOfResource:_ListOfResource,_ArrayListOfResource:_ArrayListOfResource,_CollectionOfResource:_CollectionOfResource,_MapOfResourceToDiagnostic:_MapOfResourceToDiagnostic,_HashMapOfResourceToBoolean:_HashMapOfResourceToBoolean,_MapOfObjectToObject:_MapOfObjectToObject,_HashMapOfObjectToObject:_HashMapOfObjectToObject,_LinkedHashMapOfResourceToDiagnostic:_LinkedHashMapOfResourceToDiagnostic,_CollectionOfAnything:_CollectionOfAnything,_ListOfAnything:_ListOfAnything,useExtendedLabelProvider:useExtendedLabelProvider,useStyledLabelProvider:useStyledLabelProvider,_AdapterFactoryLabelProvider:_AdapterFactoryLabelProvider,_DelegatingAdapterFactoryLabelProvider:_DelegatingAdapterFactoryLabelProvider,_DecoratingColumLabelProvider:_DecoratingColumLabelProvider,_DiagnosticDecorator:_DiagnosticDecorator,_ArrayListOfString:_ArrayListOfString,_ListOfString:_ListOfString,_ListOfPropertySheetPage:_ListOfPropertySheetPage,_ArrayListOfPropertySheetPage:_ArrayListOfPropertySheetPage"%><%//Editor/addItemproviderFactories.override.javajetinc"%>
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+<%if (genModel.getDecoration() != GenDecoration.LIVE || genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF212_VALUE) {%>
+ BasicCommandStack commandStack = new BasicCommandStack();
+<%} else {%>
+ BasicCommandStack commandStack =
+ new BasicCommandStack()
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void execute(Command command)
+ {
+ // Cancel live validation before executing a command that will trigger a new round of validation.
+ //
+ if (!(command instanceof <%=genModel.getImportedName("org.eclipse.emf.common.command.AbstractCommand")%>.NonDirtying))
+ {
+ <%=_DiagnosticDecorator%>.cancel(editingDomain);
+ }
+ super.execute(command);
+ }
+ };
+<%}%>
+
+ // 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()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void commandStackChanged(final EventObject event)
+ {
+ getContainer().getDisplay().asyncExec
+ (new Runnable()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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<%if (genModel.useGenerics()) {%><PropertySheetPage><%}%> i = propertySheetPages.iterator(); i.hasNext(); )
+ {
+ PropertySheetPage propertySheetPage = <%if (!genModel.useGenerics()) {%>(PropertySheetPage)<%}%>i.next();
+ if (propertySheetPage.getControl() == null || propertySheetPage.getControl().isDisposed())
+ {
+ i.remove();
+ }
+ else
+ {
+ propertySheetPage.refresh();
+ }
+ }
+ }
+ });
+ }
+ });
+
+ // Create the editing domain with a special command stack.
+ //
+ editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new <%=_HashMapOfResourceToBoolean%>());
+ }
+
+ /**
+ * This is here for the listener to be able to call it.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @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(<%=_CollectionOfAnything%> collection)
+ {
+ final <%=_CollectionOfAnything%> theSelection = collection;
+ // Make sure it's okay.
+ //
+ if (theSelection != null && !theSelection.isEmpty())
+ {
+ Runnable runnable =
+ new Runnable()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public boolean hasChildren(Object object)
+ {
+ Object parent = super.getParent(object);
+ return parent != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Object getParent(Object object)
+ {
+ return null;
+ }
+ }
+<%if (genPackage.isMultipleEditorPages()) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewerPane(ViewerPane viewerPane)
+ {
+ if (currentViewerPane != viewerPane)
+ {
+ if (currentViewerPane != null)
+ {
+ currentViewerPane.showFocus(false);
+ }
+ currentViewerPane = viewerPane;
+ }
+ setCurrentViewer(currentViewerPane.getViewer());
+ }
+<%}%>
+
+ /**
+ * 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.
+ //
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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");<%=genModel.getNonNLS()%>
+ contextMenu.add(new Separator("additions"));<%=genModel.getNonNLS()%>
+ contextMenu.setRemoveAllWhenShown(true);
+ contextMenu.addMenuListener(this);
+ Menu menu= contextMenu.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
+ getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+<%} else {%>
+ getSite().registerContextMenu(contextMenu, viewer);
+<%}%>
+
+ int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+ Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance()<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {%>, 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()
+ {
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {%>
+ URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter());
+<%} else if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
+ URI resourceURI = EditUIUtil.getURI(getEditorInput());
+<%} else if (genModel.isRichClientPlatform()) {%>
+ URI resourceURI = URI.createURI(getEditorInput().getName());
+<%} else {%>
+ // Assumes that the input is a file object.
+ //
+ IFileEditorInput modelFile = (IFileEditorInput)getEditorInput();
+ URI resourceURI = URI.createPlatformResourceURI(modelFile.getFile().getFullPath().toString(), true);
+<%}%>
+ 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)
+ {
+ boolean hasErrors = !resource.getErrors().isEmpty();
+ if (hasErrors || !resource.getWarnings().isEmpty())
+ {
+ BasicDiagnostic basicDiagnostic =
+ new BasicDiagnostic
+ (hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING,
+ "<%=genPackage.getGenModel().getEditorPluginID()%>",<%=genModel.getNonNLS()%>
+ 0,
+ getString("_UI_CreateModelError_message", resource.getURI()),<%=genModel.getNonNLS()%>
+ new Object [] { exception == null ? (Object)resource : exception });
+ basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+ return basicDiagnostic;
+ }
+ else if (exception != null)
+ {
+ return
+ new BasicDiagnostic
+ (Diagnostic.ERROR,
+ "<%=genPackage.getGenModel().getEditorPluginID()%>",<%=genModel.getNonNLS()%>
+ 0,
+ getString("_UI_CreateModelError_message", resource.getURI()),<%=genModel.getNonNLS()%>
+ 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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @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.
+ //
+<%if (genPackage.isMultipleEditorPages()) {%>
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Viewer createViewer(Composite composite)
+ {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void requestActivation()
+ {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ selectionViewer = (TreeViewer)viewerPane.getViewer();
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ selectionViewer.setUseHashlookup(true);
+
+ selectionViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, selectionViewer<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, selectionViewer<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%>))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ viewerPane.setTitle(editingDomain.getResourceSet());
+
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(selectionViewer, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, selectionViewer));
+<%}%>
+
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));<%=genModel.getNonNLS()%>
+ }
+
+ // Create a page for the parent tree view.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Viewer createViewer(Composite composite)
+ {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void requestActivation()
+ {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ parentViewer = (TreeViewer)viewerPane.getViewer();
+ parentViewer.setAutoExpandLevel(30);
+ parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+ parentViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, parentViewer<%}%>)<%if (useStyledLabelProvider) {%>)<%}%>);
+
+ createContextMenuFor(parentViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ParentPage_label"));<%=genModel.getNonNLS()%>
+ }
+
+ // This is the page for the list viewer
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Viewer createViewer(Composite composite)
+ {
+ return new ListViewer(composite);
+ }
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void requestActivation()
+ {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ listViewer = (ListViewer)viewerPane.getViewer();
+ listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ listViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, listViewer<%}%>)<%if (useStyledLabelProvider) {%>)<%}%>);
+
+ createContextMenuFor(listViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ListPage_label"));<%=genModel.getNonNLS()%>
+ }
+
+ // This is the page for the tree viewer
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Viewer createViewer(Composite composite)
+ {
+ return new TreeViewer(composite);
+ }
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void requestActivation()
+ {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewer = (TreeViewer)viewerPane.getViewer();
+ treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, treeViewer<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, treeViewer))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+
+ new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(treeViewer, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, treeViewer));
+<%}%>
+
+ createContextMenuFor(treeViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreePage_label"));<%=genModel.getNonNLS()%>
+ }
+
+ // This is the page for the table viewer.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Viewer createViewer(Composite composite)
+ {
+ return new TableViewer(composite);
+ }
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void requestActivation()
+ {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ tableViewer = (TableViewer)viewerPane.getViewer();
+
+ Table table = tableViewer.getTable();
+ TableLayout layout = new TableLayout();
+ table.setLayout(layout);
+ table.setHeaderVisible(true);
+ table.setLinesVisible(true);
+
+ TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(3, 100, true));
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));<%=genModel.getNonNLS()%>
+ objectColumn.setResizable(true);
+
+ TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(2, 100, true));
+ selfColumn.setText(getString("_UI_SelfColumn_label"));<%=genModel.getNonNLS()%>
+ selfColumn.setResizable(true);
+
+ tableViewer.setColumnProperties(new String [] {"a", "b"});<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ tableViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, tableViewer<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, tableViewer<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%>))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(tableViewer, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, tableViewer));
+
+<%}%>
+ createContextMenuFor(tableViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TablePage_label"));<%=genModel.getNonNLS()%>
+ }
+
+ // This is the page for the table tree viewer.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), <%=genPackage.getEditorClassName()%>.this)
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public Viewer createViewer(Composite composite)
+ {
+ return new TreeViewer(composite);
+ }
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void requestActivation()
+ {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+ Tree tree = treeViewerWithColumns.getTree();
+ tree.setLayoutData(new FillLayout());
+ tree.setHeaderVisible(true);
+ tree.setLinesVisible(true);
+
+ TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));<%=genModel.getNonNLS()%>
+ objectColumn.setResizable(true);
+ objectColumn.setWidth(250);
+
+ TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+ selfColumn.setText(getString("_UI_SelfColumn_label"));<%=genModel.getNonNLS()%>
+ selfColumn.setResizable(true);
+ selfColumn.setWidth(200);
+
+ treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewerWithColumns.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, treeViewerWithColumns<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, treeViewerWithColumns<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%>))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(treeViewerWithColumns, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, treeViewerWithColumns));
+
+<%}%>
+ createContextMenuFor(treeViewerWithColumns);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));<%=genModel.getNonNLS()%>
+ }
+<%} else {%>
+ Tree tree = new Tree(getContainer(), SWT.MULTI);
+ selectionViewer = new TreeViewer(tree);
+ setCurrentViewer(selectionViewer);
+
+ selectionViewer.setUseHashlookup(true);
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ selectionViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, selectionViewer<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, selectionViewer<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%>))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(selectionViewer, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, selectionViewer));
+<%}%>
+
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(tree);
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));<%=genModel.getNonNLS()%>
+<%}%>
+
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void run()
+ {
+ if (!getContainer().isDisposed())
+ {
+ 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;
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void controlResized(ControlEvent event)
+ {
+ if (!guard)
+ {
+ guard = true;
+ hideTabs();
+ guard = false;
+ }
+ }
+ });
+
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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, "");<%=genModel.getNonNLS()%>
+ if (getContainer() instanceof CTabFolder)
+ {
+ Point point = getContainer().getSize();
+ Rectangle clientArea = getContainer().getClientArea();
+ getContainer().setSize(point.x, 2 * point.y - clientArea.height - clientArea.y);
+ }
+ }
+ }
+
+ /**
+ * 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"));<%=genModel.getNonNLS()%>
+ if (getContainer() instanceof CTabFolder)
+ {
+ Point point = getContainer().getSize();
+ Rectangle clientArea = getContainer().getClientArea();
+ getContainer().setSize(point.x, clientArea.height + clientArea.y);
+ }
+ }
+ }
+
+ /**
+ * This is used to track the active viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @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
+ */
+<%if (genModel.useGenerics() && genModel.getEclipsePlatformVersion().getValue() < GenEclipsePlatformVersion.MARS_VALUE) {%>
+ @SuppressWarnings("<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE) {%>rawtypes<%} else {%>unchecked<%}%>")
+<%}%>
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+<%if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {%>
+ public <T> T getAdapter(Class<T> key)
+<%} else {%>
+ public Object getAdapter(Class key)
+<%}%>
+ {
+ if (key.equals(IContentOutlinePage.class))
+ {
+<%if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {%>
+ return showOutlineView() ? key.cast(getContentOutlinePage()) : null;
+<%} else {%>
+ return showOutlineView() ? getContentOutlinePage() : null;
+<%}%>
+ }
+ else if (key.equals(IPropertySheetPage.class))
+ {
+<%if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {%>
+ return key.cast(getPropertySheetPage());
+<%} else {%>
+ return getPropertySheetPage();
+<%}%>
+ }
+<%if (!genModel.isRichClientPlatform()) {%>
+ else if (key.equals(IGotoMarker.class))
+ {
+<%if (genModel.getEclipsePlatformVersion().getValue() >= GenEclipsePlatformVersion.MARS_VALUE) {%>
+ return key.cast(this);
+<%} else {%>
+ return this;
+<%}%>
+ }
+<%}%>
+<%if (genModel.isFindAction()) {%>
+ else if (key.equals(<%=genModel.getImportedName("org.eclipse.jface.text.IFindReplaceTarget")%>.class))
+ {
+ return <%=genModel.getImportedName("org.eclipse.emf.edit.ui.util.FindAndReplaceTarget")%>.getAdapter(key, this, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin());
+ }
+<%}%>
+ 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
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void createControl(Composite parent)
+ {
+ super.createControl(parent);
+ contentOutlineViewer = getTreeViewer();
+ contentOutlineViewer.addSelectionChangedListener(this);
+
+ // Set up the tree viewer.
+ //
+ contentOutlineViewer.setUseHashlookup(true);
+ contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ contentOutlineViewer.setLabelProvider(<%if (useStyledLabelProvider) {%>new <%=_DelegatingAdapterFactoryLabelProvider%>(<%}%><%if (genModel.getDecoration() != GenDecoration.NONE) {%>new <%=_DecoratingColumLabelProvider%>(<%}%>new <%=_AdapterFactoryLabelProvider%>(adapterFactory<%if (useExtendedLabelProvider) {%>, contentOutlineViewer<%}%>)<%if (genModel.getDecoration() != GenDecoration.NONE) {%>, new <%=_DiagnosticDecorator%>(editingDomain<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>.getResourceSet()<%}%>, contentOutlineViewer<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%>))<%}%><%if (useStyledLabelProvider) {%>)<%}%>);
+ contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+<%if (genModel.getDecoration() != GenDecoration.NONE) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport")%>(contentOutlineViewer, new <%=_DiagnosticDecorator%>.EditingDomainLocationListener(editingDomain, contentOutlineViewer));
+
+<%}%>
+ // 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);
+ }
+ }
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager)
+ {
+ super.makeContributions(menuManager, toolBarManager, statusLineManager);
+ contentOutlineStatusLineManager = statusLineManager;
+ }
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @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.
+ //
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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<%if (genModel.getDecoration() == GenDecoration.MANUAL) {%>, ExtendedPropertySheetPage.Decoration.MANUAL<%} else if (genModel.getDecoration() == GenDecoration.LIVE) {%>, ExtendedPropertySheetPage.Decoration.LIVE, <%=genPackage.getImportedEditorPluginClassName()%>.getPlugin().getDialogSettings()<%}%><%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF214_VALUE) {%>, <%if (genModel.getDecoration() == GenDecoration.NONE) {%>ExtendedPropertySheetPage.Decoration.NONE, <%}%><%if (genModel.getDecoration() != GenDecoration.LIVE) {%>null, <%}%><%=genModel.getAutoExpandProperties()%>, <%=genModel.isAutoResizeProperties()%><%}%>)
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void setSelectionToViewer(<%=_ListOfAnything%> selection)
+ {
+ <%=genPackage.getEditorClassName()%>.this.setSelectionToViewer(selection);
+ <%=genPackage.getEditorClassName()%>.this.setFocus();
+ }
+
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @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 (genPackage.isMultipleEditorPages()) {%>
+ if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
+<%} else {%>
+ if (selectionViewer != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
+<%}%>
+ {
+ Iterator<%if (genModel.useGenerics()) {%><?><%}%> selectedElements = ((IStructuredSelection)selection).iterator();
+ if (selectedElements.hasNext())
+ {
+ // Get the first selected element.
+ //
+ Object selectedElement = selectedElements.next();
+
+<%if (genPackage.isMultipleEditorPages()) {%>
+ // If it's the selection viewer, then we want it to select the same selection as this selection.
+ //
+ if (currentViewerPane.getViewer() == selectionViewer)
+ {
+ <%=_ArrayListOfObject%> selectionList = new <%=_ArrayListOfObject%>();
+ selectionList.add(selectedElement);
+ while (selectedElements.hasNext())
+ {
+ selectionList.add(selectedElements.next());
+ }
+
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
+ }
+ else
+ {
+ // Set the input to the widget.
+ //
+ if (currentViewerPane.getViewer().getInput() != selectedElement)
+ {
+ currentViewerPane.getViewer().setInput(selectedElement);
+ currentViewerPane.setTitle(selectedElement);
+ }
+ }
+<%} else {%>
+ <%=_ArrayListOfObject%> selectionList = new <%=_ArrayListOfObject%>();
+ 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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public boolean isDirty()
+ {
+ return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+ }
+
+<%if (genModel.isRevertAction()) {%>
+ /**
+ * This is for implementing {@link IRevertablePart}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void doRevert()
+ {
+<%if (genModel.getDecoration() == GenDecoration.LIVE) {%>
+ DiagnosticDecorator.cancel(editingDomain);
+
+<%}%>
+ ResourceSet resourceSet = editingDomain.getResourceSet();
+ <%=_ListOfResource%> resources = resourceSet.getResources();
+ <%=_ListOfResource%> unloadedResources = new <%=_ArrayListOfResource%>();
+ updateProblemIndication = false;
+ for (int i = 0; i < resources.size(); ++i)
+ {
+ Resource resource = resources.get(i);
+ if (resource.isLoaded())
+ {
+ resource.unload();
+ unloadedResources.add(resource);
+ }
+ }
+
+ resourceToDiagnosticMap.clear();
+<%if (genModel.useGenerics()) {%>
+ for (Resource resource : unloadedResources)
+<%} else {%>
+ for (Iterator i = unloadedResources.iterator(); i.hasNext(); )
+<%}%>
+ {
+<%if (!genModel.useGenerics()) {%>
+ Resource resource = (Resource)i.next();
+<%}%>
+ try
+ {
+ resource.load(resourceSet.getLoadOptions());
+ }
+ catch (IOException exception)
+ {
+ if (!resourceToDiagnosticMap.containsKey(resource))
+ {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ }
+ }
+
+ editingDomain.getCommandStack().flush();
+
+ if (AdapterFactoryEditingDomain.isStale(editorSelection))
+ {
+ setSelection(StructuredSelection.EMPTY);
+ }
+
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+
+<%}%>
+ /**
+ * This is for implementing {@link IEditorPart} and simply saves the model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void doSave(IProgressMonitor progressMonitor)
+ {
+ // Save only resources that have actually changed.
+ //
+ final <%=_MapOfObjectToObject%> saveOptions = new <%=_HashMapOfObjectToObject%>();
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
+ saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+<%}%>
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {%>
+ 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.
+ //
+ <%=importedOperationClassName%> operation =
+ new <%=importedOperationClassName%>()
+ {
+ // This is the method that gets invoked when the operation runs.
+ //
+<%if (genModel.useInterfaceOverrideAnnotation() || !genModel.isRichClientPlatform() && genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void <%=operationMethodName%>(IProgressMonitor monitor)
+ {
+ // Save the resources to the file system.
+ //
+ boolean first = true;
+ <%=_ListOfResource%> resources = editingDomain.getResourceSet().getResources();
+ for (int i = 0; i < resources.size(); ++i)
+ {
+ Resource resource = <%if (!genModel.useGenerics()) {%>(Resource)<%}%>resources.get(i);
+ if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource))
+ {
+ try
+ {
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {%>
+ long timeStamp = resource.getTimeStamp();
+ resource.save(saveOptions);
+ if (resource.getTimeStamp() != timeStamp)
+ {
+ savedResources.add(resource);
+ }
+<%} else {%>
+ resource.save(saveOptions);
+ 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.
+ //
+ <%=genPackage.getImportedEditorPluginClassName()%>.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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public boolean isSaveAsAllowed()
+ {
+ return true;
+ }
+
+ /**
+ * This also changes the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void doSaveAs()
+ {
+<%if (genModel.isRichClientPlatform()) {%>
+ <%if (genModel.isRichAjaxPlatform()) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.ui.dialogs.ResourceDialog")%>(getSite().getShell(), null, SWT.NONE)
+ {
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected boolean isSave()
+ {
+ return true;
+ }
+
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ protected boolean processResources()
+ {
+ <%="List" + (genModel.useGenerics() ? "<URI>" : "")%> uris = getURIs();
+ if (uris.size() > 0)
+ {
+ URI uri = <%=genModel.useGenerics() ? "": "(URI)"%>uris.get(0);
+ doSaveAs(uri, new <%=genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput")%>(uri));
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }.open();
+ <%} else {%>
+ String[] filters = <%if (!genModel.useGenerics()) {%>(String[])<%}%>FILE_EXTENSION_FILTERS.toArray(new String[FILE_EXTENSION_FILTERS.size()]);
+ String[] files = <%=genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName())%>.openFilePathDialog(getSite().getShell(), <%=genModel.getImportedName("org.eclipse.swt.SWT")%>.SAVE, filters);
+ if (files.length > 0)
+ {
+ URI uri = URI.createFileURI(files[0]);
+ doSaveAs(uri, new <%=genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput")%>(uri));
+ }
+ <%}%>
+<%} else {%>
+ 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)
+ {
+ (<%if (!genModel.useGenerics()) {%>(Resource)<%}%>editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ IProgressMonitor progressMonitor =
+ getActionBars().getStatusLineManager() != null ?
+ getActionBars().getStatusLineManager().getProgressMonitor() :
+ new <%=genModel.getImportedName("org.eclipse.core.runtime.NullProgressMonitor")%>();
+ doSave(progressMonitor);
+ }
+<%if (!genModel.isRichClientPlatform()) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void gotoMarker(IMarker marker)
+ {
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
+ <%=_ListOfAnything%> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+ if (!targetObjects.isEmpty())
+ {
+ setSelectionToViewer(targetObjects);
+ }
+<%} else {%>
+ try
+ {
+ if (marker.isSubtypeOf(EValidator.MARKER))
+ {
+ String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
+ if (uriAttribute != null)
+ {
+ URI uri = URI.createURI(uriAttribute);
+ EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
+ if (eObject != null)
+ {
+ setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
+ }
+ }
+ }
+ }
+ catch (CoreException exception)
+ {
+ <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+ }
+<%}%>
+ }
+<%}%>
+
+ /**
+ * This is called during startup.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void init(IEditorSite site, IEditorInput editorInput)
+ {
+ setSite(site);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ site.setSelectionProvider(this);
+ site.getPage().addPartListener(partListener);
+<%if (!genModel.isRichClientPlatform()) {%>
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+<%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void setFocus()
+ {
+<%if (genPackage.isMultipleEditorPages()) {%>
+ if (currentViewerPane != null)
+ {
+ currentViewerPane.setFocus();
+ }
+ else
+ {
+ getControl(getActivePage()).setFocus();
+ }
+<%} else {%>
+ getControl(getActivePage()).setFocus();
+<%}%>
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void addSelectionChangedListener(ISelectionChangedListener listener)
+ {
+ selectionChangedListeners.add(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void setSelection(ISelection selection)
+ {
+ editorSelection = selection;
+
+<%if (genModel.useGenerics()) {%>
+ for (ISelectionChangedListener listener : selectionChangedListeners)
+<%} else {%>
+ for (Iterator listeners = selectionChangedListeners.iterator(); listeners.hasNext(); )
+<%}%>
+ {
+<%if (!genModel.useGenerics()) {%>
+ ISelectionChangedListener listener = (ISelectionChangedListener)listeners.next();
+<%}%>
+ 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)
+ {
+ <%=_CollectionOfAnything%> collection = ((IStructuredSelection)selection).toList();
+ switch (collection.size())
+ {
+ case 0:
+ {
+ statusLineManager.setMessage(getString("_UI_NoObjectSelected"));<%=genModel.getNonNLS()%>
+ break;
+ }
+ case 1:
+ {
+ String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+ statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));<%=genModel.getNonNLS()%>
+ break;
+ }
+ default:
+ {
+ statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));<%=genModel.getNonNLS()%>
+ break;
+ }
+ }
+ }
+ else
+ {
+ statusLineManager.setMessage("");<%=genModel.getNonNLS()%>
+ }
+ }
+ }
+
+ /**
+ * 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 <%=genPackage.getImportedEditorPluginClassName()%>.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 <%=genPackage.getImportedEditorPluginClassName()%>.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
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void dispose()
+ {
+ updateProblemIndication = false;
+
+<%if (!genModel.isRichClientPlatform()) {%>
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+<%}%>
+ getSite().getPage().removePartListener(partListener);
+
+ adapterFactory.dispose();
+
+ if (getActionBarContributor().getActiveEditor() == this)
+ {
+ getActionBarContributor().setActiveEditor(null);
+ }
+
+<%if (genModel.useGenerics()) {%>
+ for (PropertySheetPage propertySheetPage : propertySheetPages)
+<%} else {%>
+ for (Iterator i = propertySheetPages.iterator(); i.hasNext(); )
+<%}%>
+ {
+<%if (!genModel.useGenerics()) {%>
+ PropertySheetPage propertySheetPage = (PropertySheetPage)i.next();
+<%}%>
+ 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 <%=genPackage.isMultipleEditorPages()%>;
+ }
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._SwqrSGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._SwqrSGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._SwqrSGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._-Y0XhHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._-Y0XhHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..8298b2159
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._-Y0XhHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genPackage.hasConcreteClasses() && genPackage.isGenerateModelWizard() && genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._0_yuaWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._0_yuaWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._0_yuaWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e17c88680
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getEditorDirectory();
+packageName = genPackage.getPresentationPackageName();
+className = genPackage.getModelWizardClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..250c8f304
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._Pm5iIjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,994 @@
+
+<%
+/**
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+<%String _ListOfString = "List" + (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");%>
+<%String _ArrayListOfString = "ArrayList" + (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");%>
+<%String _CollectionOfString = "Collection" + (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");%>
+<%String _MapOfObjectToObject = "Map" + (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ", " + genModel.getImportedName("java.lang.Object") + ">" : "");%>
+<%String _HashMapOfObjectToObject = "HashMap" + (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ", " + genModel.getImportedName("java.lang.Object") + ">" : "");%>
+package <%=genPackage.getPresentationPackageName()%>;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+<%if (!genModel.useGenerics()) {%>
+import java.util.Iterator;
+<%}%>
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+<%if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%>
+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.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+<%if (!genModel.isRichClientPlatform()) {%>
+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.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+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;
+
+<%if (!genModel.isRichClientPlatform()) {%>
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+<%}%>
+<%if (!genModel.isSuppressEMFMetaData()) {%>
+import <%=genPackage.getQualifiedFactoryInterfaceName()%>;
+<%}%>
+import <%=genPackage.getQualifiedPackageInterfaceName()%>;
+import <%=genPackage.getQualifiedEditPluginClassName()%>;
+
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public class <%=genPackage.getModelWizardClassName()%> extends Wizard implements INewWizard
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * The supported extensions for created files.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=_ListOfString%> FILE_EXTENSIONS =
+ Collections.unmodifiableList(Arrays.asList(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>FilenameExtensions").split("\\s*,\\s*")));<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+
+ /**
+ * A formatted list of supported file extensions, suitable for display.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String FORMATTED_FILE_EXTENSIONS =
+ <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>FilenameExtensions").replaceAll("\\s*,\\s*", ", ");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%><%=genModel.getNonNLS(3)%>
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.isSuppressEMFMetaData() ? genModel.getImportedName("org.eclipse.emf.ecore.EPackage") : genPackage.getPackageInterfaceName()%> <%=genPackage.getUncapPackageName()%> = <%=genPackage.getPackageInterfaceName()%>.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.isSuppressEMFMetaData() ? genModel.getImportedName("org.eclipse.emf.ecore.EFactory") : genPackage.getFactoryInterfaceName()%> <%=genPackage.getUncapFactoryName()%> = <%=genPackage.getUncapPackageName()%>.get<%=genModel.isSuppressEMFMetaData() ? "EFactoryInstance" : genPackage.getFactoryName()%>();
+
+<%if (!genModel.isRichClientPlatform()) {%>
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genPackage.getModelWizardClassName()%>NewFileCreationPage newFileCreationPage;
+
+<%}%>
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genPackage.getModelWizardClassName()%>InitialObjectCreationPage 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;
+
+ /**
+<%if (!genPackage.hasDocumentRoot()) {%>
+ * Caches the names of the types that can be created as the root object.
+<%} else {%>
+ * Caches the names of the features representing global elements.
+<%}%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_ListOfString%> initialObjectNames;
+
+ /**
+ * This just records the information.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void init(IWorkbench workbench, IStructuredSelection selection)
+ {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_Wizard_label"));<%=genModel.getNonNLS()%>
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getImage("full/wizban/New<%=genPackage.getPrefix()%>")));<%=genModel.getNonNLS()%>
+ }
+
+ /**
+<%if (!genPackage.hasDocumentRoot()) {%>
+ * Returns the names of the types that can be created as the root object.
+<%} else {%>
+ * Returns the names of the features representing global elements.
+<%}%>
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_CollectionOfString%> getInitialObjectNames()
+ {
+ if (initialObjectNames == null)
+ {
+ initialObjectNames = new <%=_ArrayListOfString%>();
+<%if (!genPackage.hasDocumentRoot()) {%>
+ <%if (genModel.useGenerics()) {%>
+ for (EClassifier eClassifier : <%=genPackage.getUncapPackageName()%>.getEClassifiers())
+ <%} else {%>
+ for (Iterator classifiers = <%=genPackage.getUncapPackageName()%>.getEClassifiers().iterator(); classifiers.hasNext(); )
+ <%}%>
+ {
+ <%if (!genModel.useGenerics()) {%>
+ EClassifier eClassifier = (EClassifier)classifiers.next();
+ <%}%>
+ if (eClassifier instanceof EClass)
+ {
+ EClass eClass = (EClass)eClassifier;
+ if (!eClass.isAbstract())
+ {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+<%} else {%>
+ <%if (genModel.useGenerics()) {%>
+ for (<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%> eStructuralFeature : <%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%>.INSTANCE.getAllElements(<%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%>.INSTANCE.getDocumentRoot(<%=genPackage.getUncapPackageName()%>)))
+ <%} else {%>
+ for (Iterator elements = <%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%>.INSTANCE.getAllElements(<%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%>.INSTANCE.getDocumentRoot(<%=genPackage.getUncapPackageName()%>)).iterator(); elements.hasNext(); )
+ <%}%>
+ {
+ <%if (!genModel.useGenerics()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%> eStructuralFeature = (<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>)elements.next();
+ <%}%>
+ if (eStructuralFeature.isChangeable())
+ {
+ EClassifier eClassifier = eStructuralFeature.getEType();
+ if (eClassifier instanceof EClass)
+ {
+ EClass eClass = (EClass)eClassifier;
+ if (!eClass.isAbstract())
+ {
+ initialObjectNames.add(eStructuralFeature.getName());
+ }
+ }
+ }
+ }
+<%}%>
+ Collections.sort(initialObjectNames, <%if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%>CommonPlugin.INSTANCE.getComparator()<%} else {%>java.text.Collator.getInstance()<%}%>);
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObject createInitialModel()
+ {
+<%if (!genPackage.hasDocumentRoot()) {%>
+ EClass eClass = (EClass)<%=genPackage.getUncapPackageName()%>.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = <%=genPackage.getUncapFactoryName()%>.create(eClass);
+<%} else {%>
+ EClass eClass = <%=genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData")%>.INSTANCE.getDocumentRoot(<%=genPackage.getUncapPackageName()%>);
+ EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = <%=genPackage.getUncapFactoryName()%>.create(eClass);
+ rootObject.eSet(eStructuralFeature, <%=genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil")%>.create((EClass)eStructuralFeature.getEType()));
+<%}%>
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public boolean performFinish()
+ {
+ try
+ {
+<%if (genModel.isRichClientPlatform()) {%>
+ // Get the URI of the model file.
+ //
+ final URI fileURI = getModelURI();
+ if (new <%=genModel.getImportedName("java.io.File")%>(fileURI.toFileString()).exists())
+ {
+ if (!MessageDialog.openQuestion
+ (getShell(),
+ <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_Question_title"),<%=genModel.getNonNLS()%>
+ <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_WARN_FileConflict", new String []{ fileURI.toFileString() })))<%=genModel.getNonNLS()%>
+ {
+ initialObjectCreationPage.selectFileField();
+ return false;
+ }
+ }
+
+ // Do the work within an operation.
+ //
+ <%=genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress")%> operation = new <%=genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress")%>()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void run(IProgressMonitor progressMonitor)
+<%} else {%>
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation =
+ new WorkspaceModifyOperation()
+ {
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected void execute(IProgressMonitor progressMonitor)
+<%}%>
+ {
+ try
+ {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+<%if (!genModel.isRichClientPlatform()) {%>
+ // 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<%if (genPackage.isContentType()) {%>, <%=genPackage.getImportedPackageInterfaceName()%>.eCONTENT_TYPE<%}%>);
+
+ // 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.
+ //
+ <%=_MapOfObjectToObject%> options = new <%=_HashMapOfObjectToObject%>();
+ options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ }
+ catch (Exception exception)
+ {
+ <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+ }
+ finally
+ {
+ progressMonitor.done();
+ }
+ }
+ };
+
+ getContainer().run(false, false, operation);
+
+<%if (genModel.isRichClientPlatform()) {%>
+ return <%=genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName())%>.openEditor(workbench, fileURI);
+<%} else {%>
+ // Select the new file resource in the current view.
+ //
+ <%=genModel.getImportedName("org.eclipse.ui.IWorkbenchWindow")%> workbenchWindow = workbench.getActiveWorkbenchWindow();
+ <%=genModel.getImportedName("org.eclipse.ui.IWorkbenchPage")%> page = workbenchWindow.getActivePage();
+ final <%=genModel.getImportedName("org.eclipse.ui.IWorkbenchPart")%> activePart = page.getActivePart();
+ if (activePart instanceof ISetSelectionTarget)
+ {
+ final <%=genModel.getImportedName("org.eclipse.jface.viewers.ISelection")%> targetSelection = new <%=genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection")%>(modelFile);
+ getShell().getDisplay().asyncExec
+ (new Runnable()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void run()
+ {
+ ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+ }
+ });
+ }
+
+ // Open an editor on the new file.
+ //
+ try
+ {
+ page.openEditor
+ (new FileEditorInput(modelFile),
+ workbench.getEditorRegistry().getDefaultEditor<%if (!genPackage.isContentType()) {%>(modelFile.getFullPath().toString()).getId());<%} else {%>
+ (modelFile.getFullPath().toString(),
+ <%=genModel.getImportedName("org.eclipse.core.runtime.Platform")%>.getContentTypeManager().getContentType(<%=genPackage.getImportedPackageInterfaceName()%>.eCONTENT_TYPE)).getId());
+<%}%>
+ }
+ catch (<%=genModel.getImportedName("org.eclipse.ui.PartInitException")%> exception)
+ {
+ MessageDialog.openError(workbenchWindow.getShell(), <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());<%=genModel.getNonNLS()%>
+ return false;
+ }
+
+ return true;
+<%}%>
+ }
+ catch (Exception exception)
+ {
+ <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+<%if (!genModel.isRichClientPlatform()) {%>
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class <%=genPackage.getModelWizardClassName()%>NewFileCreationPage extends WizardNewFileCreationPage
+ {
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getModelWizardClassName()%>NewFileCreationPage(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
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected boolean validatePage()
+ {
+ if (super.validatePage())
+ {
+ String extension = new <%=genModel.getImportedName("org.eclipse.core.runtime.Path")%>(getFileName()).getFileExtension();
+ if (extension == null || !FILE_EXTENSIONS.contains(extension))
+ {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ setErrorMessage(<%=genPackage.getImportedEditorPluginClassName()%>.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 <%=genPackage.getModelWizardClassName()%>InitialObjectCreationPage extends WizardPage
+ {
+<%if (genModel.isRichClientPlatform()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.swt.widgets.Text")%> fileField;
+
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ protected <%=_ListOfString%> encodings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getModelWizardClassName()%>InitialObjectCreationPage(String pageId)
+ {
+ super(pageId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ 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);
+ }
+
+<%if (genModel.isRichClientPlatform()) {%>
+ Label resourceURILabel = new Label(composite, SWT.LEFT);
+ {
+ resourceURILabel.setText(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_File_label"));<%=genModel.getNonNLS()%>
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ resourceURILabel.setLayoutData(data);
+ }
+
+ Composite fileComposite = new Composite(composite, SWT.NONE);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.END;
+ fileComposite.setLayoutData(data);
+
+ GridLayout layout = new GridLayout();
+ data.horizontalAlignment = GridData.FILL;
+ layout.marginHeight = 0;
+ layout.marginWidth = 0;
+ layout.numColumns = 2;
+ fileComposite.setLayout(layout);
+ }
+
+ fileField = new <%=genModel.getImportedName("org.eclipse.swt.widgets.Text")%>(fileComposite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ data.horizontalSpan = 1;
+ fileField.setLayoutData(data);
+ }
+
+ fileField.addModifyListener(validator);
+
+ <%if (!genModel.isRichAjaxPlatform()) {%>
+ <%=genModel.getImportedName("org.eclipse.swt.widgets.Button")%> resourceURIBrowseFileSystemButton = new <%=genModel.getImportedName("org.eclipse.swt.widgets.Button")%>(fileComposite, SWT.PUSH);
+ resourceURIBrowseFileSystemButton.setText(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_Browse_label"));<%=genModel.getNonNLS()%>
+
+ resourceURIBrowseFileSystemButton.addSelectionListener
+ (new <%=genModel.getImportedName("org.eclipse.swt.events.SelectionAdapter")%>()
+ {
+ <%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public void widgetSelected(<%=genModel.getImportedName("org.eclipse.swt.events.SelectionEvent")%> event)
+ {
+ String[] filters = <%if (!genModel.useGenerics()) {%>(String[])<%}%><%=genPackage.getImportedEditorClassName()%>.FILE_EXTENSION_FILTERS.toArray(new String[<%=genPackage.getImportedEditorClassName()%>.FILE_EXTENSION_FILTERS.size()]);
+ String[] files = <%=genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName())%>.openFilePathDialog(getShell(), <%=genModel.getImportedName("org.eclipse.swt.SWT")%>.SAVE, filters);
+ if (files.length > 0)
+ {
+ fileField.setText(files[0]);
+ }
+ }
+ });
+ <%}%>
+<%}%>
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_ModelObject"));<%=genModel.getNonNLS()%>
+
+ 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);
+ }
+
+ <%if (genModel.useGenerics()) {%>
+ for (String objectName : getInitialObjectNames())
+ {
+ initialObjectField.add(getLabel(objectName));
+ }
+ <%} else {%>
+ for (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )
+ {
+ initialObjectField.add(getLabel((String)i.next()));
+ }
+ <%}%>
+
+ if (initialObjectField.getItemCount() == 1)
+ {
+ initialObjectField.select(0);
+ }
+ initialObjectField.addModifyListener(validator);
+
+ Label encodingLabel = new Label(composite, SWT.LEFT);
+ {
+ encodingLabel.setText(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_XMLEncoding"));<%=genModel.getNonNLS()%>
+
+ 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);
+ }
+
+ <%if (genModel.useGenerics()) {%>
+ for (String encoding : getEncodings())
+ {
+ encodingField.add(encoding);
+ }
+ <%} else {%>
+ for (Iterator i = getEncodings().iterator(); i.hasNext(); )
+ {
+ encodingField.add((String)i.next());
+ }
+ <%}%>
+
+ encodingField.select(0);
+ encodingField.addModifyListener(validator);
+
+ setPageComplete(validatePage());
+ setControl(composite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifyListener validator =
+ new ModifyListener()
+ {
+<%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void modifyText(ModifyEvent e)
+ {
+ setPageComplete(validatePage());
+ }
+ };
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean validatePage()
+ {
+<%if (genModel.isRichClientPlatform()) {%>
+ URI fileURI = getFileURI();
+ if (fileURI == null || fileURI.isEmpty())
+ {
+ setErrorMessage(null);
+ return false;
+ }
+
+ String extension = fileURI.fileExtension();
+ if (extension == null || !FILE_EXTENSIONS.contains(extension))
+ {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ setErrorMessage(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+ return false;
+ }
+
+ setErrorMessage(null);
+<%}%>
+ return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void setVisible(boolean visible)
+ {
+ super.setVisible(visible);
+ if (visible)
+ {
+<%if (!genModel.isRichClientPlatform()) {%>
+ if (initialObjectField.getItemCount() == 1)
+ {
+ initialObjectField.clearSelection();
+ encodingField.setFocus();
+ }
+ else
+ {
+ encodingField.clearSelection();
+ initialObjectField.setFocus();
+ }
+<%} else {%>
+ initialObjectField.clearSelection();
+ encodingField.clearSelection();
+ fileField.setFocus();
+<%}%>
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInitialObjectName()
+ {
+ String label = initialObjectField.getText();
+
+ <%if (genModel.useGenerics()) {%>
+ for (String name : getInitialObjectNames())
+ <%} else {%>
+ for (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )
+ <%}%>
+ {
+ <%if (!genModel.useGenerics()) {%>
+ String name = (String)i.next();
+ <%}%>
+ if (getLabel(name).equals(label))
+ {
+ return name;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEncoding()
+ {
+ return encodingField.getText();
+ }
+<%if (genModel.isRichClientPlatform()) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public URI getFileURI()
+ {
+ try
+ {
+ return URI.createFileURI(fileField.getText());
+ }
+ catch (Exception exception)
+ {
+ // Ignore
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectFileField()
+ {
+ initialObjectField.clearSelection();
+ encodingField.clearSelection();
+ fileField.selectAll();
+ fileField.setFocus();
+ }
+<%}%>
+<%{ String type = genPackage.hasDocumentRoot() ? "feature" : "type"; String prefix = genPackage.hasDocumentRoot() ? "_UI_DocumentRoot_" : "_UI_";%>
+
+ /**
+ * Returns the label for the specified <%=type%> name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String getLabel(String <%=type%>Name)
+ {
+ try
+ {
+ return <%=genPackage.getEditPluginClassName()%>.INSTANCE.getString("<%=prefix%>" + <%=type%>Name + "_<%=type%>");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ }
+ catch(MissingResourceException mre)
+ {
+ <%=genModel.getImportedName(genModel.getQualifiedEditorPluginClassName())%>.INSTANCE.log(mre);
+ }
+ return <%=type%>Name;
+ }
+<%}%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=_CollectionOfString%> getEncodings()
+ {
+ if (encodings == null)
+ {
+ encodings = new <%=_ArrayListOfString%>();
+ for (StringTokenizer stringTokenizer = new StringTokenizer(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); )<%=genModel.getNonNLS()%>
+ {
+ encodings.add(stringTokenizer.nextToken());
+ }
+ }
+ return encodings;
+ }
+ }
+
+ /**
+ * The framework calls this to create the contents of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void addPages()
+ {
+<%if (!genModel.isRichClientPlatform()) {%>
+ // Create a page, set the title, and the initial model file name.
+ //
+ newFileCreationPage = new <%=genPackage.getModelWizardClassName()%>NewFileCreationPage("Whatever", selection);<%=genModel.getNonNLS()%>
+ newFileCreationPage.setTitle(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getModelWizardClassName()%>_label"));<%=genModel.getNonNLS()%>
+ newFileCreationPage.setDescription(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getModelWizardClassName()%>_description"));<%=genModel.getNonNLS()%>
+ newFileCreationPage.setFileName(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>FilenameDefaultBase") + "." + <%if (!genModel.useGenerics()) {%>(String)<%}%>FILE_EXTENSIONS.get(0));<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ 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 = <%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getEditorClassName()%>FilenameDefaultBase");<%=genModel.getNonNLS()%>
+ String defaultModelFilenameExtension = <%if (!genModel.useGenerics()) {%>(String)<%}%>FILE_EXTENSIONS.get(0);
+ String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;<%=genModel.getNonNLS()%>
+ for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i)
+ {
+ modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;<%=genModel.getNonNLS()%>
+ }
+ newFileCreationPage.setFileName(modelFilename);
+ }
+ }
+ }
+<%}%>
+ initialObjectCreationPage = new <%=genPackage.getModelWizardClassName()%>InitialObjectCreationPage("Whatever2");<%=genModel.getNonNLS()%>
+ initialObjectCreationPage.setTitle(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_<%=genPackage.getModelWizardClassName()%>_label"));<%=genModel.getNonNLS()%>
+ initialObjectCreationPage.setDescription(<%=genPackage.getImportedEditorPluginClassName()%>.INSTANCE.getString("_UI_Wizard_initial_object_description"));<%=genModel.getNonNLS()%>
+ addPage(initialObjectCreationPage);
+ }
+
+<%if (genModel.isRichClientPlatform()) {%>
+ /**
+ * Get the URI from the page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public URI getModelURI()
+ {
+ return initialObjectCreationPage.getFileURI();
+ }
+
+<%} else {%>
+ /**
+ * Get the file from the page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile()
+ {
+ return newFileCreationPage.getModelFile();
+ }
+
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxIzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxJTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxJTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._PmvxJTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._SwN_WGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._SwN_WGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PmvxIDG0Ed-kc8dEZsdm2w/method._SwN_WGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._-dcY1HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._-dcY1HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..5bdb29ca4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._-dcY1HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,4 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._1AYkSGKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._1AYkSGKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._1AYkSGKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D-TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D-TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..60cf2f25f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D-TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,8 @@
+<%
+GenPackage genPackage = parameter;
+if (genPackage.hasConcreteClasses()) {
+new CodegenGeneratorAdapter(parameter).generateGIF("editor/ModelFile.gif", genPackage.getModelIconFileName(), genPackage.getPrefix(), null, false);
+}
+ else {
+}
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D8zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D9TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D9TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pn8D8DG0Ed-kc8dEZsdm2w/method._Pn8D9TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._-NpCRHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._-NpCRHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..6c9a61a1b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._-NpCRHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && true;
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._0_fzeWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._0_fzeWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._0_fzeWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsEzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..163f874e7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsFzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditorPluginDirectory();
+packageName = genModel.getEditorPluginPackageName();
+className = genModel.getEditorPluginClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsGTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsGTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..fbf5dcc37
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._PnCsGTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,142 @@
+
+<%
+/**
+ * Copyright (c) 2002-2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genModel.getEditorPluginPackageName()%>;
+
+<%genModel.addImport("org.eclipse.emf.common.EMFPlugin");%>
+<%genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");%>
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the central singleton for the <%=genModel.getModelName()%> editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public final class <%=genModel.getEditorPluginClassName()%> extends EMFPlugin
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getEditorPluginClassName()%> INSTANCE = new <%=genModel.getEditorPluginClassName()%>();
+
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+ /**
+ * 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 <%=genModel.getEditorPluginClassName()%>()
+ {
+ super
+ (new ResourceLocator []
+ {
+<%for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {%>
+ <%=pluginClassName%>.INSTANCE,
+<%}%>
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public ResourceLocator getPluginResourceLocator()
+ {
+<%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+ return null;
+<%} else {%>
+ return plugin;
+<%}%>
+ }
+
+<%if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {%>
+ /**
+ * 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 <%=genModel.getImportedName("org.eclipse.emf.common.ui.EclipseUIPlugin")%>
+ {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.needsRuntimeCompatibility()) {%>
+ * @param descriptor the description of the plugin.
+<%}%>
+ * @generated
+ */
+ public Implementation(<%if (genModel.needsRuntimeCompatibility()) {%><%=genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor")%> descriptor<%}%>)
+ {
+ super(<%if (genModel.needsRuntimeCompatibility()) {%>descriptor<%}%>);
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._SwE1aGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._SwE1aGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnCsEDG0Ed-kc8dEZsdm2w/method._SwE1aGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._-P4d9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._-P4d9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..427b54c16
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._-P4d9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genModel.isRichClientPlatform());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._0_o9aWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._0_o9aWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._0_o9aWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnAzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..b0ee89bc8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnBzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditorPluginDirectory();
+packageName = genModel.getEditorPluginPackageName();
+className = genModel.getEditorAdvisorClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnCTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnCTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..9e4752d0c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._PnVnCTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,738 @@
+
+<%
+/**
+ * Copyright (c) 2004-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%String _ListOfString = "List" + (genModel.useGenerics() ? "<String>" : "");%>
+<%String _UniqueEListOfString = "UniqueEList" + (genModel.useGenerics() ? "<String>" : "");%>
+<%String _StringBuilder = genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer");%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genModel.getEditorPluginPackageName()%>;
+
+<%if (!genModel.isRichAjaxPlatform()) {%>
+import java.io.File;
+import java.util.Arrays;
+<%}%>
+<%if (!genModel.useGenerics()) {%>
+import java.util.Iterator;
+<%}%>
+<%if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) {%>
+import java.util.List;
+<%}%>
+
+import org.eclipse.equinox.app.IApplication;
+import org.eclipse.equinox.app.IApplicationContext;
+
+import org.eclipse.jface.action.GroupMarker;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.window.Window;
+<%if (!genModel.isRichAjaxPlatform()) {%>
+import org.eclipse.swt.SWT;
+<%}%>
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Display;
+<%if (!genModel.isRichAjaxPlatform()) {%>
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Shell;
+<%}%>
+import org.eclipse.ui.IEditorDescriptor;
+import org.eclipse.ui.IFolderLayout;
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPerspectiveFactory;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.ActionFactory;
+<%if (!genModel.isRichAjaxPlatform()) {%>
+import org.eclipse.ui.actions.ContributionItemFactory;
+<%}%>
+import org.eclipse.ui.application.ActionBarAdvisor;
+import org.eclipse.ui.application.IActionBarConfigurer;
+import org.eclipse.ui.application.IWorkbenchConfigurer;
+import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
+import org.eclipse.ui.application.WorkbenchAdvisor;
+import org.eclipse.ui.application.WorkbenchWindowAdvisor;
+
+import org.eclipse.emf.common.ui.URIEditorInput;
+import org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate;
+import org.eclipse.emf.common.util.URI;
+<%if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) {%>
+import org.eclipse.emf.common.util.UniqueEList;
+<%}%>
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+
+import <%=genModel.getQualifiedEditorPluginClassName()%>;
+<%genModel.markImportLocation(stringBuffer);%>
+
+
+/**
+ * Customized {@link WorkbenchAdvisor} for the RCP application.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genModel.getAllGenPackagesWithConcreteClasses())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public final class <%=genModel.getEditorAdvisorClassName()%> extends WorkbenchAdvisor
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+<%if (!genModel.isRichAjaxPlatform()) {%>
+ /**
+ * The default file extension filters for use in dialogs.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (genModel.getAllGenPackagesWithConcreteClasses().size() == 1) {%>
+ private static final String[] FILE_EXTENSION_FILTERS = <%if (!genModel.useGenerics()) {%>(String[])<%}%><%=genModel.getAllGenPackagesWithConcreteClasses().get(0).getImportedEditorClassName()%>.FILE_EXTENSION_FILTERS.toArray(new String[0]);
+ <%} else {%>
+ private static final String[] FILE_EXTENSION_FILTERS = getFileExtensionFilters();
+
+ /**
+ * Returns the default file extension filters. This method should only be used to initialize {@link #FILE_EXTENSION_FILTERS}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String[] getFileExtensionFilters()
+ {
+ <%=_ListOfString%> result = new <%=_UniqueEListOfString%>();
+ <%for (GenPackage genPackage : genModel.getAllGenPackagesWithConcreteClasses()) {%>
+ result.addAll(<%=genPackage.getImportedEditorClassName()%>.FILE_EXTENSION_FILTERS);
+ <%}%>
+ return <%if (!genModel.useGenerics()) {%>(String[])<%}%>result.toArray(new String[0]);
+ }
+ <%}%>
+<%}%>
+
+ /**
+ * 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 <%=genModel.getEditorPluginClassName()%>.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 <%=genModel.getQualifiedEditorPluginClassName()%>.INSTANCE.getString(key, new Object [] { s1 });
+ }
+
+ /**
+ * RCP's application
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Application implements IApplication
+ {
+ /**
+ * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public Object start(IApplicationContext context) throws Exception
+ {
+ WorkbenchAdvisor workbenchAdvisor = new <%=genModel.getEditorAdvisorClassName()%>();
+ Display display = PlatformUI.createDisplay();
+ try
+ {
+ int returnCode = PlatformUI.createAndRunWorkbench(display, workbenchAdvisor);
+ if (returnCode == PlatformUI.RETURN_RESTART)
+ {
+ return IApplication.EXIT_RESTART;
+ }
+ else
+ {
+ return IApplication.EXIT_OK;
+ }
+ }
+ finally
+ {
+ display.dispose();
+ }
+ }
+
+ /**
+ * @see org.eclipse.equinox.app.IApplication#stop()
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public void stop()
+ {
+ // Do nothing.
+ }
+ }
+
+ /**
+ * RCP's perspective
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Perspective implements IPerspectiveFactory
+ {
+ /**
+ * Perspective ID
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String ID_PERSPECTIVE = "<%=genModel.getQualifiedEditorAdvisorClassName()%>Perspective";<%=genModel.getNonNLS()%>
+
+ /**
+ * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public void createInitialLayout(IPageLayout layout)
+ {
+ layout.setEditorAreaVisible(true);
+ layout.addPerspectiveShortcut(ID_PERSPECTIVE);
+
+ IFolderLayout right = layout.createFolder("right", IPageLayout.RIGHT, (float)0.66, layout.getEditorArea());<%=genModel.getNonNLS()%>
+ right.addView(IPageLayout.ID_OUTLINE);
+
+ IFolderLayout bottonRight = layout.createFolder("bottonRight", IPageLayout.BOTTOM, (float)0.60, "right");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ bottonRight.addView(IPageLayout.ID_PROP_SHEET);
+ }
+ }
+
+ /**
+ * RCP's window advisor
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class WindowAdvisor extends WorkbenchWindowAdvisor
+ {
+ /**
+ * @see WorkbenchWindowAdvisor#WorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WindowAdvisor(IWorkbenchWindowConfigurer configurer)
+ {
+ super(configurer);
+ }
+
+ /**
+ * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#preWindowOpen()
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void preWindowOpen()
+ {
+ IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
+ configurer.setInitialSize(new Point(600, 450));
+ configurer.setShowCoolBar(false);
+ configurer.setShowStatusLine(true);
+ configurer.setTitle(getString("_UI_Application_title"));<%=genModel.getNonNLS()%>
+ }
+
+ /**
+ * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#createActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer)
+ {
+ return new WindowActionBarAdvisor(configurer);
+ }
+ }
+
+ /**
+ * RCP's action bar advisor
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class WindowActionBarAdvisor extends ActionBarAdvisor
+ {
+ /**
+ * @see ActionBarAdvisor#ActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WindowActionBarAdvisor(IActionBarConfigurer configurer)
+ {
+ super(configurer);
+ }
+
+ /**
+ * @see org.eclipse.ui.application.ActionBarAdvisor#fillMenuBar(org.eclipse.jface.action.IMenuManager)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected void fillMenuBar(IMenuManager menuBar)
+ {
+ IWorkbenchWindow window = getActionBarConfigurer().getWindowConfigurer().getWindow();
+ menuBar.add(createFileMenu(window));
+ menuBar.add(createEditMenu(window));
+ menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+ menuBar.add(createWindowMenu(window));
+ menuBar.add(createHelpMenu(window));
+ }
+
+ /**
+ * Creates the 'File' menu.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createFileMenu(IWorkbenchWindow window)
+ {
+ IMenuManager menu = new MenuManager(getString("_UI_Menu_File_label"),<%=genModel.getNonNLS()%>
+ IWorkbenchActionConstants.M_FILE);
+ menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
+
+ IMenuManager newMenu = new MenuManager(getString("_UI_Menu_New_label"), "new");<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ newMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+
+ menu.add(newMenu);
+ menu.add(new Separator());
+ menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+ menu.add(new Separator());
+ addToMenuAndRegister(menu, ActionFactory.CLOSE.create(window));
+ addToMenuAndRegister(menu, ActionFactory.CLOSE_ALL.create(window));
+ menu.add(new Separator());
+ addToMenuAndRegister(menu, ActionFactory.SAVE.create(window));
+ addToMenuAndRegister(menu, ActionFactory.SAVE_AS.create(window));
+ addToMenuAndRegister(menu, ActionFactory.SAVE_ALL.create(window));
+ menu.add(new Separator());
+ addToMenuAndRegister(menu, ActionFactory.QUIT.create(window));
+ menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
+ return menu;
+ }
+
+ /**
+ * Creates the 'Edit' menu.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createEditMenu(IWorkbenchWindow window)
+ {
+ IMenuManager menu = new MenuManager(getString("_UI_Menu_Edit_label"),<%=genModel.getNonNLS()%>
+ IWorkbenchActionConstants.M_EDIT);
+ menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_START));
+
+ addToMenuAndRegister(menu, ActionFactory.UNDO.create(window));
+ addToMenuAndRegister(menu, ActionFactory.REDO.create(window));
+ menu.add(new GroupMarker(IWorkbenchActionConstants.UNDO_EXT));
+ menu.add(new Separator());
+
+ addToMenuAndRegister(menu, ActionFactory.CUT.create(window));
+ addToMenuAndRegister(menu, ActionFactory.COPY.create(window));
+ addToMenuAndRegister(menu, ActionFactory.PASTE.create(window));
+ menu.add(new GroupMarker(IWorkbenchActionConstants.CUT_EXT));
+ menu.add(new Separator());
+
+ addToMenuAndRegister(menu, ActionFactory.DELETE.create(window));
+ addToMenuAndRegister(menu, ActionFactory.SELECT_ALL.create(window));
+ menu.add(new Separator());
+
+ menu.add(new GroupMarker(IWorkbenchActionConstants.ADD_EXT));
+
+ menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_END));
+ menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
+ return menu;
+ }
+
+ /**
+ * Creates the 'Window' menu.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createWindowMenu(IWorkbenchWindow window)
+ {
+ IMenuManager menu = new MenuManager(getString("_UI_Menu_Window_label"),<%=genModel.getNonNLS()%>
+ IWorkbenchActionConstants.M_WINDOW);
+
+ addToMenuAndRegister(menu, ActionFactory.OPEN_NEW_WINDOW.create(window));
+ menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+<%if (!genModel.isRichAjaxPlatform()) {%>
+ menu.add(ContributionItemFactory.OPEN_WINDOWS.create(window));
+<%}%>
+
+ return menu;
+ }
+
+ /**
+ * Creates the 'Help' menu.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createHelpMenu(IWorkbenchWindow window)
+ {
+ IMenuManager menu = new MenuManager(getString("_UI_Menu_Help_label"), IWorkbenchActionConstants.M_HELP);<%=genModel.getNonNLS()%>
+ // Welcome or intro page would go here
+ // Help contents would go here
+ // Tips and tricks page would go here
+ menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_START));
+ menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_END));
+ menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+ return menu;
+ }
+
+ /**
+ * Adds the specified action to the given menu and also registers the action with the
+ * action bar configurer, in order to activate its key binding.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addToMenuAndRegister(IMenuManager menuManager, IAction action)
+ {
+ menuManager.add(action);
+ getActionBarConfigurer().registerGlobalAction(action);
+ }
+ }
+
+ /**
+ * About action for the RCP application.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class AboutAction extends WorkbenchWindowActionDelegate
+ {
+ /**
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public void run(IAction action)
+ {
+ MessageDialog.openInformation(getWindow().getShell(), getString("_UI_About_title"),<%=genModel.getNonNLS()%>
+ getString("_UI_About_text"));<%=genModel.getNonNLS()%>
+ }
+ }
+
+<%if (!genModel.isRichAjaxPlatform()) {%>
+ /**
+ * Open action for the objects from the <%=genModel.getModelName()%> model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class OpenAction extends WorkbenchWindowActionDelegate
+ {
+ /**
+ * Opens the editors for the files selected using the file dialog.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public void run(IAction action)
+ {
+ String[] filePaths = openFilePathDialog(getWindow().getShell(), SWT.OPEN, null);
+ if (filePaths.length > 0)
+ {
+ openEditor(getWindow().getWorkbench(), URI.createFileURI(filePaths[0]));
+ }
+ }
+ }
+<%}%>
+
+ /**
+ * Open URI action for the objects from the <%=genModel.getModelName()%> model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class OpenURIAction extends WorkbenchWindowActionDelegate
+ {
+ /**
+ * Opens the editors for the files selected using the LoadResourceDialog.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useInterfaceOverrideAnnotation()){%>
+ @Override
+<%}%>
+ public void run(IAction action)
+ {
+ LoadResourceAction.LoadResourceDialog loadResourceDialog = new LoadResourceAction.LoadResourceDialog(getWindow().getShell());
+ if (Window.OK == loadResourceDialog.open())
+ {
+<%if (genModel.useGenerics()) {%>
+ for (URI uri : loadResourceDialog.getURIs())
+ {
+ openEditor(getWindow().getWorkbench(), uri);
+ }
+<%} else {%>
+ for (Iterator i = loadResourceDialog.getURIs().iterator(); i.hasNext();)
+ {
+ openEditor(getWindow().getWorkbench(), (URI)i.next());
+ }
+<%}%>
+ }
+ }
+ }
+
+<%if (!genModel.isRichAjaxPlatform()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static String[] openFilePathDialog(Shell shell, int style, String[] fileExtensionFilters)
+ {
+ return openFilePathDialog(shell, style, fileExtensionFilters, (style & SWT.OPEN) != 0, (style & SWT.OPEN) != 0, (style & SWT.SAVE) != 0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static String[] openFilePathDialog(Shell shell, int style, String[] fileExtensionFilters, boolean includeGroupFilter, boolean includeAllFilter, boolean addExtension)
+ {
+ FileDialog fileDialog = new FileDialog(shell, style);
+ if (fileExtensionFilters == null)
+ {
+ fileExtensionFilters = FILE_EXTENSION_FILTERS;
+ }
+
+ // If requested, augment the file extension filters by adding a group of all the other filters (*.ext1;*.ext2;...)
+ // at the beginning and/or an all files wildcard (*.*) at the end.
+ //
+ includeGroupFilter &= fileExtensionFilters.length > 1;
+ int offset = includeGroupFilter ? 1 : 0;
+
+ if (includeGroupFilter || includeAllFilter)
+ {
+ int size = fileExtensionFilters.length + offset + (includeAllFilter ? 1 : 0);
+ String[] allFilters = new String[size];
+ <%=_StringBuilder%> group = includeGroupFilter ? new <%=_StringBuilder%>() : null;
+
+ for (int i = 0; i < fileExtensionFilters.length; i++)
+ {
+ if (includeGroupFilter)
+ {
+ if (i != 0)
+ {
+ group.append(';');
+ }
+ group.append(fileExtensionFilters[i]);
+ }
+ allFilters[i + offset] = fileExtensionFilters[i];
+ }
+
+ if (includeGroupFilter)
+ {
+ allFilters[0] = group.toString();
+ }
+ if (includeAllFilter)
+ {
+ allFilters[allFilters.length - 1] = "*.*";<%=genModel.getNonNLS()%>
+ }
+
+ fileDialog.setFilterExtensions(allFilters);
+ }
+ else
+ {
+ fileDialog.setFilterExtensions(fileExtensionFilters);
+ }
+ fileDialog.open();
+
+ String[] filenames = fileDialog.getFileNames();
+ String[] result = new String[filenames.length];
+ String path = fileDialog.getFilterPath() + File.separator;
+ String extension = null;
+
+ // If extension adding requested, get the dotted extension corresponding to the selected filter.
+ //
+ if (addExtension)
+ {
+ int i = fileDialog.getFilterIndex();
+ if (i != -1 && (!includeAllFilter || i != fileExtensionFilters.length))
+ {
+ i = includeGroupFilter && i == 0 ? 0 : i - offset;
+ String filter = fileExtensionFilters[i];
+ int dot = filter.lastIndexOf('.');
+ if (dot == 1 && filter.charAt(0) == '*')
+ {
+ extension = filter.substring(dot);
+ }
+ }
+ }
+
+ // Build the result by adding the selected path and, if needed, auto-appending the extension.
+ //
+ for (int i = 0; i < filenames.length; i++)
+ {
+ String filename = path + filenames[i];
+ if (extension != null)
+ {
+ int dot = filename.lastIndexOf('.');
+ if (dot == -1 || !Arrays.asList(fileExtensionFilters).contains("*" + filename.substring(dot)))<%=genModel.getNonNLS()%>
+ {
+ filename += extension;
+ }
+ }
+ result[i] = filename;
+ }
+ return result;
+ }
+<%}%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static boolean openEditor(IWorkbench workbench, URI uri)
+ {
+ IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+
+ IEditorDescriptor editorDescriptor = EditUIUtil.getDefaultEditor(uri, null);
+ if (editorDescriptor == null)
+ {
+ MessageDialog.openError(
+ workbenchWindow.getShell(),
+ getString("_UI_Error_title"),<%=genModel.getNonNLS()%>
+ getString("_WARN_No_Editor", uri.lastSegment()));<%=genModel.getNonNLS()%>
+ return false;
+ }
+ else
+ {
+ try
+ {
+ page.openEditor(new URIEditorInput(uri), editorDescriptor.getId());
+ }
+ catch (PartInitException exception)
+ {
+ MessageDialog.openError(
+ workbenchWindow.getShell(),
+ getString("_UI_OpenEditorError_label"),<%=genModel.getNonNLS()%>
+ exception.getMessage());
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * @see org.eclipse.ui.application.WorkbenchAdvisor#getInitialWindowPerspectiveId()
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public String getInitialWindowPerspectiveId()
+ {
+ return Perspective.ID_PERSPECTIVE;
+ }
+
+ /**
+ * @see org.eclipse.ui.application.WorkbenchAdvisor#initialize(org.eclipse.ui.application.IWorkbenchConfigurer)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public void initialize(IWorkbenchConfigurer configurer)
+ {
+ super.initialize(configurer);
+ configurer.setSaveAndRestore(true);
+ }
+
+ /**
+ * @see org.eclipse.ui.application.WorkbenchAdvisor#createWorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer)
+ {
+ return new WindowAdvisor(configurer);
+ }
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._Sv7EaGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._Sv7EaGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnVnADG0Ed-kc8dEZsdm2w/method._Sv7EaGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._-bppFHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._-bppFHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..5bdb29ca4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._-bppFHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,4 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._1AiVSGKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._1AiVSGKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._1AiVSGKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJAzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJBTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJBTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJBTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJCTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJCTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..f5168ad8b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PnpJADG0Ed-kc8dEZsdm2w/method._PnpJCTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,8 @@
+<%
+GenPackage genPackage = parameter;
+if (genPackage.hasConcreteClasses() && genPackage.isGenerateModelWizard()) {
+new CodegenGeneratorAdapter(parameter).generateGIF("editor/NewModel.gif", genPackage.getModelWizardIconFileName(), genPackage.getPrefix(), null, false);
+}
+ else {
+}
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._-e7mmHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._-e7mmHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..579cb47f7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._-e7mmHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+canGenerate = canGenerate && (genModel.isBundleManifest()) && (!genModel.sameModelTestsProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._1BIyOWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._1BIyOWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..7d63b7ac8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._1BIyOWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b0zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..07bdc33cc
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b1zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getTestsProjectDirectory() + "/META-INF/MANIFEST.MF";
+overwrite = genModel.isUpdateClasspath();
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b2TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b2TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..f0387b69f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._Po1b2TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,48 @@
+
+<%
+/**
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: <%=genModel.getTestsBundleNameKey()%>
+Bundle-SymbolicName: <%=genModel.getTestsPluginID()%>;singleton:=true
+Automatic-Module-Name: <%=genModel.getTestsPluginID()%>
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: <%if (genModel.isRuntimeJar()) {%><%=genModel.getTestsPluginID()%>.jar<%}else{%>.<%}%>
+Bundle-Vendor: <%=genModel.getTestsBundleVendorKey()%>
+Bundle-Localization: <%=genModel.getTestsBundleLocalization()%>
+<%if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK90_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+<%} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK100_LITERAL) {%>
+Bundle-RequiredExecutionEnvironment: JavaSE-10
+<%}%>
+<%Iterator<String> packagesIterator = genModel.getTestsQualifiedPackageNames().iterator(); if (packagesIterator.hasNext()) { String pack = packagesIterator.next();%>
+Export-Package: <%=pack%><%while(packagesIterator.hasNext()) { pack = packagesIterator.next();%>,
+ <%=pack%><%}%>
+<%}%>
+<%Iterator<String> requiredPluginIterator = genModel.getTestsRequiredPlugins().iterator(); if (requiredPluginIterator.hasNext()) { String pluginID = requiredPluginIterator.next();%>
+Require-Bundle: <%=pluginID%><%if (!pluginID.startsWith("org.eclipse.core.runtime")){%>;visibility:=reexport<%} while(requiredPluginIterator.hasNext()) { pluginID = requiredPluginIterator.next();%>,
+ <%=pluginID%><%if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.xtext.xbase.lib") && !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {%>;visibility:=reexport<%}}%>
+<%}%>
+<%if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22 || genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {%>
+Eclipse-LazyStart: true
+<%}%>
+Bundle-ActivationPolicy: lazy
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._SxRIOGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._SxRIOGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Po1b0DG0Ed-kc8dEZsdm2w/method._SxRIOGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._-pXU9HLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._-pXU9HLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..11b8a250d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._-pXU9HLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) && (!(genModel.isBundleManifest())) && (!genModel.sameModelTestsProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._1A1QOWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._1A1QOWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..7d63b7ac8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._1A1QOWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-5jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6DG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6DG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6DG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..8535ba5ca
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-6jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getTestsProjectDirectory() + "/plugin.xml";
+overwrite = true;
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-7DG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-7DG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..fb9be3ac1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._PoO-7DG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,46 @@
+
+<%
+/**
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+<%if (genModel.isBundleManifest()) {%>
+<plugin>
+<%} else {%>
+<plugin
+ name="%pluginName"
+ id="<%=genModel.getTestsPluginID()%>"
+ version="1.0.0"
+ provider-name="%providerName">
+
+ <requires>
+ <%for (String pluginID : genModel.getTestsRequiredPlugins()) {%>
+ <import plugin="<%=pluginID%>"<%if (!pluginID.startsWith("org.eclipse.core.runtime")) {%> export="true"<%}%>/>
+ <%}%>
+ </requires>
+
+ <runtime>
+ <%if (genModel.isRuntimeJar()) {%>
+ <library name="<%=genModel.getTestsPluginID()%>.jar">
+ <%} else {%>
+ <library name=".">
+ <%}%>
+ <export name="*"/>
+ </library>
+ </runtime>
+
+<%}%>
+</plugin>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._SxaSKGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._SxaSKGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoO-4zG0Ed-kc8dEZsdm2w/method._SxaSKGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._-iWuBHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._-iWuBHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e5fc4612a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._-iWuBHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+canGenerate = canGenerate && (!genModel.sameModelTestsProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._1AsGTWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._1AsGTWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..7d63b7ac8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._1AsGTWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4jG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4jG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4jG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv4zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5TG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5zG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5zG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..33fc1e00f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv5zG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getTestsProjectDirectory() + "/build.properties";
+overwrite = false;
+encoding = "ISO-8859-1";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv6TG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv6TG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..24484d229
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._PoYv6TG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,33 @@
+
+<%
+/**
+ * Copyright (c) 2005-2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getTestsPluginID()+".jar" : ".";%>
+<%List<String> sourceFolders = genModel.getTestsSourceFolders();%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+bin.includes = <%=pluginClassesLocation%>,\
+<%if (genModel.isBundleManifest()) {%>
+ META-INF/,\
+<%} else {%>
+ plugin.xml,\
+<%}%>
+<%String testsBundleLocalization = genModel.getTestsBundleLocalization(); int index = testsBundleLocalization.indexOf("/"); if (index == -1) {%>
+ <%=testsBundleLocalization%>.properties
+<%} else {%>
+ <%=testsBundleLocalization.substring(0, index + 1)%>
+<%}%>
+jars.compile.order = <%=pluginClassesLocation%>
+<% boolean first=true; for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) { String sourceFolder = i.next(); if (i.hasNext()){sourceFolder +=",\\";} if (first) {%>
+source.<%=pluginClassesLocation%> = <%=sourceFolder%><%first=false;} else {%><%=sourceFolder%><%}}%>
+output.<%=pluginClassesLocation%> = bin/
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._SxHXPGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._SxHXPGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PoYv4DG0Ed-kc8dEZsdm2w/method._SxHXPGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._-w9xxHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._-w9xxHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..beedc08f1
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._-w9xxHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenClass genClass = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+canGenerate = canGenerate && true;
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._1BuoGWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._1BuoGWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..7d63b7ac8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._1BuoGWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ojG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ojG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ojG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ozG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ozG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39ozG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39pTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39pTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Pp39pTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuoDG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuoDG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e93b9a5b5
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuoDG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenClass genClass = parameter;
+targetPath = genClass.getGenModel().getTestsDirectory();
+packageName = genClass.getGenPackage().getTestsPackageName();
+className = genClass.getTestCaseClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuojG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuojG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..0b6232d19
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._PqBuojG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,193 @@
+
+<%
+/**
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenClass genClass = (GenClass)argument; GenPackage genPackage = genClass.getGenPackage(); GenModel genModel=genPackage.getGenModel(); /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getTestsPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b><%=genClass.getFormattedName()%></b></em>'.
+ * <!-- end-user-doc -->
+<%if (!genClass.getImplementedGenFeatures().isEmpty()) { boolean first = true;%>
+ <%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {%>
+ <%if (genFeature.isTested() && !genFeature.isSuppressedGetVisibility()) {%>
+ <%if (first) { first = false;%>
+ * <p>
+ * The following features are tested:
+ * <ul>
+ <%}%>
+ * <li>{@link <%=genFeature.getGenClass().getRawQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}</li>
+ <%}%>
+ <%}%>
+ <% if (!first) {%>
+ * </ul>
+ * </p>
+ <%}%>
+<%}%>
+<%if (!genClass.getImplementedGenOperations().isEmpty()) { boolean first = true;%>
+ <%for (GenOperation genOperation : genClass.getImplementedGenOperations()) {%>
+ <%if (first) { first = false;%>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ <%}%>
+ * <li>{@link <%=genOperation.getGenClass().getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}</li>
+ <%}%>
+ <% if (!first) {%>
+ * </ul>
+ * </p>
+ <%}%>
+<%}%>
+<%if (genClass.hasImplicitAPITags()) {%>
+ * <%=genClass.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genClass.hasImplicitAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
+public<%if (genClass.isAbstract()) {%> abstract<%}%> class <%=genClass.getTestCaseClassName()%> extends <%=genClass.isModelRoot() ? genModel.getImportedName("junit.framework.TestCase") : genClass.getClassExtendsGenClass().getImportedTestCaseClassName()%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+<%}%>
+<%if (genModel.getDriverNumber() != null) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> mofDriverNumber = "<%=genModel.getDriverNumber()%>";<%=genModel.getNonNLS()%>
+<%}%>
+<%if (genClass.isModelRoot()) {%>
+
+ /**
+ * The fixture for this <%=genClass.getFormattedName()%> test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> fixture = null;
+<%}%>
+<%if (!genClass.isAbstract()) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static void main(String[] args)
+ {
+ <%=genModel.getImportedName("junit.textui.TestRunner")%>.run(<%=genClass.getTestCaseClassName()%>.class);
+ }
+<%}%>
+
+ /**
+ * Constructs a new <%=genClass.getFormattedName()%> test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genClass.getTestCaseClassName()%>(String name)
+ {
+ super(name);
+ }
+<%if (genClass.isModelRoot()) {%>
+
+ /**
+ * Sets the fixture for this <%=genClass.getFormattedName()%> test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void setFixture(<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> fixture)
+ {
+ this.fixture = fixture;
+ }
+<%}%>
+
+ /**
+ * Returns the fixture for this <%=genClass.getFormattedName()%> test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+<%if (!genClass.isModelRoot() && genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ <%if (genModel.useGenerics()) {%>protected<%} else {%>private<%}%> <%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> getFixture()
+ {
+<%if (genClass.isModelRoot()) {%>
+ return fixture;
+<%} else {%>
+ return (<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)fixture;
+<%}%>
+ }
+<%if (!genClass.isAbstract()) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see junit.framework.TestCase#setUp()
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+<%if (genModel.useGenerics() && genClass.isMapEntry()) {%>
+ @SuppressWarnings("unchecked")
+<%}%>
+ protected void setUp() throws Exception
+ {
+ <%if (genClass.isMapEntry()) {%>
+ setFixture((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)<%=genPackage.getQualifiedEFactoryInternalInstanceAccessor()%>.create(<%=genClass.getQualifiedClassifierAccessor()%>));
+ <%} else {%>
+ setFixture(<%=genPackage.getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=genClass.getName()%>());
+ <%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see junit.framework.TestCase#tearDown()
+ * @generated
+ */
+<%if (genModel.useClassOverrideAnnotation()) {%>
+ @Override
+<%}%>
+ protected void tearDown() throws Exception
+ {
+ setFixture(null);
+ }
+<%}%>
+<%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/implementedGenFeature.override.javajetinc%>
+<%}%>
+<%for (GenOperation genOperation : genClass.getImplementedGenOperations()) {%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%><%//TestCase/implementedGenOperation.override.javajetinc%>
+<%}%>
+
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50"%>
+} //<%=genClass.getTestCaseClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Sx2-GGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Sx2-GGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..671872d46
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pp39oDG0Ed-kc8dEZsdm2w/method._Sx2-GGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenClass genClass = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._-uRqJHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._-uRqJHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..e5fc4612a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._-uRqJHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+canGenerate = canGenerate && (!genModel.sameModelTestsProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._1BR8KWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._1BR8KWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..7d63b7ac8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._1BR8KWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCsjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCsjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCsjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCszG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCszG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCszG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d5cf19cca
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCtzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getTestsProjectDirectory() + "/" + genModel.getTestsBundleLocalization()+ ".properties";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCuTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCuTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..9d89de684
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._PplCuTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,18 @@
+
+<%
+/**
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+pluginName = <%=genModel.getTestsBundleName()%>
+providerName = <%=genModel.getTestsBundleVendorName()%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._SxkDKGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._SxkDKGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PplCsDG0Ed-kc8dEZsdm2w/method._SxkDKGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._-7Y5FHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._-7Y5FHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..92700a9df
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._-7Y5FHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+canGenerate = canGenerate && (genModel.hasTestSuiteClass());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._1BbtKWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._1BbtKWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..7d63b7ac8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._1BbtKWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fcjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fcjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fcjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fczG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fczG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fczG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..4ef18554c
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6fdzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getTestsDirectory();
+packageName = genModel.getTestSuitePackageName();
+className = genModel.getTestSuiteClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6feTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6feTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..578a9839a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._Pq6feTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,87 @@
+
+<%
+/**
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genModel.getTestSuitePackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b><%=genModel.getModelName()%></b></em>' model.
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50) {
+ boolean needsSuppressDeprecation = false;
+ LOOP: for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) { if (genPackage.hasTests()) { for (GenClass genClass : genPackage.getGenClasses()) { if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests() && genClass.hasImplicitAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}}}
+ if (needsSuppressDeprecation) {%>
+@SuppressWarnings("deprecation")
+<%}}%>
+public class <%=genModel.getTestSuiteClassName()%> extends <%=genModel.getImportedName("junit.framework.TestSuite")%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+<%}%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static void main(String[] args)
+ {
+ <%=genModel.getImportedName("junit.textui.TestRunner")%>.run(suite());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static <%=genModel.getImportedName("junit.framework.Test")%> suite()
+ {
+ <%=genModel.getImportedName("junit.framework.TestSuite")%> suite = new <%=genModel.getTestSuiteClassName()%>("<%=genModel.getModelName()%> Tests");<%=genModel.getNonNLS()%>
+<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>
+ <%if (genPackage.hasTests()) {%>
+ suite.addTest(<%=genModel.getImportedName(genPackage.getImportedTestSuiteClassName())%>.suite());
+ <%}%>
+<%}%>
+ return suite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genModel.getTestSuiteClassName()%>(String name)
+ {
+ super(name);
+ }
+
+} //<%=genModel.getTestSuiteClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._SyAvGGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._SyAvGGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Pq6fcDG0Ed-kc8dEZsdm2w/method._SyAvGGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._-0r0JHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._-0r0JHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..41ab56ac8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._-0r0JHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isGenerateExampleClass());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._1Bk3GWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._1Bk3GWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..7d63b7ac8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._1Bk3GWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeakzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..6faeced20
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqealzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getTestsDirectory();
+packageName = genPackage.getTestsPackageName();
+className = genPackage.getExampleClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeamTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeamTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..b631d3d59
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._PqeamTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,210 @@
+
+<%
+/**
+ * Copyright (c) 2005-2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel = genPackage.getGenModel();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%
+String _System = genModel.getImportedName("java.lang.System");
+String _String = genModel.getImportedName("java.lang.String");
+String _RuntimeException = genModel.getImportedName("java.lang.RuntimeException");
+String _File = genModel.getImportedName("java.io.File");
+String _Iterator = null;
+if (!genModel.useGenerics()) {
+ _Iterator = genModel.getImportedName("java.util.Iterator");
+}
+String _Diagnostic = genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic");
+String _URI = genModel.getImportedName("org.eclipse.emf.common.util.URI");
+String _EObject = genModel.getImportedName("org.eclipse.emf.ecore.EObject");
+String _Diagnostician = genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician");
+String _Resource = genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource");
+String _ResourceSet = genModel.getImportedName("org.eclipse.emf.ecore.resource.ResourceSet");
+String _ResourceSetImpl = genModel.getImportedName("org.eclipse.emf.ecore.resource.impl.ResourceSetImpl");
+%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getTestsPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b><%=genPackage.getPackageName()%></b></em>' package.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && genPackage.getRootClass() != null && genPackage.getRootClass().hasAPIDeprecatedTag()) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genPackage.getExampleClassName()%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=_String%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * Load all the argument file paths or URIs as instances of the model.
+ * <!-- end-user-doc -->
+ * @param args the file paths or URIs.
+ * @generated
+ */
+ public static void main(String[] args)
+ {
+ // Create a resource set to hold the resources.
+ //
+ <%=_ResourceSet%> resourceSet = new <%=_ResourceSetImpl%>();
+
+<%if (genPackage.isContentType()) {%>
+ // Register the appropriate resource factory to handle the content type.
+ //
+ resourceSet.getResourceFactoryRegistry().getContentTypeToFactoryMap().put
+ (<%=genPackage.getImportedPackageInterfaceName()%>.eCONTENT_TYPE,
+ new <%=genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName())%>());
+
+ // Register the appropriate content handler for all file extensions and any element from the package's namespace.
+ //
+ resourceSet.getURIConverter().getContentHandlers().add
+ (new <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl")%>(<%=genPackage.getImportedPackageInterfaceName()%>.eCONTENT_TYPE, null, null, <%if (genPackage.hasTargetNamespace()) {%><%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI<%} else {%>(<%=_String%>)null<%}%>, null));
+<%} else {%>
+ // Register the appropriate resource factory to handle all file extensions.
+ //
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+ (Resource.Factory.Registry.DEFAULT_EXTENSION,
+ new <%=genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName())%>());
+<%}%>
+
+ // Register the package to ensure it is available during loading.
+ //
+ resourceSet.getPackageRegistry().put
+ (<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI,
+ <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE);
+
+ // If there are no arguments, emit an appropriate usage message.
+ //
+ if (args.length == 0)
+ {
+<%if (genPackage.getRootClass() != null) { GenClass rootClass = genPackage.getRootClass();%>
+ System.out.println("Enter a list of file paths or URIs that have content like this:");<%=genModel.getNonNLS()%>
+ try
+ {
+ <%if (genPackage.isContentType()) {%>
+ <%=_Resource%> resource = resourceSet.createResource(<%=_URI%>.createURI("http:///My.<%=genPackage.getFileExtension()%>"), <%=genPackage.getImportedPackageInterfaceName()%>.eCONTENT_TYPE);<%=genModel.getNonNLS()%>
+ <%} else {%>
+ <%=_Resource%> resource = resourceSet.createResource(<%=_URI%>.createURI("http:///My.<%=genPackage.getFileExtension()%>"));<%=genModel.getNonNLS()%>
+ <%}%>
+ <%if (genPackage.getRootFeature() != null) { GenFeature rootFeature = genPackage.getRootFeature(); GenClass documentRoot = rootFeature.getGenClass();%>
+ <%=documentRoot.getImportedInterfaceName()%> documentRoot = <%=genPackage.getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=documentRoot.getName()%>();
+ <%=rootClass.getImportedInterfaceName()%> root = <%=rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=rootClass.getName()%>();
+ <%if (documentRoot.isDynamic()) {%>
+ documentRoot.eSet(<%=rootFeature.getQualifiedFeatureAccessor()%>, root);
+ <%} else {%>
+ documentRoot.set<%=rootFeature.getCapName()%>(root);
+ <%}%>
+ resource.getContents().add(<%if (!documentRoot.isEObjectExtension()){%>(<%=_EObject%>)<%}%>documentRoot);
+ <%} else {%>
+ <%=rootClass.getImportedInterfaceName()%><%=rootClass.getInterfaceWildTypeArguments()%> root = <%=rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.create<%=rootClass.getName()%>();
+ resource.getContents().add(<%if (!rootClass.isEObjectExtension()){%>(<%=_EObject%>)<%}%>root);
+ <%}%>
+ resource.save(<%=_System%>.out, null);
+ }
+ catch (<%=genModel.getImportedName("java.io.IOException")%> exception)
+ {
+ exception.printStackTrace();
+ }
+<%} else {%>
+ System.out.println("Enter a list of file paths or URIs");
+<%}%>
+ }
+ else
+ {
+ // Iterate over all the arguments.
+ //
+ for (int i = 0; i < args.length; ++i)
+ {
+ // Construct the URI for the instance file.
+ // The argument is treated as a file path only if it denotes an existing file.
+ // Otherwise, it's directly treated as a URL.
+ //
+ <%=_File%> file = new <%=_File%>(args[i]);
+ <%=_URI%> uri = file.isFile() ? <%=_URI%>.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+ try
+ {
+ // Demand load resource for this file.
+ //
+ <%=_Resource%> resource = resourceSet.getResource(uri, true);
+ System.out.println("Loaded " + uri);<%=genModel.getNonNLS()%>
+
+ // Validate the contents of the loaded resource.
+ //
+<%if (genModel.useGenerics()) {%>
+ for (<%=_EObject%> eObject : resource.getContents())
+<%} else {%>
+ for (<%=_Iterator%> j = resource.getContents().iterator(); j.hasNext(); )
+<%}%>
+ {
+<%if (!genModel.useGenerics()) {%>
+ <%=_EObject%> eObject = (<%=_EObject%>)j.next();
+<%}%>
+ <%=_Diagnostic%> diagnostic = <%=_Diagnostician%>.INSTANCE.validate(eObject);
+ if (diagnostic.getSeverity() != Diagnostic.OK)
+ {
+ printDiagnostic(diagnostic, "");<%=genModel.getNonNLS()%>
+ }
+ }
+ }
+ catch (<%=_RuntimeException%> exception)
+ {
+ System.out.println("Problem loading " + uri);<%=genModel.getNonNLS()%>
+ exception.printStackTrace();
+ }
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Prints diagnostics with indentation.
+ * <!-- end-user-doc -->
+ * @param diagnostic the diagnostic to print.
+ * @param indent the indentation for printing.
+ * @generated
+ */
+ protected static void printDiagnostic(Diagnostic diagnostic, String indent)
+ {
+ System.out.print(indent);
+ System.out.println(diagnostic.getMessage());
+<%if (genModel.useGenerics()) {%>
+ for (Diagnostic child : diagnostic.getChildren())
+ {
+ printDiagnostic(child, indent + " ");<%=genModel.getNonNLS()%>
+ }
+<%} else {%>
+ for (Iterator i = diagnostic.getChildren().iterator(); i.hasNext(); )
+ {
+ printDiagnostic((Diagnostic)i.next(), indent + " ");<%=genModel.getNonNLS()%>
+ }
+<%}%>
+ }
+
+} //<%=genPackage.getExampleClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._Sxt0KGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._Sxt0KGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PqeakDG0Ed-kc8dEZsdm2w/method._Sxt0KGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._-5ATdHLYEd-09ds9dfYpFw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._-5ATdHLYEd-09ds9dfYpFw.pt
new file mode 100644
index 000000000..cca98365d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._-5ATdHLYEd-09ds9dfYpFw.pt
@@ -0,0 +1,5 @@
+GenPackage genPackage = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+canGenerate = canGenerate && (genPackage.hasClassifiers());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._1B4ZGWKMEd-_wNQtGaQ-lw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._1B4ZGWKMEd-_wNQtGaQ-lw.pt
new file mode 100644
index 000000000..7d63b7ac8
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._1B4ZGWKMEd-_wNQtGaQ-lw.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel, GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBcjG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBcjG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBcjG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBczG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBczG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBczG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdTG0Ed-kc8dEZsdm2w.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdzG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdzG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..de41b71e3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBdzG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,6 @@
+<%
+GenPackage genPackage = parameter;
+targetPath = genPackage.getGenModel().getTestsDirectory();
+packageName = genPackage.getTestsPackageName();
+className = genPackage.getTestSuiteClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBeTG0Ed-kc8dEZsdm2w.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBeTG0Ed-kc8dEZsdm2w.pt
new file mode 100644
index 000000000..9d1099c6a
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._PrOBeTG0Ed-kc8dEZsdm2w.pt
@@ -0,0 +1,87 @@
+
+<%
+/**
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ */
+%>
+<%GenPackage genPackage = (GenPackage)argument; GenModel genModel = genPackage.getGenModel(); /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genPackage.getTestsPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b><%=genPackage.getPackageName()%></b></em>' package.
+ * <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50) {
+ boolean needsSuppressDeprecation = false;
+ for (GenClass genClass : genPackage.getGenClasses()) { if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests() && genClass.hasImplicitAPIDeprecatedTag()) { needsSuppressDeprecation = true; break; }}
+ if (needsSuppressDeprecation) {%>
+@SuppressWarnings("deprecation")
+<%}}%>
+public class <%=genPackage.getTestSuiteClassName()%> extends <%=genModel.getImportedName("junit.framework.TestSuite")%>
+{
+<%if (genModel.hasCopyrightField()) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+<%}%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static void main(String[] args)
+ {
+ <%=genModel.getImportedName("junit.textui.TestRunner")%>.run(suite());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static <%=genModel.getImportedName("junit.framework.Test")%> suite()
+ {
+ <%=genModel.getImportedName("junit.framework.TestSuite")%> suite = new <%=genPackage.getTestSuiteClassName()%>("<%=genPackage.getPackageName()%> Tests");<%=genModel.getNonNLS()%>
+<%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ <%if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests()) {%>
+ suite.addTestSuite(<%=genClass.getImportedTestCaseClassName()%>.class);
+ <%}%>
+<%}%>
+ return suite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <%=genPackage.getTestSuiteClassName()%>(String name)
+ {
+ super(name);
+ }
+
+} //<%=genPackage.getTestSuiteClassName()%>
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._SyKgGGKPEd-2a5uccsiuZA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._SyKgGGKPEd-2a5uccsiuZA.pt
new file mode 100644
index 000000000..6c7369fbe
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._PrOBcDG0Ed-kc8dEZsdm2w/method._SyKgGGKPEd-2a5uccsiuZA.pt
@@ -0,0 +1,4 @@
+<%
+GenPackage genPackage = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxo37rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxo37rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxo37rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxon7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxon7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxon7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..7eeec39c4
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT && !genModel.sameModelEditProject() && !genModel.sameModelEditorProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxpn7rEd-W9_ZFSEQEPg.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..f6e033948
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getModelDirectory() + "/" + genModel.getQualifiedModelModuleName().replace(".","/")+ ".gwt.xml";
+overwrite = false;
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqX7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqX7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqX7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..24cd6fc68
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxqn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxrH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxrH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..14684af34
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QIGxoH7rEd-W9_ZFSEQEPg/method._QIGxrH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,27 @@
+
+<%
+/**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd">
+
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+<module>
+<%for (String inherits : genModel.getModelModuleInherits()) {%>
+ <inherits name="<%=inherits%>" />
+<%}%>
+<%for (String source : genModel.getModelModuleSources()) {%>
+ <source path="<%=source%>"/>
+<%}%>
+</module>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..731ee3182
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditDirectory() + "/" + genModel.getQualifiedEditModuleName().replace(".","/")+ ".gwt.xml";
+overwrite = false;
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYX7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYX7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYX7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YYn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YZH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YZH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..ba08e7a12
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QP2YZH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,27 @@
+
+<%
+/**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd">
+
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+<module>
+<%for (String inherits : genModel.getEditModuleInherits()) {%>
+ <inherits name="<%=inherits%>" />
+<%}%>
+<%for (String source : genModel.getEditModuleSources()) {%>
+ <source path="<%=source%>"/>
+<%}%>
+</module>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOc37rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOc37rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOc37rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOcn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOcn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOcn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..b4876d208
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT && !genModel.sameModelEditorProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QPtOcH7rEd-W9_ZFSEQEPg/method._QPtOdn7rEd-W9_ZFSEQEPg.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DE37rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DE37rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DE37rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DEn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DEn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DEn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..78d6cb120
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) && (!genModel.sameEditEditorProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DFn7rEd-W9_ZFSEQEPg.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..8f73337bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditPluginDirectory();
+packageName = genModel.getEditPluginPackageName();
+className = genModel.getEditPluginClassName() + "Properties";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGX7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGX7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGX7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DGn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DHH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DHH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..c0a27e7f7
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QR8DEH7rEd-W9_ZFSEQEPg/method._QR8DHH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,186 @@
+
+<%
+/**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genModel.getEditPluginPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public interface <%=genModel.getEditPluginClassName()%>Properties extends <%=genModel.getImportedName("com.google.gwt.i18n.client.Messages")%>
+{
+<%if (genModel.isCreationCommands()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_CreateChild_text")
+ @DefaultMessage("{0}")
+ String createChildText(Object type);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_CreateChild_text2")
+ @DefaultMessage("{1} <%if (genModel.isCreationSubmenus()) {%>| <%}%>{0}")
+ String createChildText2(Object type, Object feature);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_CreateChild_text3")
+ @DefaultMessage("{0}")
+ String createChildText3(Object feature);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_CreateChild_tooltip")
+ @DefaultMessage("Create New {0} Under {1} Feature")
+ String createChildTooltip(Object type, Object feature);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_CreateChild_description")
+ @DefaultMessage("Create a new child of type {0} for the {1} feature of the selected {2}.")
+ String createChildDescripition(Object type, Object feature, Object selection);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_CreateSibling_description")
+ @DefaultMessage("Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.")
+ String createSiblingDescription(Object type, Object feature, Object selection);
+
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_PropertyDescriptor_description")
+ @DefaultMessage("The {0} of the {1}")
+ String propertyDescriptorDescription(Object feature, Object type);
+
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+ <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) { %>
+ <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_<%=genClass.getName()%>_type")
+ @DefaultMessage("<%=genClass.getFormattedName()%>")
+ String <%=genClass.getUncapName()%>Type();
+
+ <%}%>
+ <%}%>
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_Unknown_type")
+ @DefaultMessage("Object")
+ String unknownType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_Unknown_datatype")
+ @DefaultMessage("Value")
+ String unknownDatatype();
+
+<%for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) { String description = genFeature.getPropertyDescription();%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_feature")
+ @DefaultMessage("<%=genFeature.getFormattedName()%>")
+ String <%=genFeature.getGenClass().getUncapName()%>_<%=genFeature.getCapName()%>Feature();
+
+ <%if (description != null && description.length() > 0) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_<%=genFeature.getGenClass().getName()%>_<%=genFeature.getName()%>_description")
+ @DefaultMessage("<%=description%>")
+ String <%=genFeature.getGenClass().getUncapName()%>_<%=genFeature.getCapName()%>Description();
+
+ <%}%>
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_Unknown_feature")
+ @DefaultMessage("Unspecified")
+ String unknownFeature();
+
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+ <%if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {%>
+ <%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
+ <%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("_UI_<%=genEnum.getName()%>_<%=genEnumLiteral.getName()%>_literal")
+ @DefaultMessage("<%=genEnumLiteral.getLiteral()%>")
+ String <%=genEnum.getSafeUncapName()%>_<%=genEnumLiteral.getName()%>Literal();
+
+ <%}%>
+ <%}%>
+ <%}%>
+<%}%>
+<%for (String category : genModel.getPropertyCategories()) {%>
+<%=genModel.getPropertyCategoryKey(category)%> = <%=category%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Key("<%=genModel.getPropertyCategoryKey(category)%>")
+ @DefaultMessage("<%=category%>")
+ String <%=genModel.getPropertyCategoryKey(category)%>();
+
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpII37rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpII37rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpII37rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIIn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIIn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIIn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..78d6cb120
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) && (!genModel.sameEditEditorProject());
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIJn7rEd-W9_ZFSEQEPg.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..133ed9aff
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditPluginDirectory();
+packageName = genModel.getEditPluginPackageName();
+className = genModel.getEditPluginClassName() + "Images";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKX7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKX7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKX7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKn7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKn7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..a3911c8d9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpIKn7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpILH7rEd-W9_ZFSEQEPg.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpILH7rEd-W9_ZFSEQEPg.pt
new file mode 100644
index 000000000..c79f59b57
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._QRpIIH7rEd-W9_ZFSEQEPg/method._QRpILH7rEd-W9_ZFSEQEPg.pt
@@ -0,0 +1,42 @@
+
+<%
+/**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genModel.getEditPluginPackageName()%>;
+
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public interface <%=genModel.getEditPluginClassName()%>Images extends <%=genModel.getImportedName("com.google.gwt.resources.client.ClientBundle")%>
+{
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+ <%for (GenClass genClass : genPackage.getGenClasses()) {%>
+ <%if (genClass.isImage()) { String image = genClass.getItemIconFileName(); image = image.substring(image.lastIndexOf("/icons/") + 1); %>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Source("<%=image%>")
+ <%=genModel.getImportedName("com.google.gwt.resources.client.ImageResource")%> <%=genClass.getItemIconAccessorName()%>();
+
+ <%}%>
+ <%}%>
+<%}%>
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WU7GoCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WU7GoCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WU7GoCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVOBkCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVOBkCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVOBkCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVqtgCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVqtgCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WVqtgCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WWQjYCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WWQjYCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WWQjYCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WZig4CSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WZig4CSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._WUeasCSWEemxeP6B0lLOpA/method._WZig4CSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZA4WkCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZA4WkCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZA4WkCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZAcRsCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZAcRsCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZAcRsCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZB7fcCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZB7fcCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZB7fcCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZBVCgCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZBVCgCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZBVCgCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZFqI4CSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZFqI4CSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._Y__lwCSWEemxeP6B0lLOpA/method._ZFqI4CSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZG2bsCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZG2bsCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZG2bsCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZGZvwCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZGZvwCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZGZvwCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHSgkCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHSgkCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHSgkCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHvMgCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHvMgCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZHvMgCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZLd18CSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZLd18CSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._ZGGNwCSWEemxeP6B0lLOpA/method._ZLd18CSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-BmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-BmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..f7d1c0409
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-BmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPath = genModel.getEditorPluginDirectory();
+packageName = genModel.getEditorPluginPackageName();
+className = genModel.getEditorEntryPointClassName();
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-RmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-RmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-RmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-hmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-hmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4-hmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48hmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48hmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48hmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48xmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48xmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b48xmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49BmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49BmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..c949aa242
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49BmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49hmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49hmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b49hmtEeCMbfVQrOfmzQ.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4_BmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4_BmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..075cecaa9
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__9b48BmtEeCMbfVQrOfmzQ/method.__9b4_BmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,95 @@
+
+<%
+/**
+ * Copyright (c) 20010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+package <%=genModel.getEditorPluginPackageName()%>;
+
+import org.eclipse.emf.edit.ui.EditorEntryPoint;
+<%genModel.markImportLocation(stringBuffer);%>
+
+/**
+ * This is the entry point.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+<%if (genModel.hasAPITags()) {%>
+ * <%=genModel.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
+ * @generated
+ */
+<%if (isJDK50 && genModel.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%} else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genModel.getAllGenAndUsedGenPackagesWithClassifiers())) {%>
+@SuppressWarnings("deprecation")
+<%}%>
+public class <%=genModel.getEditorEntryPointClassName()%> extends EditorEntryPoint
+{
+<%if (genModel.hasCopyrightField()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final <%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+
+<%}%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void onModuleLoad()
+ {
+ super.onModuleLoad();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void registerPackages(<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry packageRegistry)
+ {
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+ packageRegistry.put(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI, <%=genPackage.getImportedPackageInterfaceName()%>.eINSTANCE);
+<%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void configureItemProviderAdapterFactories(<%=genModel.getImportedName("org.eclipse.emf.edit.provider.ComposedAdapterFactory")%> adapterFactory)
+ {
+<%for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {%>
+ adapterFactory.addAdapterFactory(new <%=genPackage.getImportedItemProviderAdapterFactoryClassName()%>());
+<%}%>
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected String getApplicationTitle()
+ {
+ return "<%=genModel.getModelName()%> Application";<%=genModel.getNonNLS()%>
+ }
+}
+<%genModel.emitSortedImports();%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZhmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZxmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZxmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bZxmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8baBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8baBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..c949aa242
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8baBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bahmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bahmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bahmtEeCMbfVQrOfmzQ.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..6789e1ee3
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/war/WEB-INF/appengine-web.xml";
+overwrite = false;
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbRmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbRmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbRmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bbhmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bcBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bcBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..281a0827e
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__H8bZBmtEeCMbfVQrOfmzQ/method.__H8bcBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,21 @@
+
+<%
+/**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
+ <application><%=genModel.getModelName().toLowerCase().replaceAll("\\s", "-")%>-editor</application>
+ <version>1</version>
+ <threadsafe>true</threadsafe>
+</appengine-web-app>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQhmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQxmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQxmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zQxmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..c949aa242
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zRhmtEeCMbfVQrOfmzQ.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..dae650334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/war/" + genModel.getEditorHomePageName()+ ".html";
+overwrite = false;
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSRmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSRmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zSRmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zShmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zShmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zShmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zTBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zTBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..14ade3c97
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__I1zQBmtEeCMbfVQrOfmzQ/method.__I1zTBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,82 @@
+
+<%
+/**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<!doctype html>
+<html style="height : 100%">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+ <!-- -->
+ <!-- Any title is fine -->
+ <!-- -->
+ <title><%=genModel.getModelName()%> Application</title>
+
+ <style TYPE="text/css">
+ <!--
+ .ToolBar
+ {
+ background-color: #d0e4f6;
+ }
+ .ToolBarButton
+ {
+ float: left;
+ margin-top: 5px;
+ }
+ .ToolBarButtonLeftMargin
+ {
+ float: left;
+ margin-left: 10px;
+ margin-top: 5px;
+ }
+ .Header
+ {
+ background-color: #628cd5;
+ color: #FFFFFF;
+ float: left;
+ font-weight: bold;
+ font-size: xx-large;
+ }
+ .HeaderLabel
+ {
+ float: left;
+ margin-left: 10px;
+ }
+ .PropertiesTitle
+ {
+ background-color: #628cd5;
+ color: #FFFFFF;
+ font-weight: bold;
+ font-size: large;
+ }
+ .PropertiesTitleLabel
+ {
+ float: left;
+ margin-left: 5px;
+ }
+ -->
+ </style>
+
+ <!-- -->
+ <!-- This script loads your compiled module. -->
+ <!-- If you add any GWT meta tags, they must -->
+ <!-- be added before this line. -->
+ <script type="text/javascript" language="javascript" src="<%=genModel.getQualifiedEditorModuleName()%>/<%=genModel.getQualifiedEditorModuleName()%>.nocache.js"></script>
+ </head>
+
+ <body style="height : 100%">
+ <div id="main" style="height : 100%">
+ </div>
+ </body>
+</html>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAhmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAxmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAxmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQAxmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..c949aa242
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQBhmtEeCMbfVQrOfmzQ.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..f004d4e7d
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorDirectory() + "/" + genModel.getQualifiedEditorModuleName().replace(".","/")+ ".gwt.xml";
+overwrite = false;
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCRmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCRmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQCRmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQChmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQChmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQChmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQDBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQDBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..8bd4afe9f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__KLQABmtEeCMbfVQrOfmzQ/method.__KLQDBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,31 @@
+
+<%
+/**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd">
+
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+<module>
+ <inherits name='com.google.gwt.user.theme.standard.Standard'/>
+<%for (String inherits : genModel.getEditorModuleInherits()) {%>
+ <inherits name="<%=inherits%>" />
+<%}%>
+
+ <entry-point class='<%=genModel.getQualifiedEditorEntryPointClassName()%>'/>
+
+<%for (String source : genModel.getEditorModuleSources()) {%>
+ <source path="<%=source%>"/>
+<%}%>
+</module>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_khmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_khmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_khmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_kxmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_kxmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_kxmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..c949aa242
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,5 @@
+GenModel genModel = parameter;
+genModel = parameter.getGenModel();
+boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+return canGenerate; \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_lhmtEeCMbfVQrOfmzQ.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..f7259b72b
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,6 @@
+<%
+GenModel genModel = parameter;
+targetPathName = genModel.getEditorProjectDirectory() + "/war/WEB-INF/web.xml";
+overwrite = false;
+encoding = "UTF-8";
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mRmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mRmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..76ca0ef95
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mRmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,4 @@
+<%
+GenModel genModel = parameter;
+argument = parameter;
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mhmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mhmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..da5fad603
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_mhmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,3 @@
+<%
+new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+%> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_nBmtEeCMbfVQrOfmzQ.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_nBmtEeCMbfVQrOfmzQ.pt
new file mode 100644
index 000000000..2fea7fbd6
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern.__gO_kBmtEeCMbfVQrOfmzQ/method.__gO_nBmtEeCMbfVQrOfmzQ.pt
@@ -0,0 +1,32 @@
+
+<%
+/**
+ * Copyright (c) 2010 Ed Merks and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Ed Merks - Initial API and implementation
+ */
+%>
+<%GenModel genModel = (GenModel)argument; /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+<web-app>
+ <servlet>
+ <servlet-name>uriServlet</servlet-name>
+ <servlet-class>org.eclipse.emf.server.ecore.resource.URIServiceImpl</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>uriServlet</servlet-name>
+ <url-pattern>/<%=genModel.getQualifiedEditorModuleName()%>/uriService</url-pattern>
+ </servlet-mapping>
+
+ <welcome-file-list>
+ <welcome-file><%=genModel.getEditorHomePageName()%>.html</welcome-file>
+ </welcome-file-list>
+</web-app>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cA-DcCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cA-DcCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cA-DcCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cAhXgCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cAhXgCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cAhXgCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cB3bUCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cB3bUCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cB3bUCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cBQ-YCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cBQ-YCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cBQ-YCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cFSiwCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cFSiwCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._cAErkCSWEemxeP6B0lLOpA/method._cFSiwCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eT5vYCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eT5vYCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eT5vYCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUMqUCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUMqUCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUMqUCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUpWQCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUpWQCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eUpWQCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eVPMICSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eVPMICSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eVPMICSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eY91kCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eY91kCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eTdDcCSWEemxeP6B0lLOpA/method._eY91kCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eZ3NcCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eZ3NcCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eZ3NcCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eaTSUCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eaTSUCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eaTSUCSWEemxeP6B0lLOpA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eam0UCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eam0UCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._eam0UCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._ebMqMCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._ebMqMCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._ebMqMCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._efOOkCSWEemxeP6B0lLOpA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._efOOkCSWEemxeP6B0lLOpA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._eZahgCSWEemxeP6B0lLOpA/method._efOOkCSWEemxeP6B0lLOpA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp07M-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp07M-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp07M-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp0rM-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp0rM-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp0rM-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1LM-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1LM-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1LM-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1rM-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1rM-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp1rM-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp6LM-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp6LM-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..e2f25c08f
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._odzp0LM-EeKd56X4hcZPSw/method._odzp6LM-EeKd56X4hcZPSw.pt
@@ -0,0 +1,128 @@
+
+
+ <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String arrayElementType = genFeature.getArrayItemType(genClass);%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * This is specialized for the more specific element type known in this context.
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {%>
+ @Override
+ <%}%>
+ public <%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>()
+ {
+ <%if (genFeature.isVolatile()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>();
+ if (list.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+ <%} else {%>
+ if (<%=genFeature.getSafeName()%> == null || <%=genFeature.getSafeName()%>.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getSafeName()%>;
+ <%}%>
+ list.shrink();
+ return (<%=arrayElementType%>[])list.data();
+ }
+
+ <%}%>
+ <%if (genFeature.isGet() && genFeature.isListType()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * This is specialized for the more specific element type known in this context.
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+ <%if (genFeature.isListType() && genModel.isVirtualDelegation()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {%>
+ @Override
+ <%}%>
+ public <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%><%if (genClass.hasCollidingGetAccessorOperation(genFeature)) {%>_<%}%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ if (<%=genFeature.getSafeName()%> == null)
+ {
+ <%if (genModel.isVirtualDelegation()) {%>
+ eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>);
+ <%} else {%>
+ <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>;
+ <%}%>
+ }
+ return <%=genFeature.getSafeName()%><%=genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : ""%>;
+ }
+
+ <%}%>
+ <%if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * This is specialized for the more specific type known in this context.
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (classExtendsAllGenFeatures.contains(genFeature)) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedInternalType(genClass)%> new<%=genFeature.getCapName()%>, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ return super.basicSet<%=genFeature.getAccessorName()%>(new<%=genFeature.getCapName()%>, msgs);
+ }
+
+ <%}%>
+ <%if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * This is specialized for the more specific type known in this context.
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%{ GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (classExtendsAllGenFeatures.contains(genFeature)) {%>
+ @Override
+ <%}%>
+ public void set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=genFeature.getImportedType(genClass)%> <%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>)
+ {
+ super.set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>);
+ }
+
+<%}%>
+ <%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcoc7M-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcoc7M-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcoc7M-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcod7M-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcod7M-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcod7M-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodLM-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodLM-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodLM-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodbM-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodbM-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcodbM-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcof7M-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcof7M-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._omcocbM-EeKd56X4hcZPSw/method._omcof7M-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQ7M-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQ7M-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQ7M-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQrM-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQrM-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysQrM-EeKd56X4hcZPSw.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRLM-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRLM-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRLM-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRrM-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRrM-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysRrM-EeKd56X4hcZPSw.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysWLM-EeKd56X4hcZPSw.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysWLM-EeKd56X4hcZPSw.pt
new file mode 100644
index 000000000..fbe94e807
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._onysQLM-EeKd56X4hcZPSw/method._onysWLM-EeKd56X4hcZPSw.pt
@@ -0,0 +1,128 @@
+
+
+ <%if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) { String arrayElementType = genFeature.getArrayItemType(genClass);%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * This is specialized for the more specific element type known in this context.
+ * @see #<%=genFeature.getGetAccessor()%>()
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {%>
+ @Override
+ <%}%>
+ public <%=arrayElementType%>[] <%=genFeature.getGetArrayAccessor()%>()
+ {
+ <%if (genFeature.isVolatile()) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>();
+ if (list.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+ <%} else {%>
+ if (<%=genFeature.getSafeName()%> == null || <%=genFeature.getSafeName()%>.isEmpty()) return <%=genFeature.getUpperName()%>_EEMPTY_ARRAY;
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%> list = (<%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%><%=genFeature.getListTemplateArguments(genClass)%>)<%=genFeature.getSafeName()%>;
+ <%}%>
+ list.shrink();
+ return (<%=arrayElementType%>[])list.data();
+ }
+
+ <%}%>
+ <%if (genFeature.isGet() && genFeature.isListType()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * This is specialized for the more specific element type known in this context.
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+ <%if (genFeature.isListType() && genModel.isVirtualDelegation()) {%>
+ @SuppressWarnings("unchecked")
+ <%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (useInterfaceOverrideAnnotation || classExtendsAllGenFeatures.contains(genFeature)) {%>
+ @Override
+ <%}%>
+ public <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%><%if (genClass.hasCollidingGetAccessorOperation(genFeature)) {%>_<%}%>()
+ {
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+ <%if (genModel.isVirtualDelegation()) {%>
+ <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>);
+ <%}%>
+ if (<%=genFeature.getSafeName()%> == null)
+ {
+ <%if (genModel.isVirtualDelegation()) {%>
+ eVirtualSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>);
+ <%} else {%>
+ <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>;
+ <%}%>
+ }
+ return <%=genFeature.getSafeName()%><%=genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : ""%>;
+ }
+
+ <%}%>
+ <%if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * This is specialized for the more specific type known in this context.
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (classExtendsAllGenFeatures.contains(genFeature)) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> basicSet<%=genFeature.getAccessorName()%>(<%=genFeature.getImportedInternalType(genClass)%> new<%=genFeature.getCapName()%>, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs)
+ {
+ return super.basicSet<%=genFeature.getAccessorName()%>(new<%=genFeature.getCapName()%>, msgs);
+ }
+
+ <%}%>
+ <%if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * This is specialized for the more specific type known in this context.
+ <%if (genFeature.hasAPITags()) {%>
+ * <%=genFeature.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc%>
+<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,useInterfaceOverrideAnnotation:useInterfaceOverrideAnnotation,isGWT:isGWT,forceDefaultCase:forceDefaultCase,indentDefaultCase:indentDefaultCase,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+<%}%>
+<%{ GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);%>
+ <%if (isJDK50 && genFeature.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%if (classExtendsAllGenFeatures.contains(genFeature)) {%>
+ @Override
+ <%}%>
+ public void set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=genFeature.getImportedType(genClass)%> <%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>)
+ {
+ super.set<%=genFeature.getAccessorName()%><%if (genClass.hasCollidingSetAccessorOperation(genFeature)) {%>_<%}%>(<%=setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName()%>);
+ }
+
+<%}%>
+ <%}%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EM6oMEeOCpsO1cKKCxA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EM6oMEeOCpsO1cKKCxA.pt
new file mode 100644
index 000000000..d63005334
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EM6oMEeOCpsO1cKKCxA.pt
@@ -0,0 +1 @@
+<%// add initialisation of the pattern variables (declaration has been already done).%>
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EMqoMEeOCpsO1cKKCxA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EMqoMEeOCpsO1cKKCxA.pt
new file mode 100644
index 000000000..7bf6f2dde
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EMqoMEeOCpsO1cKKCxA.pt
@@ -0,0 +1 @@
+<%@ jet package="PACKAGE" class="CLASS" imports="org.eclipse.egf.emf.pattern.base.* org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.* org.eclipse.emf.codegen.ecore.genmodel.generator.* org.eclipse.emf.codegen.util.* org.eclipse.emf.ecore.util.* org.eclipse.emf.common.util.* org.eclipse.egf.common.helper.* java.util.* org.eclipse.emf.ecore.* org.eclipse.egf.model.pattern.* org.eclipse.egf.pattern.execution.* org.eclipse.egf.pattern.query.*" %> \ No newline at end of file
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENKoMEeOCpsO1cKKCxA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENKoMEeOCpsO1cKKCxA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENKoMEeOCpsO1cKKCxA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENqoMEeOCpsO1cKKCxA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENqoMEeOCpsO1cKKCxA.pt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5ENqoMEeOCpsO1cKKCxA.pt
diff --git a/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EPKoMEeOCpsO1cKKCxA.pt b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EPKoMEeOCpsO1cKKCxA.pt
new file mode 100644
index 000000000..f42c830c5
--- /dev/null
+++ b/platform_specific/2019-12/org.eclipse.egf.emf.pattern/templates/pattern._sd5EMKoMEeOCpsO1cKKCxA/method._sd5EPKoMEeOCpsO1cKKCxA.pt
@@ -0,0 +1,50 @@
+
+
+<%if (genClass.isMapEntry()) {%>
+ <%=genClass.getImportedInterfaceName()%><%if (genModel.useGenerics()) {%><?, ?><%}%> <%=genClass.getSafeUncapName()%> = (<%=genClass.getImportedInterfaceName()%><%if (genModel.useGenerics()) {%><?, ?><%}%>)object;
+ <%if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine() && !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {%>
+ return new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>("" + <%=genClass.getSafeUncapName()%>.getKey()).append(" -> ", <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style")%>.QUALIFIER_STYLER).append("" + <%=genClass.getSafeUncapName()%>.getValue());<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ <%} else {%>
+ <%if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {%>
+ String key = crop("" + <%=genClass.getSafeUncapName()%>.getKey());<%=genModel.getNonNLS()%>
+ <%} else {%>
+ String key = "" + <%=genClass.getSafeUncapName()%>.getKey();<%=genModel.getNonNLS()%>
+ <%}%>
+ <%if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {%>
+ String value = crop("" + <%=genClass.getSafeUncapName()%>.getValue());<%=genModel.getNonNLS()%>
+ <%} else {%>
+ String value = "" + <%=genClass.getSafeUncapName()%>.getValue();<%=genModel.getNonNLS()%>
+ <%}%>
+ return new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>(key).append(" -> ", <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style")%>.QUALIFIER_STYLER).append(value);<%=genModel.getNonNLS()%>
+ <%}%>
+<%} else if (genClass.getLabelFeature() != null) { GenFeature labelFeature = genClass.getLabelFeature();%>
+ <%if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic() && !labelFeature.isSuppressedGetVisibility()) {%>
+ <%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%> <%=genClass.getSafeUncapName()%> = (<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object;
+ return new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>(getString("_UI_<%=genClass.getName()%>_type"), <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style")%>.QUALIFIER_STYLER).append(" ").append(<%=labelFeature.getObjectType(genClass)%>.toString(<%=genClass.getSafeUncapName()%>.<%=genClass.getLabelFeature().getGetAccessor()%>()));<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ <%} else {%>
+ <%if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic() && !labelFeature.isSuppressedGetVisibility()) {%>
+ <%if (labelFeature.isPropertyMultiLine()) {%>
+ String label = crop(((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>());
+ <%} else {%>
+ String label = ((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>();
+ <%}%>
+ <%} else {%>
+ <%if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {%>
+ <%=genModel.getImportedName("java.lang.Object")%> labelValue = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%>)object).eGet(<%=labelFeature.getQualifiedFeatureAccessor()%>);
+ <%} else {%>
+ <%=labelFeature.getRawImportedType()%> labelValue = ((<%=genClass.getImportedInterfaceName()%><%=genClass.getInterfaceWildTypeArguments()%>)object).<%=labelFeature.getGetAccessor()%>();
+ <%}%>
+ String label = labelValue == null ? null : labelValue.toString();
+ <%}%>
+ <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%> styledLabel = new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>();
+ if (label == null || label.length() == 0)
+ {
+ styledLabel.append(getString("_UI_<%=genClass.getName()%>_type"), <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style")%>.QUALIFIER_STYLER); <%=genModel.getNonNLS()%>
+ } else {
+ styledLabel.append(getString("_UI_<%=genClass.getName()%>_type"), <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style")%>.QUALIFIER_STYLER).append(" " + label);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(2)%>
+ }
+ return styledLabel;
+ <%}%>
+<%} else {%>
+ return new <%=genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString")%>(getString("_UI_<%=genClass.getName()%>_type"));<%=genModel.getNonNLS()%>
+<%}%>
diff --git a/platform_specific/2019-12/pom.xml b/platform_specific/2019-12/pom.xml
new file mode 100644
index 000000000..aa5b8d745
--- /dev/null
+++ b/platform_specific/2019-12/pom.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2018, 2019 THALES GLOBAL SERVICES.
+ 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:
+ Thales - initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>egf_platform_specific_photon</artifactId>
+ <packaging>pom</packaging>
+
+ <parent>
+ <groupId>org.eclipse.egf</groupId>
+ <artifactId>egf_root</artifactId>
+ <version>1.6.2-SNAPSHOT</version>
+ <relativePath>../..</relativePath>
+ </parent>
+</project>
diff --git a/platform_specific/oxygen/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF b/platform_specific/oxygen/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
index 0b51d31ff..8b37c0bd9 100644
--- a/platform_specific/oxygen/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
+++ b/platform_specific/oxygen/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.pattern;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/platform_specific/oxygen/pom.xml b/platform_specific/oxygen/pom.xml
index 44db77507..13633592e 100644
--- a/platform_specific/oxygen/pom.xml
+++ b/platform_specific/oxygen/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
</project>
diff --git a/platform_specific/photon/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF b/platform_specific/photon/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
index 0b51d31ff..8b37c0bd9 100644
--- a/platform_specific/photon/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
+++ b/platform_specific/photon/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.pattern;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/platform_specific/photon/pom.xml b/platform_specific/photon/pom.xml
index 493df2a71..455dd0b25 100644
--- a/platform_specific/photon/pom.xml
+++ b/platform_specific/photon/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
</project>
diff --git a/plugins/org.eclipse.egf.application/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.application/META-INF/MANIFEST.MF
index 2fdf05768..2bc4971ed 100644
--- a/plugins/org.eclipse.egf.application/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.application/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.application;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.application.internal.activator.EGFApplicationPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.application/ant_tasks/egf.ant.tasks.jar b/plugins/org.eclipse.egf.application/ant_tasks/egf.ant.tasks.jar
index 9ed0c164b..d120dc25c 100644
--- a/plugins/org.eclipse.egf.application/ant_tasks/egf.ant.tasks.jar
+++ b/plugins/org.eclipse.egf.application/ant_tasks/egf.ant.tasks.jar
Binary files differ
diff --git a/plugins/org.eclipse.egf.common.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.common.ui/META-INF/MANIFEST.MF
index 48b2dbe85..db5096667 100644
--- a/plugins/org.eclipse.egf.common.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.common.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.common.ui; singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.common.ui.EGFCommonUIPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.common/META-INF/MANIFEST.MF
index 2208e9d99..4c5ba66b5 100644
--- a/plugins/org.eclipse.egf.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.common/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.common;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.common.EGFCommonPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.console/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.console/META-INF/MANIFEST.MF
index 83e63ed1f..7e1271d3d 100644
--- a/plugins/org.eclipse.egf.console/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.console/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.console; singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.console.EGFConsolePlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.core.pde/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.core.pde/META-INF/MANIFEST.MF
index aee2c12d6..c7a9c13a5 100644
--- a/plugins/org.eclipse.egf.core.pde/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.core.pde/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.core.pde;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.core.pde.EGFPDEPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.core.platform/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.core.platform/META-INF/MANIFEST.MF
index 27f62955a..5de27a623 100644
--- a/plugins/org.eclipse.egf.core.platform/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.core.platform/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.core.platform;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.core.platform.EGFPlatformPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.core.producer/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.core.producer/META-INF/MANIFEST.MF
index 1fe9fdb2b..4c9468005 100644
--- a/plugins/org.eclipse.egf.core.producer/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.core.producer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.core.producer;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.core.producer.EGFCoreProducerPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.core.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.core.ui/META-INF/MANIFEST.MF
index 973293d91..42cb5ef4a 100644
--- a/plugins/org.eclipse.egf.core.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.core.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.core.ui; singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.core.ui.EGFCoreUIPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.core/META-INF/MANIFEST.MF
index b096fb441..3c22e378f 100644
--- a/plugins/org.eclipse.egf.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.core; singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.core.EGFCorePlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.dev/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.dev/META-INF/MANIFEST.MF
index 7fd8953fe..1957fbfd7 100644
--- a/plugins/org.eclipse.egf.dev/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.dev/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.dev;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.dev.Activator
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.domain/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.domain/META-INF/MANIFEST.MF
index 456feeee0..a61167cc9 100644
--- a/plugins/org.eclipse.egf.domain/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.domain/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.egf.domain.Activator
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.domain;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.egf.model.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model.edit/META-INF/MANIFEST.MF
index 9d51ce145..d086aaeaf 100644
--- a/plugins/org.eclipse.egf.model.edit/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model.edit;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.edit.EGFModelEditPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.model.editor/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model.editor/META-INF/MANIFEST.MF
index bb2ba2ffa..e0ced220e 100644
--- a/plugins/org.eclipse.egf.model.editor/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model.editor;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.editor.EGFModelEditorPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.model.fprod.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model.fprod.edit/META-INF/MANIFEST.MF
index c856420d2..e1417f8de 100644
--- a/plugins/org.eclipse.egf.model.fprod.edit/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model.fprod.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model.fprod.edit;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.edit.EGFFprodEditPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.model.fprod.edit/plugin.properties b/plugins/org.eclipse.egf.model.fprod.edit/plugin.properties
index f0af0fd04..450851f50 100644
--- a/plugins/org.eclipse.egf.model.fprod.edit/plugin.properties
+++ b/plugins/org.eclipse.egf.model.fprod.edit/plugin.properties
@@ -1,31 +1,31 @@
-##
-# Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Thales Corporate Services S.A.S - initial API and implementation
-##
-
-pluginName = EGF Factory Production Model Edit
-providerName = Eclipse Modeling Project
-_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_ProductionPlan_type = Production Plan
-_UI_ProductionPlanInvocation_type = Production Plan Invocation
-_UI_Unknown_type = Object
- _UI_Unknown_datatype= Value
- _UI_ProductionPlan_invocations_feature = Invocations
-_UI_ProductionPlanInvocation_productionPlan_feature = Production Plan
-_UI_Unknown_feature = Unspecified
+##
+# Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
+#
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Thales Corporate Services S.A.S - initial API and implementation
+##
+
+pluginName = EGF Factory Production Model Edit
+providerName = Eclipse Modeling Project
+_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_ProductionPlan_type = Production Plan
+_UI_ProductionPlanInvocation_type = Production Plan Invocation
+_UI_Unknown_type = Object
+ _UI_Unknown_datatype= Value
+ _UI_ProductionPlan_invocations_feature = Invocations
+_UI_ProductionPlanInvocation_productionPlan_feature = Production Plan
+_UI_Unknown_feature = Unspecified
diff --git a/plugins/org.eclipse.egf.model.fprod/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model.fprod/META-INF/MANIFEST.MF
index fda7a5833..9866d692a 100644
--- a/plugins/org.eclipse.egf.model.fprod/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model.fprod/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model.fprod;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.EGFFprodPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.model.ftask.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model.ftask.edit/META-INF/MANIFEST.MF
index cf8e4a893..f0ce2b141 100644
--- a/plugins/org.eclipse.egf.model.ftask.edit/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model.ftask.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model.ftask.edit;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.edit.EGFFtaskEditPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.model.ftask/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model.ftask/META-INF/MANIFEST.MF
index f3e7ecead..700b3404b 100644
--- a/plugins/org.eclipse.egf.model.ftask/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model.ftask/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model.ftask;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.EGFFtaskPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.model.javapattern.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model.javapattern.edit/META-INF/MANIFEST.MF
index 1da0fd96e..52cc94df1 100644
--- a/plugins/org.eclipse.egf.model.javapattern.edit/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model.javapattern.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model.javapattern.edit;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.edit.EGFJavaPatternEditPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.model.javapattern/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model.javapattern/META-INF/MANIFEST.MF
index b03c2a732..89ce20a07 100644
--- a/plugins/org.eclipse.egf.model.javapattern/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model.javapattern/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model.javapattern;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.EGFJavaPatternPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.model.jetpattern.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model.jetpattern.edit/META-INF/MANIFEST.MF
index 9a7901cc2..567c08811 100644
--- a/plugins/org.eclipse.egf.model.jetpattern.edit/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model.jetpattern.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model.jetpattern.edit;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.edit.EGFJetPatternEditPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.model.jetpattern/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model.jetpattern/META-INF/MANIFEST.MF
index 1a258391a..eb7496ae1 100644
--- a/plugins/org.eclipse.egf.model.jetpattern/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model.jetpattern/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model.jetpattern;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.EGFJetPatternPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.model/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.model/META-INF/MANIFEST.MF
index 7b9ea9d8c..8127b3dae 100644
--- a/plugins/org.eclipse.egf.model/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.model/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.model;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.model.EGFModelPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.pattern.ftask/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.pattern.ftask/META-INF/MANIFEST.MF
index 6943aa815..b0aa0e31d 100644
--- a/plugins/org.eclipse.egf.pattern.ftask/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.pattern.ftask/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-ClassPath: .
Bundle-SymbolicName: org.eclipse.egf.pattern.ftask;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.pattern.ftask.Activator
Bundle-Localization: plugin
Require-Bundle:
diff --git a/plugins/org.eclipse.egf.pattern.java/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.pattern.java/META-INF/MANIFEST.MF
index 4942e2ee5..58678c07e 100644
--- a/plugins/org.eclipse.egf.pattern.java/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.pattern.java/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@ Bundle-Vendor: %providerName
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.pattern.java; singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.pattern.java.Activator
Require-Bundle:
org.eclipse.core.runtime,
diff --git a/plugins/org.eclipse.egf.pattern.jet/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.pattern.jet/META-INF/MANIFEST.MF
index bb529db95..da8033f6d 100644
--- a/plugins/org.eclipse.egf.pattern.jet/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.pattern.jet/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@ Bundle-Vendor: %providerName
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.pattern.jet;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.pattern.jet.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.egf.pattern;visibility:=reexport,
diff --git a/plugins/org.eclipse.egf.pattern.ui.java/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.pattern.ui.java/META-INF/MANIFEST.MF
index 290a25fc8..deed19571 100644
--- a/plugins/org.eclipse.egf.pattern.ui.java/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.pattern.ui.java/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@ Bundle-Vendor: %providerName
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.pattern.ui.java;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.pattern.ui.java.Activator
Require-Bundle:
org.eclipse.jface.text,
diff --git a/plugins/org.eclipse.egf.pattern.ui.jet/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.pattern.ui.jet/META-INF/MANIFEST.MF
index c59f6a3cb..ddfe1899b 100644
--- a/plugins/org.eclipse.egf.pattern.ui.jet/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.pattern.ui.jet/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@ Bundle-Vendor: %providerName
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.pattern.ui.jet;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.pattern.ui.jet.Activator
Require-Bundle:
org.eclipse.egf.common.ui,
diff --git a/plugins/org.eclipse.egf.pattern.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.pattern.ui/META-INF/MANIFEST.MF
index eb172d408..fdcd5a7de 100644
--- a/plugins/org.eclipse.egf.pattern.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.pattern.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.pattern.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.pattern.ui.Activator
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.pattern/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.pattern/META-INF/MANIFEST.MF
index ef3be394b..7bdd9b9c1 100644
--- a/plugins/org.eclipse.egf.pattern/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.pattern/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-ClassPath: .
Bundle-SymbolicName: org.eclipse.egf.pattern;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.pattern.EGFPatternPlugin
Bundle-Localization: plugin
Require-Bundle:
diff --git a/plugins/org.eclipse.egf.producer.fprod/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.producer.fprod/META-INF/MANIFEST.MF
index feebabf50..e17a517a5 100644
--- a/plugins/org.eclipse.egf.producer.fprod/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.producer.fprod/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.producer.fprod;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.producer.fprod.EGFProducerFprodPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.producer.ftask/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.producer.ftask/META-INF/MANIFEST.MF
index 49185a4cb..9be8d59d1 100644
--- a/plugins/org.eclipse.egf.producer.ftask/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.producer.ftask/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.producer.ftask;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.producer.ftask.EGFProducerFtaskPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.producer.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.producer.ui/META-INF/MANIFEST.MF
index be18b6333..043b044dc 100644
--- a/plugins/org.eclipse.egf.producer.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.producer.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.producer.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.producer.ui.EGFProducerUIPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.producer/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.producer/META-INF/MANIFEST.MF
index 266be8395..b84400819 100644
--- a/plugins/org.eclipse.egf.producer/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.producer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.producer;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.producer.EGFProducerPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.task.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.task.ui/META-INF/MANIFEST.MF
index caa859d50..1436c3f3d 100644
--- a/plugins/org.eclipse.egf.task.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.task.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.task.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.task.ui.EGFTaskUIPlugin
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.egf.task/META-INF/MANIFEST.MF b/plugins/org.eclipse.egf.task/META-INF/MANIFEST.MF
index 2baa70b9a..aa26892e2 100644
--- a/plugins/org.eclipse.egf.task/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.egf.task/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-SymbolicName: org.eclipse.egf.task;singleton:=true
Bundle-Activator: org.eclipse.egf.task.EGFTaskPlugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 256860300..2b95441d9 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
</project>
diff --git a/pom.xml b/pom.xml
index 4253bd3a2..8e91319de 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<packaging>pom</packaging>
<licenses>
@@ -37,7 +37,7 @@
<properties>
<tycho-version>1.4.0</tycho-version>
<tycho-extras-version>${tycho-version}</tycho-extras-version>
- <platform-version-name>2019-09</platform-version-name>
+ <platform-version-name>2019-12</platform-version-name>
<tycho.scmUrl>scm:git:https://git.eclipse.org/r/egf/org.eclipse.emf.egf</tycho.scmUrl>
@@ -171,7 +171,7 @@
<artifact>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<classifier>releng/org.eclipse.egf.targets/core-${platform-version-name}</classifier>
</artifact>
</target>
@@ -373,7 +373,7 @@
<artifact>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<classifier>releng/org.eclipse.egf.targets/core-${platform-version-name}</classifier>
</artifact>
</target>
diff --git a/portfolio/org.eclipse.egf.eclipse.resources.mgt/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.eclipse.resources.mgt/META-INF/MANIFEST.MF
index 1dc846449..92b8c3cdd 100644
--- a/portfolio/org.eclipse.egf.eclipse.resources.mgt/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.eclipse.resources.mgt/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@ Bundle-Vendor: %providerName
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.eclipse.resources.mgt;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Require-Bundle:
diff --git a/portfolio/org.eclipse.egf.emf.docgen.html/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.emf.docgen.html/META-INF/MANIFEST.MF
index 9cad59ff5..99e031087 100644
--- a/portfolio/org.eclipse.egf.emf.docgen.html/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.emf.docgen.html/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.docgen.html;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/portfolio/org.eclipse.egf.emf.pattern.base/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.emf.pattern.base/META-INF/MANIFEST.MF
index 8511296a4..d6f394202 100644
--- a/portfolio/org.eclipse.egf.emf.pattern.base/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.emf.pattern.base/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.pattern.base;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Activator: org.eclipse.egf.emf.pattern.base.Activator
diff --git a/portfolio/org.eclipse.egf.emf.pattern.cdo/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.emf.pattern.cdo/META-INF/MANIFEST.MF
index 7abb3d301..0df825800 100644
--- a/portfolio/org.eclipse.egf.emf.pattern.cdo/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.emf.pattern.cdo/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.pattern.cdo;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/portfolio/org.eclipse.egf.emf.pattern.ui/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.emf.pattern.ui/META-INF/MANIFEST.MF
index 9f245b0fa..95720dbf1 100644
--- a/portfolio/org.eclipse.egf.emf.pattern.ui/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.emf.pattern.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.pattern.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/portfolio/org.eclipse.egf.emf.wrapper.ui/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.emf.wrapper.ui/META-INF/MANIFEST.MF
index 4644746b4..a4eba1f42 100644
--- a/portfolio/org.eclipse.egf.emf.wrapper.ui/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.emf.wrapper.ui/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@ Bundle-Vendor: %providerName
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.emf.wrapper.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.emf.wrapper.ui.Activator
Require-Bundle:
org.eclipse.ui,
diff --git a/portfolio/org.eclipse.egf.emf.wrapper/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.emf.wrapper/META-INF/MANIFEST.MF
index 65e0fcb02..24c4a0d5e 100644
--- a/portfolio/org.eclipse.egf.emf.wrapper/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.emf.wrapper/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@ Bundle-Vendor: %providerName
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.emf.wrapper;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.emf.wrapper.Activator
Require-Bundle:
org.eclipse.core.runtime,
diff --git a/portfolio/org.eclipse.egf.portfolio.ant.javadoc/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.ant.javadoc/META-INF/MANIFEST.MF
index 4cd83ba15..acb0702d3 100644
--- a/portfolio/org.eclipse.egf.portfolio.ant.javadoc/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.ant.javadoc/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.portfolio.ant.javadoc;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/portfolio/org.eclipse.egf.portfolio.eclipse.build.egf/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.eclipse.build.egf/META-INF/MANIFEST.MF
index 4866889e8..750a21630 100644
--- a/portfolio/org.eclipse.egf.portfolio.eclipse.build.egf/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.eclipse.build.egf/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.eclipse.build.egf;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/portfolio/org.eclipse.egf.portfolio.eclipse.build.ui/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.eclipse.build.ui/META-INF/MANIFEST.MF
index d37bb1150..063116f66 100644
--- a/portfolio/org.eclipse.egf.portfolio.eclipse.build.ui/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.eclipse.build.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.eclipse.build.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.portfolio.eclipse.build.buildcore.presentation.BuildCoreEditorPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/portfolio/org.eclipse.egf.portfolio.eclipse.build.ui/plugin.properties b/portfolio/org.eclipse.egf.portfolio.eclipse.build.ui/plugin.properties
index b4fdfb82a..3c7172f99 100644
--- a/portfolio/org.eclipse.egf.portfolio.eclipse.build.ui/plugin.properties
+++ b/portfolio/org.eclipse.egf.portfolio.eclipse.build.ui/plugin.properties
@@ -1,335 +1,335 @@
-##
-# Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Thales Corporate Services S.A.S - initial API and implementation
-##
-
-pluginName=EGF Portfolio Eclipse Build UI
-providerName=Eclipse Modeling Project
-
-_UI_BuildcoreEditor_menu = &Buildcore 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_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_NoObjectSelected = Selected Nothing
-_UI_SingleObjectSelected = Selected Object: {0}
-_UI_MultiObjectSelected = Selected {0} Objects
-
-_UI_OpenEditorError_label = Open Editor
-
-_UI_Wizard_category = EGF
-
-_UI_CreateModelError_message = Problems encountered in file "{0}"
-
-_UI_BuildcoreModelWizard_label = EGF Build Model
-_UI_BuildcoreModelWizard_description = Create a new Buildcore model
-
-_UI_BuildcoreEditor_label = EGF Build Model Editor
-
-_UI_BuildcoreEditorFilenameDefaultBase = My
-_UI_BuildcoreEditorFilenameExtensions = egfbuild
-
-_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_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_Item_type = Item
-_UI_Chain_type = Chain
-_UI_Job_type = Job
-_UI_Step_type = Step
-_UI_SCM_type = SCM
-_UI_Property_type = Property
-_UI_Trigger_type = Trigger
-_UI_Unknown_type = Object
- _UI_Unknown_datatype= Value
- _UI_Item_properties_feature = Properties
-_UI_Chain_name_feature = Name
-_UI_Chain_jobs_feature = Jobs
-_UI_Job_name_feature = Name
-_UI_Job_description_feature = Description
-_UI_Job_steps_feature = Steps
-_UI_Job_scms_feature = Scms
-_UI_Job_triggers_feature = Triggers
-_UI_Job_enabled_feature = Enabled
-_UI_Step_job_feature = Job
-_UI_Property_key_feature = Key
-_UI_Property_value_feature = Value
-_UI_Unknown_feature = Unspecified
+##
+# Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
+#
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Thales Corporate Services S.A.S - initial API and implementation
+##
-_UI_ResultStep_type = Result Step
-_UI_CleanStep_type = Clean Step
-_UI_BuildStep_type = Build Step
-_UI_PublishStep_type = Publish Step
-_UI_TestStep_type = Test Step
-_UI_AntStep_type = Ant Step
-_UI_JavadocStep_type = Javadoc Step
-_UI_EgfStep_type = Egf Step
-_UI_AggregateStep_type = Aggregate Step
-_UI_BuildLocation_type = Build Location
-_UI_SourceBuildLocation_type = Source Build Location
-_UI_LocalBuildLocation_type = Local Build Location
-_UI_TargetPlatformBuildLocation_type = Target Platform Build Location
-_UI_UpdateSiteBuildLocation_type = Update Site Build Location
-_UI_ResultStepBuildLocation_type = Result Step Build Location
-_UI_Component_type = Component
-_UI_Plugin_type = Plugin
-_UI_Feature_type = Feature
-_UI_CleanStep_type_feature = Type
-_UI_BuildStep_buildLocations_feature = Build Locations
-_UI_BuildStep_components_feature = Components
-_UI_BuildStep_cleanBeforeBuild_feature = Clean Before Build
-_UI_PublishStep_component_feature = Component
-_UI_PublishStep_signing_feature = Signing
-_UI_PublishStep_generateSources_feature = Generate Sources
-_UI_TestStep_launchConfigurationPath_feature = Launch Configuration Path
-_UI_TestStep_codeCoverage_feature = Code Coverage
-_UI_AntStep_targetName_feature = Target Name
-_UI_AntStep_xml_feature = Xml
-_UI_AntStep_runInEclipse_feature = Run In Eclipse
-_UI_JavadocStep_sources_feature = Sources
-_UI_JavadocStep_includes_feature = Includes
-_UI_JavadocStep_excludes_feature = Excludes
-_UI_JavadocStep_links_feature = Links
-_UI_AggregateStep_name_feature = Name
-_UI_AggregateStep_publishSteps_feature = Publish Steps
-_UI_AggregateStep_updateSiteUrls_feature = Update Site Urls
-_UI_BuildLocation_pattern_feature = Pattern
-_UI_BuildLocation_buildStep_feature = Build Step
-_UI_SourceBuildLocation_suffix_feature = Suffix
-_UI_LocalBuildLocation_path_feature = Path
-_UI_TargetPlatformBuildLocation_path_feature = Path
-_UI_UpdateSiteBuildLocation_url_feature = Url
-_UI_ResultStepBuildLocation_resultStep_feature = Result Step
-_UI_Component_name_feature = Name
-_UI_Component_buildStep_feature = Build Step
-_UI_CLEAN_TYPE_RESULT_literal = Result
-_UI_CLEAN_TYPE_WORKSPACE_literal = Workspace
-_UI_CLEAN_TYPE_NOTHING_literal = Nothing
-_UI_SVN_type = SVN
-_UI_SVNLocation_type = SVN Location
-_UI_SVN_locations_feature = Locations
-_UI_SVNLocation_protocol_feature = Protocol
-_UI_SVNLocation_url_feature = Url
-_UI_SVNLocation_localPath_feature = Local Path
-_UI_SVNLocation_username_feature = Username
-_UI_SVNLocation_password_feature = Password
-_UI_SVNProtocol_HTTP_literal = http://
-_UI_SVNProtocol_HTTPS_literal = https://
-_UI_SVNProtocol_SVN_literal = svn://
-_UI_SVNProtocol_SVNSSH_literal = svn+ssh://
-_UI_CronTrigger_type = Cron Trigger
-_UI_SCMTrigger_type = SCM Trigger
-_UI_CronTrigger_planning_feature = Planning
-_UI_SCMTrigger_planning_feature = Planning
-_UI_BuildStep_allPlatforms_feature = All Platforms
-_UI_InstallStep_type = Install Step
-_UI_BinaryBuildLocation_type = Binary Build Location
-_UI_InstallStepBuildLocation_type = Install Step Build Location
-_UI_InstallStep_name_feature = Name
-_UI_InstallStep_resultSteps_feature = Result Steps
-_UI_InstallStep_updateSiteUrls_feature = Update Site Urls
-_UI_InstallStep_featureNames_feature = Feature Names
-_UI_InstallStep_productNames_feature = Product Names
-_UI_BinaryBuildLocation_suffix_feature = Suffix
-_UI_InstallStepBuildLocation_installStep_feature = Install Step
-_UI_InstallStep_profile_feature = Profile
-_UI_SVNBuildLocation_type = SVN Build Location
-_UI_SVNBuildLocation_svnLocation_feature = Svn Location
-_UI_SVNBuildLocation_folderName_feature = Folder Name
-_UI_EgfStep_activity_feature = Activity
-_UI_EgfActivity_type = Egf Activity
-_UI_EgfStep_activities_feature = Activities
-_UI_EgfActivity_uri_feature = Uri
-_UI_EgfStep_egfActivities_feature = Egf Activities
-_UI_Step_name_feature = Name
-_UI_Step_description_feature = Description
-_UI_Step_id_feature = Id
-_UI_BuildStep_doNotBuild_feature = Do Not Build
-_UI_BuildStep_noBuildersInvocation_feature = No Builders Invocation
-_UI_CLEAN_TYPE_TOOLS_literal = Tools
-_UI_CLEAN_TYPE_ALL_literal = All
-_UI_RuntimeTargetPlatformBuildLocation_type = Runtime Target Platform Build Location
-_UI_RunningPlatformBuildLocation_type = Running Platform Build Location
-_UI_InstallStep_installResultStepsSourceFeatures_feature = Install Result Steps Source Features
-_UI_Item_name_feature = Name
-_UI_Item_description_feature = Description
-_UI_EgfStep_properties_feature = Properties
-_UI_AbstractStepContainer_type = Abstract Step Container
-_UI_StepContainer_type = Step Container
-_UI_AbstractStepContainer_steps_feature = Steps
-_UI_PublishStep_generateDropins_feature = Generate Dropins
-_UI_BuildStep_skipComponentsRegex_feature = Skip Components Regex
-_UI_FileStep_type = File Step
-_UI_FilesetProvider_type = Fileset Provider
-_UI_ZipStep_type = Zip Step
-_UI_UnzipStep_type = Unzip Step
-_UI_MoveStep_type = Move Step
-_UI_RenameStep_type = Rename Step
-_UI_DeleteStep_type = Delete Step
-_UI_CopyStep_type = Copy Step
-_UI_DownloadStep_type = Download Step
-_UI_CreateFolderStep_type = Create Folder Step
-_UI_FileStep_additionalParameters_feature = Additional Parameters
-_UI_FilesetProvider_filePaths_feature = File Paths
-_UI_FilesetProvider_dirPaths_feature = Dir Paths
-_UI_FilesetProvider_resultSteps_feature = Result Steps
-_UI_FilesetProvider_installSteps_feature = Install Steps
-_UI_ZipStep_baseDir_feature = Base Dir
-_UI_ZipStep_destinationFilePath_feature = Destination File Path
-_UI_UnzipStep_sourceFilePath_feature = Source File Path
-_UI_UnzipStep_destinationFolderPath_feature = Destination Folder Path
-_UI_MoveStep_destinationFolderPath_feature = Destination Folder Path
-_UI_RenameStep_sourcePath_feature = Source Path
-_UI_RenameStep_destinationPath_feature = Destination Path
-_UI_CopyStep_destinationFolderPath_feature = Destination Folder Path
-_UI_DownloadStep_sourceFilePath_feature = Source File Path
-_UI_DownloadStep_destinationFilePath_feature = Destination File Path
-_UI_CreateFolderStep_folderPath_feature = Folder Path
-_UI_KeyValue_type = Key Value
-_UI_KeyValue_key_feature = Key
-_UI_KeyValue_value_feature = Value
-_UI_EGFSystemProperty_type = EGF System Property
-_UI_AntParameter_type = Ant Parameter
-_UI_Item_renameItem_feature = Rename Item
-_UI_Step_renameStep_feature = Rename Step
-_UI_AggregateStep_renameAggregate_feature = Rename Aggregate
-_UI_InstallStep_renameInstall_feature = Rename Install
-_UI_Component_renameComponent_feature = Rename Component
-_UI_AggregateStep_id_feature = Id
-_UI_InstallStep_id_feature = Id
-_UI_Component_id_feature = Id
-_UI_Item_enabled_feature = Enabled
-_UI_ItemProperties_type = Item Properties
-_UI_ItemProperties_properties_feature = Properties
-_UI_Property_type_feature = Type
-_UI_PropertyType_RUNTIME_literal = RUNTIME
-_UI_PropertyType_INLINED_literal = INLINED
-_UI_ReuseStep_type = Reuse Step
-_UI_ReuseStep_reusedStep_feature = Reused Step
-_UI_PropertyPackage_type = Property Package
-_UI_ItemProperties_propertyPackages_feature = Property Packages
-_UI_PropertyPackage_name_feature = Name
-_UI_PropertyPackage_description_feature = Description
-_UI_PropertyPackage_properties_feature = Properties
-_UI_GIT_type = GIT
-_UI_GITLocation_type = GIT Location
-_UI_GITBuildLocation_type = GIT Build Location
-_UI_GIT_locations_feature = Locations
-_UI_GITLocation_protocol_feature = Protocol
-_UI_GITLocation_url_feature = Url
-_UI_GITLocation_localPath_feature = Local Path
-_UI_GITLocation_username_feature = Username
-_UI_GITLocation_password_feature = Password
-_UI_GITBuildLocation_gitLocation_feature = Git Location
-_UI_GITBuildLocation_folderName_feature = Folder Name
-_UI_GITProtocol_HTTP_literal = http://
-_UI_GITProtocol_HTTPS_literal = https://
-_UI_GITProtocol_GIT_literal = git://
-_UI_GITProtocol_SSH_literal = ssh://
-_UI_AbstractBuildLocationContainer_type = Abstract Build Location Container
-_UI_BuildLocationContainer_type = Build Location Container
-_UI_AbstractBuildLocationContainer_buildLocations_feature = Build Locations
-_UI_BuildLocationContainer_name_feature = Name
-_UI_AbstractBuildLocation_type = Abstract Build Location
-_UI_PatternBuildLocation_type = Pattern Build Location
-_UI_PatternBuildLocation_pattern_feature = Pattern
-_UI_InstallStep_p2_os_feature = p2.os
-_UI_InstallStep_p2_ws_feature = p2.ws
-_UI_InstallStep_p2_arch_feature = p2.arch
-_UI_Deployment_type = Deployment
-_UI_User_type = User
-
-_UI_Deployment_assignedNodes_feature = Assigned Nodes
-_UI_Deployment_jobs_feature = Jobs
-_UI_Deployment_chains_feature = Chains
-_UI_Deployment_users_feature = Users
-_UI_User_login_feature = Login
-_UI_User_permission_feature = Permission
-_UI_PermissionType_READ_literal = READ
-_UI_PermissionType_EXECUTE_literal = EXECUTE
-_UI_PermissionType_WRITE_literal = WRITE
-_UI_BuilddeployEditor_menu = &Builddeploy Editor
- _UI_BuilddeployModelWizard_label = EGF Build Deploy Model
-_UI_BuilddeployModelWizard_description = Create a new Builddeploy model
- _UI_BuilddeployEditor_label = Builddeploy Model Editor
- _UI_BuilddeployEditorFilenameDefaultBase = My
-_UI_BuilddeployEditorFilenameExtensions = egfdeploy
+pluginName=EGF Portfolio Eclipse Build UI
+providerName=Eclipse Modeling Project
-_UI_Deployment_assignedNode_feature = Assigned Node
-_UI_Deployment_scm_feature = Scm
-_UI_DeploymentList_type = Deployment List
-_UI_DeploymentTarget_type = Deployment Target
-_UI_JobDeploymentTarget_type = Job Deployment Target
-_UI_ChainDeploymentTarget_type = Chain Deployment Target
-_UI_DeploymentList_deployments_feature = Deployments
-_UI_Deployment_target_feature = Target
-_UI_JobDeploymentTarget_job_feature = Job
-_UI_ChainDeploymentTarget_chain_feature = Chain
-_UI_DeploymentList_serverUrl_feature = Server Url
-_UI_Deployment_jobName_feature = Job Name
-_UI_Job_deployment_feature = Deployment
-_UI_SVNGenerationLocation_type = SVN Generation Location
-_UI_GitGenerationLocation_type = Git Generation Location
-_UI_HudsonDeployment_type = Hudson Deployment
-_UI_GenerationLocation_type = Generation Location
-_UI_SVNGenerationLocation_svnLocation_feature = Svn Location
-_UI_GitGenerationLocation_gitLocation_feature = Git Location
-_UI_HudsonDeployment_assignedNode_feature = Assigned Node
-_UI_HudsonDeployment_jdkName_feature = Jdk Name
-_UI_HudsonDeployment_antName_feature = Ant Name
-_UI_HudsonDeployment_users_feature = Users
-_UI_HudsonDeployment_triggers_feature = Triggers
-_UI_HudsonDeployment_generationLocation_feature = Generation Location
-_UI_GenerationLocation_folderName_feature = Folder Name
-_UI_GITGenerationLocation_type = GIT Generation Location
-_UI_GITGenerationLocation_gitLocation_feature = Git Location
-_UI_HudsonDeployment_buildId_feature = Build Id
-_UI_HudsonDeployment_enable_feature = Enable
-_UI_HudsonDeployment_enabled_feature = Enabled
-_UI_HudsonDeployment_userDeployServerUrl_feature = User Deploy Server Url
-_UI_HudsonDeployment_userDeployJobName_feature = User Deploy Job Name
-_UI_GITLocation_branch_feature = Branch
-_UI_TarStep_type = Tar Step
-_UI_TarStep_destfile_feature = Destfile
-_UI_TarStep_baseDir_feature = Base Dir
-_UI_TarStep_compression_feature = Compression
-_UI_CompressionMethod_none_literal = none
-_UI_CompressionMethod_gzip_literal = gzip
-_UI_CompressionMethod_bzip2_literal = bzip2
+_UI_BuildcoreEditor_menu = &Buildcore 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_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_NoObjectSelected = Selected Nothing
+_UI_SingleObjectSelected = Selected Object: {0}
+_UI_MultiObjectSelected = Selected {0} Objects
+
+_UI_OpenEditorError_label = Open Editor
+
+_UI_Wizard_category = EGF
+
+_UI_CreateModelError_message = Problems encountered in file "{0}"
+
+_UI_BuildcoreModelWizard_label = EGF Build Model
+_UI_BuildcoreModelWizard_description = Create a new Buildcore model
+
+_UI_BuildcoreEditor_label = EGF Build Model Editor
+
+_UI_BuildcoreEditorFilenameDefaultBase = My
+_UI_BuildcoreEditorFilenameExtensions = egfbuild
+
+_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_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_Item_type = Item
+_UI_Chain_type = Chain
+_UI_Job_type = Job
+_UI_Step_type = Step
+_UI_SCM_type = SCM
+_UI_Property_type = Property
+_UI_Trigger_type = Trigger
+_UI_Unknown_type = Object
+ _UI_Unknown_datatype= Value
+ _UI_Item_properties_feature = Properties
+_UI_Chain_name_feature = Name
+_UI_Chain_jobs_feature = Jobs
+_UI_Job_name_feature = Name
+_UI_Job_description_feature = Description
+_UI_Job_steps_feature = Steps
+_UI_Job_scms_feature = Scms
+_UI_Job_triggers_feature = Triggers
+_UI_Job_enabled_feature = Enabled
+_UI_Step_job_feature = Job
+_UI_Property_key_feature = Key
+_UI_Property_value_feature = Value
+_UI_Unknown_feature = Unspecified
+
+_UI_ResultStep_type = Result Step
+_UI_CleanStep_type = Clean Step
+_UI_BuildStep_type = Build Step
+_UI_PublishStep_type = Publish Step
+_UI_TestStep_type = Test Step
+_UI_AntStep_type = Ant Step
+_UI_JavadocStep_type = Javadoc Step
+_UI_EgfStep_type = Egf Step
+_UI_AggregateStep_type = Aggregate Step
+_UI_BuildLocation_type = Build Location
+_UI_SourceBuildLocation_type = Source Build Location
+_UI_LocalBuildLocation_type = Local Build Location
+_UI_TargetPlatformBuildLocation_type = Target Platform Build Location
+_UI_UpdateSiteBuildLocation_type = Update Site Build Location
+_UI_ResultStepBuildLocation_type = Result Step Build Location
+_UI_Component_type = Component
+_UI_Plugin_type = Plugin
+_UI_Feature_type = Feature
+_UI_CleanStep_type_feature = Type
+_UI_BuildStep_buildLocations_feature = Build Locations
+_UI_BuildStep_components_feature = Components
+_UI_BuildStep_cleanBeforeBuild_feature = Clean Before Build
+_UI_PublishStep_component_feature = Component
+_UI_PublishStep_signing_feature = Signing
+_UI_PublishStep_generateSources_feature = Generate Sources
+_UI_TestStep_launchConfigurationPath_feature = Launch Configuration Path
+_UI_TestStep_codeCoverage_feature = Code Coverage
+_UI_AntStep_targetName_feature = Target Name
+_UI_AntStep_xml_feature = Xml
+_UI_AntStep_runInEclipse_feature = Run In Eclipse
+_UI_JavadocStep_sources_feature = Sources
+_UI_JavadocStep_includes_feature = Includes
+_UI_JavadocStep_excludes_feature = Excludes
+_UI_JavadocStep_links_feature = Links
+_UI_AggregateStep_name_feature = Name
+_UI_AggregateStep_publishSteps_feature = Publish Steps
+_UI_AggregateStep_updateSiteUrls_feature = Update Site Urls
+_UI_BuildLocation_pattern_feature = Pattern
+_UI_BuildLocation_buildStep_feature = Build Step
+_UI_SourceBuildLocation_suffix_feature = Suffix
+_UI_LocalBuildLocation_path_feature = Path
+_UI_TargetPlatformBuildLocation_path_feature = Path
+_UI_UpdateSiteBuildLocation_url_feature = Url
+_UI_ResultStepBuildLocation_resultStep_feature = Result Step
+_UI_Component_name_feature = Name
+_UI_Component_buildStep_feature = Build Step
+_UI_CLEAN_TYPE_RESULT_literal = Result
+_UI_CLEAN_TYPE_WORKSPACE_literal = Workspace
+_UI_CLEAN_TYPE_NOTHING_literal = Nothing
+_UI_SVN_type = SVN
+_UI_SVNLocation_type = SVN Location
+_UI_SVN_locations_feature = Locations
+_UI_SVNLocation_protocol_feature = Protocol
+_UI_SVNLocation_url_feature = Url
+_UI_SVNLocation_localPath_feature = Local Path
+_UI_SVNLocation_username_feature = Username
+_UI_SVNLocation_password_feature = Password
+_UI_SVNProtocol_HTTP_literal = http://
+_UI_SVNProtocol_HTTPS_literal = https://
+_UI_SVNProtocol_SVN_literal = svn://
+_UI_SVNProtocol_SVNSSH_literal = svn+ssh://
+_UI_CronTrigger_type = Cron Trigger
+_UI_SCMTrigger_type = SCM Trigger
+_UI_CronTrigger_planning_feature = Planning
+_UI_SCMTrigger_planning_feature = Planning
+_UI_BuildStep_allPlatforms_feature = All Platforms
+_UI_InstallStep_type = Install Step
+_UI_BinaryBuildLocation_type = Binary Build Location
+_UI_InstallStepBuildLocation_type = Install Step Build Location
+_UI_InstallStep_name_feature = Name
+_UI_InstallStep_resultSteps_feature = Result Steps
+_UI_InstallStep_updateSiteUrls_feature = Update Site Urls
+_UI_InstallStep_featureNames_feature = Feature Names
+_UI_InstallStep_productNames_feature = Product Names
+_UI_BinaryBuildLocation_suffix_feature = Suffix
+_UI_InstallStepBuildLocation_installStep_feature = Install Step
+_UI_InstallStep_profile_feature = Profile
+_UI_SVNBuildLocation_type = SVN Build Location
+_UI_SVNBuildLocation_svnLocation_feature = Svn Location
+_UI_SVNBuildLocation_folderName_feature = Folder Name
+_UI_EgfStep_activity_feature = Activity
+_UI_EgfActivity_type = Egf Activity
+_UI_EgfStep_activities_feature = Activities
+_UI_EgfActivity_uri_feature = Uri
+_UI_EgfStep_egfActivities_feature = Egf Activities
+_UI_Step_name_feature = Name
+_UI_Step_description_feature = Description
+_UI_Step_id_feature = Id
+_UI_BuildStep_doNotBuild_feature = Do Not Build
+_UI_BuildStep_noBuildersInvocation_feature = No Builders Invocation
+_UI_CLEAN_TYPE_TOOLS_literal = Tools
+_UI_CLEAN_TYPE_ALL_literal = All
+_UI_RuntimeTargetPlatformBuildLocation_type = Runtime Target Platform Build Location
+_UI_RunningPlatformBuildLocation_type = Running Platform Build Location
+_UI_InstallStep_installResultStepsSourceFeatures_feature = Install Result Steps Source Features
+_UI_Item_name_feature = Name
+_UI_Item_description_feature = Description
+_UI_EgfStep_properties_feature = Properties
+_UI_AbstractStepContainer_type = Abstract Step Container
+_UI_StepContainer_type = Step Container
+_UI_AbstractStepContainer_steps_feature = Steps
+_UI_PublishStep_generateDropins_feature = Generate Dropins
+_UI_BuildStep_skipComponentsRegex_feature = Skip Components Regex
+_UI_FileStep_type = File Step
+_UI_FilesetProvider_type = Fileset Provider
+_UI_ZipStep_type = Zip Step
+_UI_UnzipStep_type = Unzip Step
+_UI_MoveStep_type = Move Step
+_UI_RenameStep_type = Rename Step
+_UI_DeleteStep_type = Delete Step
+_UI_CopyStep_type = Copy Step
+_UI_DownloadStep_type = Download Step
+_UI_CreateFolderStep_type = Create Folder Step
+_UI_FileStep_additionalParameters_feature = Additional Parameters
+_UI_FilesetProvider_filePaths_feature = File Paths
+_UI_FilesetProvider_dirPaths_feature = Dir Paths
+_UI_FilesetProvider_resultSteps_feature = Result Steps
+_UI_FilesetProvider_installSteps_feature = Install Steps
+_UI_ZipStep_baseDir_feature = Base Dir
+_UI_ZipStep_destinationFilePath_feature = Destination File Path
+_UI_UnzipStep_sourceFilePath_feature = Source File Path
+_UI_UnzipStep_destinationFolderPath_feature = Destination Folder Path
+_UI_MoveStep_destinationFolderPath_feature = Destination Folder Path
+_UI_RenameStep_sourcePath_feature = Source Path
+_UI_RenameStep_destinationPath_feature = Destination Path
+_UI_CopyStep_destinationFolderPath_feature = Destination Folder Path
+_UI_DownloadStep_sourceFilePath_feature = Source File Path
+_UI_DownloadStep_destinationFilePath_feature = Destination File Path
+_UI_CreateFolderStep_folderPath_feature = Folder Path
+_UI_KeyValue_type = Key Value
+_UI_KeyValue_key_feature = Key
+_UI_KeyValue_value_feature = Value
+_UI_EGFSystemProperty_type = EGF System Property
+_UI_AntParameter_type = Ant Parameter
+_UI_Item_renameItem_feature = Rename Item
+_UI_Step_renameStep_feature = Rename Step
+_UI_AggregateStep_renameAggregate_feature = Rename Aggregate
+_UI_InstallStep_renameInstall_feature = Rename Install
+_UI_Component_renameComponent_feature = Rename Component
+_UI_AggregateStep_id_feature = Id
+_UI_InstallStep_id_feature = Id
+_UI_Component_id_feature = Id
+_UI_Item_enabled_feature = Enabled
+_UI_ItemProperties_type = Item Properties
+_UI_ItemProperties_properties_feature = Properties
+_UI_Property_type_feature = Type
+_UI_PropertyType_RUNTIME_literal = RUNTIME
+_UI_PropertyType_INLINED_literal = INLINED
+_UI_ReuseStep_type = Reuse Step
+_UI_ReuseStep_reusedStep_feature = Reused Step
+_UI_PropertyPackage_type = Property Package
+_UI_ItemProperties_propertyPackages_feature = Property Packages
+_UI_PropertyPackage_name_feature = Name
+_UI_PropertyPackage_description_feature = Description
+_UI_PropertyPackage_properties_feature = Properties
+_UI_GIT_type = GIT
+_UI_GITLocation_type = GIT Location
+_UI_GITBuildLocation_type = GIT Build Location
+_UI_GIT_locations_feature = Locations
+_UI_GITLocation_protocol_feature = Protocol
+_UI_GITLocation_url_feature = Url
+_UI_GITLocation_localPath_feature = Local Path
+_UI_GITLocation_username_feature = Username
+_UI_GITLocation_password_feature = Password
+_UI_GITBuildLocation_gitLocation_feature = Git Location
+_UI_GITBuildLocation_folderName_feature = Folder Name
+_UI_GITProtocol_HTTP_literal = http://
+_UI_GITProtocol_HTTPS_literal = https://
+_UI_GITProtocol_GIT_literal = git://
+_UI_GITProtocol_SSH_literal = ssh://
+_UI_AbstractBuildLocationContainer_type = Abstract Build Location Container
+_UI_BuildLocationContainer_type = Build Location Container
+_UI_AbstractBuildLocationContainer_buildLocations_feature = Build Locations
+_UI_BuildLocationContainer_name_feature = Name
+_UI_AbstractBuildLocation_type = Abstract Build Location
+_UI_PatternBuildLocation_type = Pattern Build Location
+_UI_PatternBuildLocation_pattern_feature = Pattern
+_UI_InstallStep_p2_os_feature = p2.os
+_UI_InstallStep_p2_ws_feature = p2.ws
+_UI_InstallStep_p2_arch_feature = p2.arch
+_UI_Deployment_type = Deployment
+_UI_User_type = User
+
+_UI_Deployment_assignedNodes_feature = Assigned Nodes
+_UI_Deployment_jobs_feature = Jobs
+_UI_Deployment_chains_feature = Chains
+_UI_Deployment_users_feature = Users
+_UI_User_login_feature = Login
+_UI_User_permission_feature = Permission
+_UI_PermissionType_READ_literal = READ
+_UI_PermissionType_EXECUTE_literal = EXECUTE
+_UI_PermissionType_WRITE_literal = WRITE
+_UI_BuilddeployEditor_menu = &Builddeploy Editor
+ _UI_BuilddeployModelWizard_label = EGF Build Deploy Model
+_UI_BuilddeployModelWizard_description = Create a new Builddeploy model
+ _UI_BuilddeployEditor_label = Builddeploy Model Editor
+ _UI_BuilddeployEditorFilenameDefaultBase = My
+_UI_BuilddeployEditorFilenameExtensions = egfdeploy
+
+_UI_Deployment_assignedNode_feature = Assigned Node
+_UI_Deployment_scm_feature = Scm
+_UI_DeploymentList_type = Deployment List
+_UI_DeploymentTarget_type = Deployment Target
+_UI_JobDeploymentTarget_type = Job Deployment Target
+_UI_ChainDeploymentTarget_type = Chain Deployment Target
+_UI_DeploymentList_deployments_feature = Deployments
+_UI_Deployment_target_feature = Target
+_UI_JobDeploymentTarget_job_feature = Job
+_UI_ChainDeploymentTarget_chain_feature = Chain
+_UI_DeploymentList_serverUrl_feature = Server Url
+_UI_Deployment_jobName_feature = Job Name
+_UI_Job_deployment_feature = Deployment
+_UI_SVNGenerationLocation_type = SVN Generation Location
+_UI_GitGenerationLocation_type = Git Generation Location
+_UI_HudsonDeployment_type = Hudson Deployment
+_UI_GenerationLocation_type = Generation Location
+_UI_SVNGenerationLocation_svnLocation_feature = Svn Location
+_UI_GitGenerationLocation_gitLocation_feature = Git Location
+_UI_HudsonDeployment_assignedNode_feature = Assigned Node
+_UI_HudsonDeployment_jdkName_feature = Jdk Name
+_UI_HudsonDeployment_antName_feature = Ant Name
+_UI_HudsonDeployment_users_feature = Users
+_UI_HudsonDeployment_triggers_feature = Triggers
+_UI_HudsonDeployment_generationLocation_feature = Generation Location
+_UI_GenerationLocation_folderName_feature = Folder Name
+_UI_GITGenerationLocation_type = GIT Generation Location
+_UI_GITGenerationLocation_gitLocation_feature = Git Location
+_UI_HudsonDeployment_buildId_feature = Build Id
+_UI_HudsonDeployment_enable_feature = Enable
+_UI_HudsonDeployment_enabled_feature = Enabled
+_UI_HudsonDeployment_userDeployServerUrl_feature = User Deploy Server Url
+_UI_HudsonDeployment_userDeployJobName_feature = User Deploy Job Name
+_UI_GITLocation_branch_feature = Branch
+_UI_TarStep_type = Tar Step
+_UI_TarStep_destfile_feature = Destfile
+_UI_TarStep_baseDir_feature = Base Dir
+_UI_TarStep_compression_feature = Compression
+_UI_CompressionMethod_none_literal = none
+_UI_CompressionMethod_gzip_literal = gzip
+_UI_CompressionMethod_bzip2_literal = bzip2
diff --git a/portfolio/org.eclipse.egf.portfolio.eclipse.build/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.eclipse.build/META-INF/MANIFEST.MF
index df64ded85..25fb06b56 100644
--- a/portfolio/org.eclipse.egf.portfolio.eclipse.build/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.eclipse.build/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.eclipse.build;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/portfolio/org.eclipse.egf.portfolio.eclipse.util/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.eclipse.util/META-INF/MANIFEST.MF
index 59db1f03c..5aafe27e9 100644
--- a/portfolio/org.eclipse.egf.portfolio.eclipse.util/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.eclipse.util/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.eclipse.util;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.util.Activator
Bundle-Vendor: %providerName
diff --git a/portfolio/org.eclipse.egf.portfolio.egf/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.egf/META-INF/MANIFEST.MF
index 39b5b2a41..88b7a6bb4 100644
--- a/portfolio/org.eclipse.egf.portfolio.egf/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.egf/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.egf;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-ClassPath: .
diff --git a/portfolio/org.eclipse.egf.portfolio.file.resources/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.file.resources/META-INF/MANIFEST.MF
index ca4d02030..5a096260f 100644
--- a/portfolio/org.eclipse.egf.portfolio.file.resources/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.file.resources/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.file.resources;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.portfolio.file.resources.EGFFileResourcesActivator
Bundle-Vendor: %providerName
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.cdo.model.edit/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.genchain.cdo.model.edit/META-INF/MANIFEST.MF
index 09f31f2a4..515b91a98 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.cdo.model.edit/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.cdo.model.edit/META-INF/MANIFEST.MF
@@ -13,7 +13,7 @@ Bundle-ActivationPolicy: lazy
Bundle-Vendor: %providerName
Export-Package: org.eclipse.egf.portfolio.genchain.cdo.cdoExtension.provider
Bundle-Name: %pluginName
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-Activator: org.eclipse.egf.portfolio.genchain.cdo.cdoExtension.provider.CdoExtensionEditPlugin$Implementation
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.cdo.model/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.genchain.cdo.model/META-INF/MANIFEST.MF
index 41e3f0594..752bc1ea1 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.cdo.model/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.cdo.model/META-INF/MANIFEST.MF
@@ -13,7 +13,7 @@ Export-Package: org.eclipse.egf.portfolio.genchain.cdo.cdoExtension,
org.eclipse.egf.portfolio.genchain.cdo.cdoExtension.impl,
org.eclipse.egf.portfolio.genchain.cdo.cdoExtension.util
Bundle-Name: %pluginName
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-Activator: org.eclipse.egf.portfolio.genchain.cdo.cdoExtension.CdoExtensionModelPlugin$Implementation
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.cdo/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.genchain.cdo/META-INF/MANIFEST.MF
index a2b26b4b2..95a474535 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.cdo/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.cdo/META-INF/MANIFEST.MF
@@ -13,7 +13,7 @@ Bundle-Vendor: %providerName
Export-Package: org.eclipse.egf.portfolio.genchain.cdo,
org.eclipse.egf.portfolio.genchain.cdo.patterns
Bundle-Name: %pluginName
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Localization: plugin
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.portfolio.genchain.cdo.Activator
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.ecoretools.edit/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.genchain.ecoretools.edit/META-INF/MANIFEST.MF
index 39ccdf74b..6e8dc83d3 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.ecoretools.edit/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.ecoretools.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.genchain.ecoretools.edit;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.portfolio.genchain.ecoretools.ecoreToolsExtension.provider.EcoreToolsExtensionEditPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.ecoretools/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.genchain.ecoretools/META-INF/MANIFEST.MF
index 177f1d0c8..1c3917f59 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.ecoretools/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.ecoretools/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.portfolio.genchain.ecoretools;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Require-Bundle: org.eclipse.egf.portfolio.genchain.tools,
org.eclipse.egf.portfolio.genchain.tools.ui,
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.edit/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.genchain.edit/META-INF/MANIFEST.MF
index 21bbef428..a0e931796 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.edit/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.genchain.edit;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.portfolio.genchain.generationChain.provider.GenerationChainEditPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.editor/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.genchain.editor/META-INF/MANIFEST.MF
index 239726af3..91ba4a053 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.editor/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.genchain.editor;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.portfolio.genchain.generationChain.presentation.GenerationChainEditorPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.tools.ui/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.genchain.tools.ui/META-INF/MANIFEST.MF
index de3911f04..902ed4ff7 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.tools.ui/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.tools.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-SymbolicName: org.eclipse.egf.portfolio.genchain.tools.ui;singleton:=true
Bundle-Activator: org.eclipse.egf.portfolio.genchain.tools.ui.Activator
Require-Bundle: org.eclipse.ui,
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.tools/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.genchain.tools/META-INF/MANIFEST.MF
index cffec19a8..6a22a3da2 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.tools/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.tools/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.portfolio.genchain.tools;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.portfolio.genchain.tools.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.egf.model;visibility:=reexport,
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.genchain/META-INF/MANIFEST.MF
index a8a2c46d3..d1b2c7f07 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.genchain/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.genchain;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/portfolio/org.eclipse.egf.portfolio.task.acceleo3.ui/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.task.acceleo3.ui/META-INF/MANIFEST.MF
index 05c5dbab0..d0898e6e1 100644
--- a/portfolio/org.eclipse.egf.portfolio.task.acceleo3.ui/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.task.acceleo3.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.task.acceleo3.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.portfolio.task.acceleo3.ui.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/portfolio/org.eclipse.egf.portfolio.task.acceleo3/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.task.acceleo3/META-INF/MANIFEST.MF
index d131b2e6c..42dcff132 100644
--- a/portfolio/org.eclipse.egf.portfolio.task.acceleo3/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.task.acceleo3/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.task.acceleo3;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.portfolio.task.acceleo3.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.core.resources,
diff --git a/portfolio/org.eclipse.egf.portfolio.task.ant.ui/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.task.ant.ui/META-INF/MANIFEST.MF
index 9b64080ac..2080b0389 100644
--- a/portfolio/org.eclipse.egf.portfolio.task.ant.ui/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.task.ant.ui/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.portfolio.task.ant.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.portfolio.task.ant.ui.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/portfolio/org.eclipse.egf.portfolio.task.ant/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.task.ant/META-INF/MANIFEST.MF
index a748e5155..e74124646 100644
--- a/portfolio/org.eclipse.egf.portfolio.task.ant/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.task.ant/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-SymbolicName: org.eclipse.egf.portfolio.task.ant;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.portfolio.task.ant.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.egf.model.ftask,
diff --git a/portfolio/org.eclipse.egf.portfolio.task.atl.ui/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.task.atl.ui/META-INF/MANIFEST.MF
index 2c31b7a90..78067c360 100644
--- a/portfolio/org.eclipse.egf.portfolio.task.atl.ui/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.task.atl.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.task.atl.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.portfolio.task.atl.ui.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/portfolio/org.eclipse.egf.portfolio.task.atl/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.task.atl/META-INF/MANIFEST.MF
index a451891e5..c898a64a4 100644
--- a/portfolio/org.eclipse.egf.portfolio.task.atl/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.task.atl/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.task.atl;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.portfolio.task.atl.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.egf.producer.ftask,
diff --git a/portfolio/org.eclipse.egf.portfolio.task.jet.ui/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.task.jet.ui/META-INF/MANIFEST.MF
index e6df1df2e..e40f960c7 100644
--- a/portfolio/org.eclipse.egf.portfolio.task.jet.ui/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.task.jet.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.task.jet.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.portfolio.task.jet.ui.Activator
Require-Bundle: org.eclipse.egf.task.ui
Bundle-ActivationPolicy: lazy
diff --git a/portfolio/org.eclipse.egf.portfolio.task.jet/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.task.jet/META-INF/MANIFEST.MF
index 7c3c178e7..bdcfa695b 100644
--- a/portfolio/org.eclipse.egf.portfolio.task.jet/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.task.jet/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.task.jet;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Activator: org.eclipse.egf.portfolio.task.jet.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/portfolio/org.eclipse.egf.portfolio.type/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.portfolio.type/META-INF/MANIFEST.MF
index e0f756fd8..216756320 100644
--- a/portfolio/org.eclipse.egf.portfolio.type/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.portfolio.type/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.type;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.portfolio.type.Activator
Bundle-Vendor: %providerName
diff --git a/portfolio/pom.xml b/portfolio/pom.xml
index 06845eef5..ac98da291 100644
--- a/portfolio/pom.xml
+++ b/portfolio/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
</project>
diff --git a/releng/org.eclipse.egf.core.updatesite/pom.xml b/releng/org.eclipse.egf.core.updatesite/pom.xml
index 9166dc0e0..5509d4e21 100644
--- a/releng/org.eclipse.egf.core.updatesite/pom.xml
+++ b/releng/org.eclipse.egf.core.updatesite/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<build>
diff --git a/releng/org.eclipse.egf.product/META-INF/MANIFEST.MF b/releng/org.eclipse.egf.product/META-INF/MANIFEST.MF
index 00500dd7f..0457072cd 100644
--- a/releng/org.eclipse.egf.product/META-INF/MANIFEST.MF
+++ b/releng/org.eclipse.egf.product/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.product;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/releng/org.eclipse.egf.product/egf.product b/releng/org.eclipse.egf.product/egf.product
index 23b523107..8477bcef6 100644
--- a/releng/org.eclipse.egf.product/egf.product
+++ b/releng/org.eclipse.egf.product/egf.product
@@ -11,9 +11,7 @@
Contributors:
Thales - initial API and implementation
-->
-
-
-<product name="org.eclipse.egf.product" uid="org.eclipse.egf.product" id="org.eclipse.sdk.ide" version="1.6.1.qualifier" useFeatures="true" includeLaunchers="true">
+<product name="org.eclipse.egf.product" uid="org.eclipse.egf.product" id="org.eclipse.sdk.ide" version="1.6.2.qualifier" useFeatures="true" includeLaunchers="true">
<configIni use="default">
</configIni>
@@ -59,16 +57,13 @@
<feature id="org.eclipse.jdt"/>
<feature id="org.eclipse.pde"/>
<feature id="org.eclipse.platform"/>
- <feature id="org.eclipse.ecf.filetransfer.httpclient4.feature"/>
<feature id="org.eclipse.help"/>
<feature id="org.eclipse.equinox.p2.core.feature"/>
<feature id="org.eclipse.ecf.core.ssl.feature"/>
- <feature id="org.eclipse.ecf.filetransfer.ssl.feature"/>
<feature id="org.eclipse.egf.model.ftask.edit.feature"/>
<feature id="org.eclipse.rcp"/>
<feature id="org.eclipse.equinox.p2.rcp.feature"/>
<feature id="org.eclipse.ecf.filetransfer.feature"/>
- <feature id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature"/>
<feature id="org.eclipse.equinox.p2.user.ui"/>
<feature id="org.eclipse.equinox.p2.extras.feature"/>
<feature id="org.eclipse.ecf.core.feature"/>
diff --git a/releng/org.eclipse.egf.product/pom.xml b/releng/org.eclipse.egf.product/pom.xml
index 7679ea770..30ff96d97 100644
--- a/releng/org.eclipse.egf.product/pom.xml
+++ b/releng/org.eclipse.egf.product/pom.xml
@@ -20,7 +20,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
diff --git a/releng/org.eclipse.egf.releng2/META-INF/MANIFEST.MF b/releng/org.eclipse.egf.releng2/META-INF/MANIFEST.MF
index 5141a9385..0939927d9 100644
--- a/releng/org.eclipse.egf.releng2/META-INF/MANIFEST.MF
+++ b/releng/org.eclipse.egf.releng2/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-SymbolicName: org.eclipse.egf.releng2;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Require-Bundle: org.eclipse.egf.portfolio.eclipse.build,
org.eclipse.egf.pattern;visibility:=reexport,
diff --git a/releng/org.eclipse.egf.targets/core-2019-12.target b/releng/org.eclipse.egf.targets/core-2019-12.target
new file mode 100644
index 000000000..a7504ca8d
--- /dev/null
+++ b/releng/org.eclipse.egf.targets/core-2019-12.target
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="core" sequenceNumber="1574682820">
+ <locations>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.eclipse.emf.workspace.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.transaction.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.query.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.validation.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.sdk.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.m2m.atl.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.uml2.uml.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.sirius.runtime.ide.eef.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.sirius.runtime.ide.ui.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.sirius.runtime.ide.xtext.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.sirius.runtime.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.sirius.runtime.aql.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.ecoretools.sdk.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.ecoretools.design.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+ <repository id="eclipse" location="https://download.eclipse.org/releases/2019-12/"/>
+ </location>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.eclipse.license.feature.group" version="0.0.0"/>
+ <repository location="https://download.eclipse.org/cbi/updates/license/"/>
+ </location>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.eclipse.acceleo.sdk.feature.group" version="0.0.0"/>
+ <repository id="acceleo" location="https://download.eclipse.org/acceleo/updates/releases/3.7/R201705121344/"/>
+ </location>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.eclipse.amalgam.explorer.activity.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.amalgam.explorer.activity.source.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.amalgam.explorer.contextual.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.amalgam.explorer.contextual.source.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.amalgam.explorer.contextual.sirius.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.amalgam.explorer.contextual.sirius.source.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.amalgam.explorer.contextual.core.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.amalgam.explorer.contextual.core.source.feature.group" version="0.0.0"/>
+ <repository id="amalgam" location="https://download.eclipse.org/modeling/amalgam/staging/nightly/1.11.0-N133/capella"/>
+ </location>
+ </locations>
+</target>
diff --git a/releng/org.eclipse.egf.targets/core-2019-12.targetplatform b/releng/org.eclipse.egf.targets/core-2019-12.targetplatform
new file mode 100644
index 000000000..1be478420
--- /dev/null
+++ b/releng/org.eclipse.egf.targets/core-2019-12.targetplatform
@@ -0,0 +1,43 @@
+target "core" with source, requirements
+
+
+location eclipse "https://download.eclipse.org/releases/2019-12/" {
+ org.eclipse.emf.workspace.feature.group lazy
+ org.eclipse.emf.transaction.feature.group lazy
+ org.eclipse.emf.query.feature.group lazy
+ org.eclipse.emf.validation.feature.group lazy
+ org.eclipse.sdk.feature.group lazy
+ org.eclipse.jdt.feature.group lazy
+ org.eclipse.pde.feature.group lazy
+ org.eclipse.platform.feature.group lazy
+ org.eclipse.m2m.atl.feature.group lazy
+ org.eclipse.uml2.uml.feature.group lazy
+ org.eclipse.equinox.executable.feature.group lazy
+ org.eclipse.sirius.runtime.ide.eef.feature.group lazy
+ org.eclipse.sirius.runtime.ide.ui.feature.group lazy
+ org.eclipse.sirius.runtime.ide.xtext.feature.group lazy
+ org.eclipse.sirius.runtime.feature.group lazy
+ org.eclipse.sirius.runtime.aql.feature.group lazy
+ org.eclipse.emf.ecoretools.sdk.feature.group lazy
+ org.eclipse.emf.ecoretools.design.feature.group lazy
+ org.eclipse.emf.sdk.feature.group lazy
+}
+
+location "https://download.eclipse.org/cbi/updates/license/" {
+ org.eclipse.license.feature.group lazy
+}
+
+location acceleo "https://download.eclipse.org/acceleo/updates/releases/3.7/R201705121344/" {
+ org.eclipse.acceleo.sdk.feature.group lazy
+}
+
+location amalgam "https://download.eclipse.org/modeling/amalgam/staging/nightly/1.11.0-N133/capella" {
+ org.eclipse.amalgam.explorer.activity.feature.group lazy
+ org.eclipse.amalgam.explorer.activity.source.feature.group lazy
+ org.eclipse.amalgam.explorer.contextual.feature.group lazy
+ org.eclipse.amalgam.explorer.contextual.source.feature.group lazy
+ org.eclipse.amalgam.explorer.contextual.sirius.feature.group lazy
+ org.eclipse.amalgam.explorer.contextual.sirius.source.feature.group lazy
+ org.eclipse.amalgam.explorer.contextual.core.feature.group lazy
+ org.eclipse.amalgam.explorer.contextual.core.source.feature.group lazy
+}
diff --git a/releng/org.eclipse.egf.targets/pom.xml b/releng/org.eclipse.egf.targets/pom.xml
index 9f13a1cfd..3652fbb62 100644
--- a/releng/org.eclipse.egf.targets/pom.xml
+++ b/releng/org.eclipse.egf.targets/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
</project> \ No newline at end of file
diff --git a/tests/org.eclipse.egf.core.test.model.edit/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.core.test.model.edit/META-INF/MANIFEST.MF
index 601031943..d01be3924 100644
--- a/tests/org.eclipse.egf.core.test.model.edit/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.core.test.model.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.core.test.model.edit;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: test.provider.TestEditPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/tests/org.eclipse.egf.core.test.model.editor/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.core.test.model.editor/META-INF/MANIFEST.MF
index 783db73de..839625505 100644
--- a/tests/org.eclipse.egf.core.test.model.editor/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.core.test.model.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.core.test.model.editor;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: test.presentation.TestEditorPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/tests/org.eclipse.egf.core.test.model/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.core.test.model/META-INF/MANIFEST.MF
index 3a72f9335..528af437e 100644
--- a/tests/org.eclipse.egf.core.test.model/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.core.test.model/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.core.test.model;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/tests/org.eclipse.egf.core.test.pattern/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.core.test.pattern/META-INF/MANIFEST.MF
index 1e642fe7f..140f14900 100644
--- a/tests/org.eclipse.egf.core.test.pattern/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.core.test.pattern/META-INF/MANIFEST.MF
@@ -37,7 +37,7 @@ Export-Package: base,
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.egf.core.test.pattern;singleton:=true
Bundle-Name: Pattern
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Require-Bundle: org.eclipse.egf.pattern;visibility:=reexport,
org.eclipse.egf.pattern.ftask;visibility:=reexport
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/tests/org.eclipse.egf.core.test/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.core.test/META-INF/MANIFEST.MF
index 1b2c9f17c..890da83b7 100644
--- a/tests/org.eclipse.egf.core.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.core.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.core.test;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.egf.core.test.EGFCoreTestPlugin
Bundle-Vendor: %providerName
diff --git a/tests/org.eclipse.egf.core.test/pom.xml b/tests/org.eclipse.egf.core.test/pom.xml
index 84402b42f..9a954fcea 100644
--- a/tests/org.eclipse.egf.core.test/pom.xml
+++ b/tests/org.eclipse.egf.core.test/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
diff --git a/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF
index 5326d2c61..d0a8dfcd9 100644
--- a/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.fcs/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.example.fcs;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h2/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h2/META-INF/MANIFEST.MF
index 541764529..9e571075f 100644
--- a/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h2/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h2/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.example.task.h2;singleton:=true
Bundle-Activator: org.eclipse.egf.example.task.h2.Activator
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-ClassPath: .
diff --git a/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h3/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h3/META-INF/MANIFEST.MF
index 64709f765..378531c61 100644
--- a/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h3/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h3/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.example.task.h3;singleton:=true
Bundle-Activator: org.eclipse.egf.example.task.h3.Activator
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-ClassPath: .
diff --git a/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h4/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h4/META-INF/MANIFEST.MF
index f412da211..dc9e194aa 100644
--- a/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h4/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.example.task.h4/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.example.task.h4;singleton:=true
Bundle-Activator: org.eclipse.egf.example.task.h4.Activator
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF
index 4782cc971..bf6685ba3 100644
--- a/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.core.test/resources/org.eclipse.egf.usecase.pattern.uc1/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.usecase.pattern.uc1;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/tests/org.eclipse.egf.portfolio.task.ant.test/META-INF/MANIFEST.MF b/tests/org.eclipse.egf.portfolio.task.ant.test/META-INF/MANIFEST.MF
index 0538b5e6d..f9c36417f 100644
--- a/tests/org.eclipse.egf.portfolio.task.ant.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.egf.portfolio.task.ant.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.portfolio.task.ant.test;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Require-Bundle: org.eclipse.egf.portfolio.task.ant,
org.junit,
org.eclipse.core.runtime,
diff --git a/tests/org.eclipse.emf.egf.core.test.rcptt/pom.xml b/tests/org.eclipse.emf.egf.core.test.rcptt/pom.xml
index ca929706d..768b8bd61 100644
--- a/tests/org.eclipse.emf.egf.core.test.rcptt/pom.xml
+++ b/tests/org.eclipse.emf.egf.core.test.rcptt/pom.xml
@@ -15,7 +15,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
diff --git a/tests/pom.xml b/tests/pom.xml
index 5e360106e..10fe24f69 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.eclipse.egf</groupId>
<artifactId>egf_root</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>1.6.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
</project>
diff --git a/tools/org.eclipse.egf.emf.pattern.codegen.ui/META-INF/MANIFEST.MF b/tools/org.eclipse.egf.emf.pattern.codegen.ui/META-INF/MANIFEST.MF
index a8938db08..a8e4f9f52 100644
--- a/tools/org.eclipse.egf.emf.pattern.codegen.ui/META-INF/MANIFEST.MF
+++ b/tools/org.eclipse.egf.emf.pattern.codegen.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.pattern.codegen.ui;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/tools/org.eclipse.egf.emf.pattern.codegen/META-INF/MANIFEST.MF b/tools/org.eclipse.egf.emf.pattern.codegen/META-INF/MANIFEST.MF
index 32bf0de0f..7e27c5f8d 100644
--- a/tools/org.eclipse.egf.emf.pattern.codegen/META-INF/MANIFEST.MF
+++ b/tools/org.eclipse.egf.emf.pattern.codegen/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.egf.emf.pattern.codegen;singleton:=true
-Bundle-Version: 1.6.1.qualifier
+Bundle-Version: 1.6.2.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin

Back to the top