Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorptessier2014-02-14 10:33:01 +0000
committerptessier2014-02-14 10:33:01 +0000
commit04c5fec83b05796ed9d4d2de8f9397450caece62 (patch)
treed19fee0740e6594042bea22cb058a66af81a27ca /plugins/facet
parent60f47747e04d732eb5d8b446a792cf86161db977 (diff)
downloadorg.eclipse.papyrus-04c5fec83b05796ed9d4d2de8f9397450caece62.tar.gz
org.eclipse.papyrus-04c5fec83b05796ed9d4d2de8f9397450caece62.tar.xz
org.eclipse.papyrus-04c5fec83b05796ed9d4d2de8f9397450caece62.zip
386118: [EMF Facet] Papyrus should progressively support EMF Facet 0.2
https://bugs.eclipse.org/bugs/show_bug.cgi?id=386118
Diffstat (limited to 'plugins/facet')
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.custom.doc/.project2
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.custom.doc/META-INF/MANIFEST.MF2
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor.doc/.project2
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor.doc/META-INF/MANIFEST.MF2
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor/.project2
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor/META-INF/MANIFEST.MF10
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.custom.sdk.ui/.project2
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.custom.sdk.ui/META-INF/MANIFEST.MF9
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.doc/.project2
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.doc/META-INF/MANIFEST.MF6
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.efacet.sdk.ui/.project2
-rw-r--r--plugins/facet/editor/org.eclipse.emf.facet.efacet.sdk.ui/META-INF/MANIFEST.MF6
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.custom.metamodel.edit/META-INF/MANIFEST.MF4
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.custom.metamodel/META-INF/MANIFEST.MF2
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.custom.ui/plugin.xml2
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.catalog/META-INF/MANIFEST.MF4
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/META-INF/MANIFEST.MF6
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/plugin.xml2
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.classpath7
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.project34
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/.api_filters127
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/org.eclipse.jdt.core.prefs77
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/META-INF/MANIFEST.MF27
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/OSGI-INF/l10n/bundle.properties13
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/about.html28
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/build.properties24
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet-0.2.0.ecore280
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet-0.2.0.genmodel150
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-all.pngbin0 -> 139565 bytes
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-facet.ecorediag492
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-query.ecorediag356
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-result.ecorediag274
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-serialization.ecorediag406
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2.ecorediag891
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2.pngbin0 -> 112271 bytes
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacetcatalog-0.2.0.ecore11
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacetcatalog-0.2.0.genmodel16
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/plugin.properties17
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/plugin.xml40
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/Category.java34
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/DerivedTypedElement.java92
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/DocumentedElement.java62
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/EFacetFactory.java119
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/EFacetPackage.java1896
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/Facet.java153
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetAttribute.java34
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetElement.java57
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetOperation.java34
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetReference.java34
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetSet.java63
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/ParameterValue.java94
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/ExtensibleFactory.java46
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/ExtensiblePackage.java191
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/Query.java98
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/ExtensibleFactoryImpl.java95
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/ExtensiblePackageImpl.java225
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/QueryImpl.java249
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/util/ExtensibleAdapterFactory.java131
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/util/ExtensibleSwitch.java143
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/CategoryImpl.java205
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/DerivedTypedElementImpl.java244
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/DocumentedElementImpl.java172
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/EFacetFactoryImpl.java242
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/EFacetPackageImpl.java669
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetAttributeImpl.java414
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetElementImpl.java245
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetImpl.java490
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetOperationImpl.java414
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetReferenceImpl.java414
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetSetImpl.java318
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/ParameterValueImpl.java234
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/EObjectLiteralQuery.java73
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/FalseLiteralQuery.java38
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/FloatLiteralQuery.java71
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/IntegerLiteralQuery.java71
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/IsOneOfQuery.java61
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/NavigationQuery.java87
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/NullLiteralQuery.java39
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/OperationCallQuery.java93
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/QueryFactory.java146
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/QueryPackage.java967
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/StringLiteralQuery.java65
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/TrueLiteralQuery.java38
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/EObjectLiteralQueryImpl.java178
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/FalseLiteralQueryImpl.java55
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/FloatLiteralQueryImpl.java184
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/IntegerLiteralQueryImpl.java184
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/IsOneOfQueryImpl.java144
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/NavigationQueryImpl.java212
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/NullLiteralQueryImpl.java55
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/OperationCallQueryImpl.java239
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/QueryFactoryImpl.java213
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/QueryPackageImpl.java504
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/StringLiteralQueryImpl.java175
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/TrueLiteralQueryImpl.java56
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/util/QueryAdapterFactory.java319
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/util/QuerySwitch.java363
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementEObjectListResult.java62
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementEObjectResult.java71
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementPrimitiveTypeListResult.java61
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementPrimitiveTypeResult.java70
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementResult.java143
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/RuntimeFactory.java88
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/RuntimePackage.java696
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementEObjectListResultImpl.java146
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementEObjectResultImpl.java172
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementPrimitiveTypeListResultImpl.java161
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementPrimitiveTypeResultImpl.java167
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementResultImpl.java356
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/RuntimeFactoryImpl.java197
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/RuntimePackageImpl.java421
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/util/RuntimeAdapterFactory.java212
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/util/RuntimeSwitch.java236
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/AbstractAttributeInstance.java63
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/AbstractReferenceInstance.java63
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/ExtendedEObjectReference.java97
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedAttributeInstance.java52
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedContainmentReferenceInstance.java53
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedReferenceInstance.java53
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SerializationFactory.java127
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SerializationPackage.java809
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedAttributeInstance.java61
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedContainmentReferenceInstance.java62
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedReferenceInstance.java62
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/AbstractAttributeInstanceImpl.java166
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/AbstractReferenceInstanceImpl.java166
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/ExtendedEObjectReferenceImpl.java259
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedAttributeInstanceImpl.java156
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedContainmentReferenceInstanceImpl.java158
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedReferenceInstanceImpl.java141
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SerializationFactoryImpl.java203
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SerializationPackageImpl.java497
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedAttributeInstanceImpl.java171
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedContainmentReferenceInstanceImpl.java184
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedReferenceInstanceImpl.java165
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/util/SerializationAdapterFactory.java283
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/util/SerializationSwitch.java325
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/util/EFacetAdapterFactory.java474
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/util/EFacetSwitch.java529
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/EfacetcatalogFactory.java56
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/EfacetcatalogPackage.java154
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/FacetSetCatalog.java41
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/EfacetcatalogFactoryImpl.java109
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/EfacetcatalogPackageImpl.java192
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/FacetSetCatalogImpl.java214
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/util/EfacetcatalogAdapterFactory.java154
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/util/EfacetcatalogSwitch.java158
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.checkstyle21
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.classpath7
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.project40
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.settings/org.eclipse.core.resources.prefs14
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.settings/org.eclipse.jdt.core.prefs74
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/META-INF/MANIFEST.MF15
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/OSGI-INF/l10n/bundle.properties14
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/about.html28
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/build.properties22
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.ecore188
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.ecorediag624
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.genmodel72
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/plugin.xml27
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Category.java31
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/EFacetFactory.java205
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/EFacetPackage.java3848
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Facet.java161
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetAttribute.java36
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetElement.java126
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetOperation.java36
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetReference.java36
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetSet.java110
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Literal.java70
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/OppositeReference.java72
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Parameter.java36
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/ParameterValue.java93
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Query.java155
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryContext.java83
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryFacetElement.java71
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryResult.java213
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QuerySet.java89
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/TypedElementRef.java72
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/CategoryImpl.java59
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/EFacetFactoryImpl.java346
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/EFacetPackageImpl.java1109
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetAttributeImpl.java500
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetElementImpl.java362
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetImpl.java451
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetOperationImpl.java500
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetReferenceImpl.java500
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetSetImpl.java318
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/LiteralImpl.java201
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/OppositeReferenceImpl.java194
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/ParameterImpl.java59
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/ParameterValueImpl.java260
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryContextImpl.java225
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryFacetElementImpl.java220
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryImpl.java402
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryResultImpl.java548
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QuerySetImpl.java267
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/TypedElementRefImpl.java194
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/plugin/Activator.java69
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/util/EFacetAdapterFactory.java659
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/util/EFacetSwitch.java670
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.query.java.core/META-INF/MANIFEST.MF4
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.query.java.core/plugin.xml2
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.query.java.metamodel/META-INF/MANIFEST.MF4
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.query.java/META-INF/MANIFEST.MF4
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.core/META-INF/MANIFEST.MF4
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.core/plugin.xml2
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.ui/META-INF/MANIFEST.MF2
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.checkstyle19
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.classpath7
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.pmd7
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.project46
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/META-INF/MANIFEST.MF17
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/about.html28
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/build.properties16
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/resources/Activator.java.template45
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/resources/MANIFEST.MF.template11
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/Activator.java50
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/BuildPropertiesUtils.java146
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/PluginUtils.java605
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exception/PdeCoreUtilsRuntimeException.java33
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/BuildPropertiesUtils.java37
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/PluginUtils.java73
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/TargetPlatformUtils.java576
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/exception/PdeCoreUtilsException.java33
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/exception/ReflexiveDiscouragedAccessException.java33
228 files changed, 42162 insertions, 49 deletions
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.custom.doc/.project b/plugins/facet/editor/org.eclipse.emf.facet.custom.doc/.project
index 94db7adef73..3f30cbe9422 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.custom.doc/.project
+++ b/plugins/facet/editor/org.eclipse.emf.facet.custom.doc/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.eclipse.emf.facet.custom.doc</name>
+ <name>org.eclipse.papyrus.emf.facet.custom.doc</name>
<comment></comment>
<projects>
</projects>
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.custom.doc/META-INF/MANIFEST.MF b/plugins/facet/editor/org.eclipse.emf.facet.custom.doc/META-INF/MANIFEST.MF
index 6e4a7e834c9..69a3a4b1d55 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.custom.doc/META-INF/MANIFEST.MF
+++ b/plugins/facet/editor/org.eclipse.emf.facet.custom.doc/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-ActivationPolicy: lazy
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Built-By: hudsonbuild
-Bundle-SymbolicName: org.eclipse.emf.facet.custom.doc;singleton:=true
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.custom.doc;singleton:=true
Require-Bundle: org.eclipse.core.runtime
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor.doc/.project b/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor.doc/.project
index 8a3ea32073d..37a45cbabee 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor.doc/.project
+++ b/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor.doc/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.eclipse.emf.facet.custom.metamodel.editor.doc</name>
+ <name>org.eclipse.papyrus.emf.facet.custom.metamodel.editor.doc</name>
<comment></comment>
<projects>
</projects>
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor.doc/META-INF/MANIFEST.MF b/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor.doc/META-INF/MANIFEST.MF
index f135ac5235b..c3b55a8ffdc 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor.doc/META-INF/MANIFEST.MF
+++ b/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor.doc/META-INF/MANIFEST.MF
@@ -1,5 +1,5 @@
Bundle-ManifestVersion: 2
Bundle-Name: Doc
-Bundle-SymbolicName: org.eclipse.emf.facet.custom.metamodel.editor.doc;singleton:=true
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.custom.metamodel.editor.doc;singleton:=true
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.eclipse.help
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor/.project b/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor/.project
index a71564309f1..82f9bcd4a08 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor/.project
+++ b/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.eclipse.emf.facet.custom.metamodel.editor</name>
+ <name>org.eclipse.papyrus.emf.facet.custom.metamodel.editor</name>
<comment></comment>
<projects>
</projects>
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor/META-INF/MANIFEST.MF b/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor/META-INF/MANIFEST.MF
index 34a158f33da..4f8b046a099 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor/META-INF/MANIFEST.MF
+++ b/plugins/facet/editor/org.eclipse.emf.facet.custom.metamodel.editor/META-INF/MANIFEST.MF
@@ -2,8 +2,7 @@ Manifest-Version: 1.0
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Built-By: hudsonbuild
-Bundle-SymbolicName: org.eclipse.emf.facet.custom.metamodel.editor;sin
- gleton:=true
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.custom.metamodel.editor;singleton:=true
Bundle-Activator: org.eclipse.emf.facet.custom.metamodel.v0_2_0.custom.presentation.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.core.resources;visibility:=reexport,
@@ -15,14 +14,13 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.papyrus.emf.facet.util.core,
org.eclipse.papyrus.emf.facet.custom.core,
org.eclipse.emf.ecore.edit,
- org.eclipse.emf.facet.efacet.sdk.ui,
+ org.eclipse.papyrus.emf.facet.efacet.sdk.ui,
org.eclipse.papyrus.emf.facet.util.ui,
org.eclipse.jface,
- org.eclipse.emf.facet.custom.sdk.ui,
+ org.eclipse.papyrus.emf.facet.custom.sdk.ui,
org.eclipse.papyrus.emf.facet.custom.ui,
org.eclipse.papyrus.emf.facet.query.java.core,
- org.eclipse.papyrus.emf.facet.query.java.metamodel,
- org.eclipse.emf.facet.query.ocl.metamodel
+ org.eclipse.papyrus.emf.facet.query.java.metamodel
Bundle-Version: 0.4.0.201308190853
Bundle-ClassPath: .
Build-Jdk: 1.6.0_27
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.custom.sdk.ui/.project b/plugins/facet/editor/org.eclipse.emf.facet.custom.sdk.ui/.project
index 4ca0e0a0a79..e329e952c1d 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.custom.sdk.ui/.project
+++ b/plugins/facet/editor/org.eclipse.emf.facet.custom.sdk.ui/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.eclipse.emf.facet.custom.sdk.ui</name>
+ <name>org.eclipse.papyrus.emf.facet.custom.sdk.ui</name>
<comment></comment>
<projects>
</projects>
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.custom.sdk.ui/META-INF/MANIFEST.MF b/plugins/facet/editor/org.eclipse.emf.facet.custom.sdk.ui/META-INF/MANIFEST.MF
index f84c231e516..dafbb140e95 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.custom.sdk.ui/META-INF/MANIFEST.MF
+++ b/plugins/facet/editor/org.eclipse.emf.facet.custom.sdk.ui/META-INF/MANIFEST.MF
@@ -1,22 +1,21 @@
Manifest-Version: 1.0
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Built-By: hudsonbuild
-Bundle-SymbolicName: org.eclipse.emf.facet.custom.sdk.ui;singleton:=tr
- ue
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.custom.sdk.ui;singleton:=true
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.emf.facet.widgets.celleditors;bundle-version="0.2.0",
+ org.eclipse.papyrus.emf.facet.widgets.celleditors;bundle-version="0.2.0",
org.eclipse.papyrus.emf.facet.custom.ui;bundle-version="0.2.0",
org.eclipse.swt;bundle-version="3.6.0",
org.eclipse.emf.ecore;bundle-version="2.6.0",
org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="0.2.0",
org.eclipse.papyrus.emf.facet.util.core;bundle-version="0.2.0",
org.eclipse.core.resources;bundle-version="3.6.0",
- org.eclipse.emf.facet.custom.sdk.core;bundle-version="0.2.1",
+ org.eclipse.papyrus.emf.facet.custom.sdk.core;bundle-version="0.2.1",
org.eclipse.papyrus.emf.facet.util.emf.core;bundle-version="0.2.1",
org.eclipse.papyrus.emf.facet.util.ui;bundle-version="0.3.0",
org.eclipse.emf.facet.efacet.sdk.ui;bundle-version="0.2.0",
- org.eclipse.emf.facet.efacet.ui;bundle-version="0.2.1",
+ org.eclipse.papyrus.emf.facet.efacet.ui;bundle-version="0.2.1",
org.eclipse.papyrus.emf.facet.custom.core;bundle-version="0.2.1",
org.eclipse.papyrus.emf.facet.util.emf.ui;bundle-version="0.3.0",
org.eclipse.emf.edit;bundle-version="2.6.0",
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.doc/.project b/plugins/facet/editor/org.eclipse.emf.facet.doc/.project
index 7646e6c664b..c83ba113fcb 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.doc/.project
+++ b/plugins/facet/editor/org.eclipse.emf.facet.doc/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.eclipse.emf.facet.doc</name>
+ <name>org.eclipse.papyrus.emf.facet.doc</name>
<comment></comment>
<projects>
</projects>
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.doc/META-INF/MANIFEST.MF b/plugins/facet/editor/org.eclipse.emf.facet.doc/META-INF/MANIFEST.MF
index 7b1ebcd9445..ecee9bb56cc 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.doc/META-INF/MANIFEST.MF
+++ b/plugins/facet/editor/org.eclipse.emf.facet.doc/META-INF/MANIFEST.MF
@@ -4,10 +4,8 @@ Bundle-Vendor: %Bundle-Vendor
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Name: %Bundle-Name
Built-By: hudsonbuild
-Bundle-SymbolicName: org.eclipse.emf.facet.doc; singleton:=true
-Require-Bundle: org.apache.ant;bundle-version="1.7.1",org.eclipse.emf.
- facet.util.emf.doc;bundle-version="0.2.0",org.eclipse.emf.facet.widge
- ts.nattable.doc;bundle-version="0.2.0"
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.doc;singleton:=true
+Require-Bundle: org.apache.ant;bundle-version="1.7.1"
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Bundle-Version: 0.4.0.201308190853
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.efacet.sdk.ui/.project b/plugins/facet/editor/org.eclipse.emf.facet.efacet.sdk.ui/.project
index 7db82d26541..1ed48482396 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.efacet.sdk.ui/.project
+++ b/plugins/facet/editor/org.eclipse.emf.facet.efacet.sdk.ui/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.eclipse.emf.facet.efacet.sdk.ui</name>
+ <name>org.eclipse.papyrus.emf.facet.efacet.sdk.ui</name>
<comment></comment>
<projects>
</projects>
diff --git a/plugins/facet/editor/org.eclipse.emf.facet.efacet.sdk.ui/META-INF/MANIFEST.MF b/plugins/facet/editor/org.eclipse.emf.facet.efacet.sdk.ui/META-INF/MANIFEST.MF
index c84475cc1e6..210d6d80ec4 100644
--- a/plugins/facet/editor/org.eclipse.emf.facet.efacet.sdk.ui/META-INF/MANIFEST.MF
+++ b/plugins/facet/editor/org.eclipse.emf.facet.efacet.sdk.ui/META-INF/MANIFEST.MF
@@ -1,18 +1,14 @@
Manifest-Version: 1.0
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Built-By: hudsonbuild
-Bundle-SymbolicName: org.eclipse.emf.facet.efacet.sdk.ui;singleton:=tr
- ue
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.efacet.sdk.ui;singleton:=true
Bundle-Activator: org.eclipse.emf.facet.efacet.sdk.ui.internal.Activat
or
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.papyrus.emf.facet.util.emf.core;bundle-version="0.2.0",
- org.eclipse.emf.facet.efacet.editor;bundle-version="0.2.0",
org.eclipse.papyrus.emf.facet.custom.core;bundle-version="0.2.0",
org.eclipse.papyrus.emf.facet.custom.ui;bundle-version="0.2.0",
- org.eclipse.emf.facet.widgets.celleditors.ecore;bundle-version="0.2.0",
- org.eclipse.emf.facet.widgets.celleditors;bundle-version="0.2.0",
org.eclipse.papyrus.emf.facet.util.ui;bundle-version="0.3.0",
org.eclipse.papyrus.emf.facet.util.core;bundle-version="0.2.0",
org.eclipse.core.expressions;bundle-version="3.4.200",
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.custom.metamodel.edit/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.custom.metamodel.edit/META-INF/MANIFEST.MF
index dd545caf7cc..886ec8f88b6 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.custom.metamodel.edit/META-INF/MANIFEST.MF
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.custom.metamodel.edit/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.papyrus.emf.facet.custom.metamodel;visibility:=reexport,
org.eclipse.emf.edit,
- org.eclipse.emf.facet.efacet.metamodel;visibility:=reexport,
- org.eclipse.emf.facet.efacet.metamodel.edit;visibility:=reexport
+ org.eclipse.papyrus.emf.facet.efacet.metamodel;visibility:=reexport,
+ org.eclipse.papyrus.emf.facet.efacet.metamodel.edit;visibility:=reexport
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.facet.custom.metamodel.v0_2_0.custom.provider;x-internal:=true
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.custom.metamodel/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.custom.metamodel/META-INF/MANIFEST.MF
index 8266d2f0935..12aa0ecd49d 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.custom.metamodel/META-INF/MANIFEST.MF
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.custom.metamodel/META-INF/MANIFEST.MF
@@ -18,6 +18,6 @@ Export-Package:
org.eclipse.emf.facet.custom.metamodel.v0_3_0.query.util;x-internal:=true
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore,
- org.eclipse.emf.facet.efacet.metamodel;visibility:=reexport,
+ org.eclipse.papyrus.emf.facet.efacet.metamodel;visibility:=reexport,
org.eclipse.papyrus.emf.facet.util.emf.catalog;bundle-version="0.2.0"
Bundle-ActivationPolicy: lazy
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.custom.ui/plugin.xml b/plugins/facet/org.eclipse.papyrus.emf.facet.custom.ui/plugin.xml
index 35074e8c8f0..7bf1b6a5785 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.custom.ui/plugin.xml
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.custom.ui/plugin.xml
@@ -29,7 +29,7 @@ Contributors:
</view>
</extension>
<extension
- point="org.eclipse.emf.facet.efacet.core.queryImplementationRegistration">
+ point="org.eclipse.papyrus.emf.facet.efacet.core.queryImplementationRegistration">
<queryImplementationRegistration
class="org.eclipse.emf.facet.custom.ui.internal.query.URIImageQueryImplementationFactory">
</queryImplementationRegistration>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.catalog/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.catalog/META-INF/MANIFEST.MF
index bab0de2b63e..c33af885fe8 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.catalog/META-INF/MANIFEST.MF
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.catalog/META-INF/MANIFEST.MF
@@ -9,8 +9,8 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore,
org.eclipse.papyrus.emf.facet.util.emf.catalog,
- org.eclipse.emf.facet.efacet,
- org.eclipse.emf.facet.efacet.metamodel;bundle-version="0.2.0"
+ org.eclipse.papyrus.emf.facet.efacet,
+ org.eclipse.papyrus.emf.facet.efacet.metamodel;bundle-version="0.2.0"
Bundle-ActivationPolicy: lazy
Bundle-Activator: org.eclipse.emf.facet.efacet.catalog.plugin.Activator
Export-Package: org.eclipse.emf.facet.efacet.catalog.efacetcatalog
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/META-INF/MANIFEST.MF
index 23efb85ec1d..24ba61baead 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/META-INF/MANIFEST.MF
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/META-INF/MANIFEST.MF
@@ -10,11 +10,11 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="3.6.0",
org.eclipse.papyrus.emf.facet.util.emf.core;bundle-version="0.1.0";visibility:=reexport,
org.eclipse.papyrus.emf.facet.util.core;bundle-version="0.1.0",
org.eclipse.emf.edit;bundle-version="2.6.0",
- org.eclipse.emf.facet.efacet.metamodel;bundle-version="0.2.0",
+ org.eclipse.papyrus.emf.facet.efacet.metamodel;bundle-version="0.2.0",
org.eclipse.core.resources;bundle-version="3.6.0",
- org.eclipse.emf.facet.efacet;bundle-version="0.2.0";visibility:=reexport,
+ org.eclipse.papyrus.emf.facet.efacet;bundle-version="0.2.0";visibility:=reexport,
org.eclipse.papyrus.emf.facet.util.emf.ui;bundle-version="0.3.0",
- org.eclipse.emf.facet.util.pde.core;bundle-version="0.4.0"
+ org.eclipse.papyrus.emf.facet.util.pde.core;bundle-version="0.4.0"
Bundle-ActivationPolicy: lazy
Bundle-Vendor: %Bundle-Vendor
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/plugin.xml b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/plugin.xml
index 53778bd8fa7..62cef79c13b 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/plugin.xml
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/plugin.xml
@@ -30,7 +30,7 @@
<catalog class="org.eclipse.emf.facet.efacet.core.internal.catalog.EFacetCatalogManager2"/>
</extension>
- <extension point="org.eclipse.emf.facet.efacet.core.queryImplementationRegistration">
+ <extension point="org.eclipse.papyrus.emf.facet.efacet.core.queryImplementationRegistration">
<queryImplementationRegistration class="org.eclipse.emf.facet.efacet.core.internal.query.NavigationQueryImplementationFactory"/>
<queryImplementationRegistration class="org.eclipse.emf.facet.efacet.core.internal.query.IsOneOfQueryImplementationFactory"/>
<queryImplementationRegistration class="org.eclipse.emf.facet.efacet.core.internal.query.StringLiteralQueryImplementationFactory"/>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.classpath b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.classpath
new file mode 100644
index 00000000000..45f024e850e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.project b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.project
new file mode 100644
index 00000000000..50ef1b0085f
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.emf.facet.efacet.metamodel</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/.api_filters b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/.api_filters
new file mode 100644
index 00000000000..9b5075195d9
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/.api_filters
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.facet.efacet.metamodel" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="This API break has been allowed by the modeling PMC. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376577" id="924844039">
+ <message_arguments>
+ <message_argument value="0.2.0"/>
+ <message_argument value="0.2.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/EFacetPackage.java" type="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage">
+ <filter comment="This an allowed (by modeling PMC) API break. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376576" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage"/>
+ <message_argument value="FACET__EXTENDED_FACETS"/>
+ </message_arguments>
+ </filter>
+ <filter comment="This an allowed (by modeling PMC) API break. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376576" id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage"/>
+ <message_argument value="getFacet_ExtendedFacets()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="This an allowed (by modeling PMC) API break. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376576" id="405864542">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage"/>
+ <message_argument value="FACET__EXTENDED_FACET"/>
+ </message_arguments>
+ </filter>
+ <filter comment="This an allowed (by modeling PMC) API break. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376576" id="405901410">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage"/>
+ <message_argument value="getFacet_ExtendedFacet()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/EFacetPackage.java" type="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage$Literals">
+ <filter comment="This an allowed (by modeling PMC) API break. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376576" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage.Literals"/>
+ <message_argument value="FACET__EXTENDED_FACETS"/>
+ </message_arguments>
+ </filter>
+ <filter comment="This an allowed (by modeling PMC) API break. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376576" id="405864542">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage.Literals"/>
+ <message_argument value="FACET__EXTENDED_FACET"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/Facet.java" type="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet">
+ <filter comment="This is an allowed (by modeling PMC) API break. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376576" id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet"/>
+ <message_argument value="getExtendedFacets()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="This is an allowed (by modeling PMC) API break. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376576" id="405901410">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet"/>
+ <message_argument value="getExtendedFacet()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="This is an allowed (by modeling PMC) API break. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376576" id="405901410">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet"/>
+ <message_argument value="setExtendedFacet(Facet)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/QueryPackage.java" type="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage$Literals">
+ <filter comment="API break allowed by the modeling PMC. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376577)" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage.Literals"/>
+ <message_argument value="EOBJECT_LITERAL_QUERY"/>
+ </message_arguments>
+ </filter>
+ <filter comment="API break allowed by the modeling PMC. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376577)" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage.Literals"/>
+ <message_argument value="EOBJECT_LITERAL_QUERY__ELEMENT"/>
+ </message_arguments>
+ </filter>
+ <filter comment="API break allowed by the modeling PMC. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376577)" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage.Literals"/>
+ <message_argument value="FLOAT_LITERAL_QUERY"/>
+ </message_arguments>
+ </filter>
+ <filter comment="API break allowed by the modeling PMC. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376577)" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage.Literals"/>
+ <message_argument value="FLOAT_LITERAL_QUERY__VALUE"/>
+ </message_arguments>
+ </filter>
+ <filter comment="API break allowed by the modeling PMC. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376577)" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage.Literals"/>
+ <message_argument value="INTEGER_LITERAL_QUERY"/>
+ </message_arguments>
+ </filter>
+ <filter comment="API break allowed by the modeling PMC. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376577)" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage.Literals"/>
+ <message_argument value="INTEGER_LITERAL_QUERY__VALUE"/>
+ </message_arguments>
+ </filter>
+ <filter comment="API break allowed by the modeling PMC. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376577)" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage.Literals"/>
+ <message_argument value="OPERATION_CALL_QUERY"/>
+ </message_arguments>
+ </filter>
+ <filter comment="API break allowed by the modeling PMC. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376577)" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage.Literals"/>
+ <message_argument value="OPERATION_CALL_QUERY__ARGUMENTS"/>
+ </message_arguments>
+ </filter>
+ <filter comment="API break allowed by the modeling PMC. cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=376577)" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage.Literals"/>
+ <message_argument value="OPERATION_CALL_QUERY__OPERATION"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/org.eclipse.core.resources.prefs b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..025f7bc098b
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Thu Sep 22 10:54:38 CEST 2011
+eclipse.preferences.version=1
+encoding//model/efacet2.ecorediag=UTF-8
+encoding/<project>=UTF-8
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/org.eclipse.jdt.core.prefs b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..a64b25dbe1f
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,77 @@
+#Thu Sep 22 11:01:58 CEST 2011
+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.annotationSuperInterface=ignore
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=ignore
+org.eclipse.jdt.core.compiler.problem.deadCode=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=ignore
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=ignore
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=ignore
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=ignore
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=ignore
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressignores=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=ignore
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledignoreToken=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
+org.eclipse.jdt.core.compiler.problem.unusedLabel=ignore
+org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
+org.eclipse.jdt.core.compiler.problem.unusedignoreToken=ignore
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=ignore
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..b3c3a4c70e9
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.efacet.metamodel;singleton:=true
+Bundle-Version: 0.4.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %Bundle-Vendor
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore,
+ org.eclipse.papyrus.emf.facet.util.emf.core;bundle-version="0.2.0"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.util,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.util,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.util,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.util,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.util,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog,
+ org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/OSGI-INF/l10n/bundle.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 00000000000..32072f8dbae
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,13 @@
+############################################################################
+# Copyright (c) 2011 Mia-Software.
+#
+# 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:
+# Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+############################################################################
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = EMF Facet EFacet Model (Incubation) \ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/about.html b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/about.html
new file mode 100644
index 00000000000..42d1b9aeef4
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>May 19, 2011</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/build.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/build.properties
new file mode 100644
index 00000000000..70fae33e66d
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/build.properties
@@ -0,0 +1,24 @@
+############################################################################
+# Copyright (c) 2011 Mia-Software.
+#
+# 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:
+# Gregoire Dupe (Mia-Software) - design
+# Nicolas Guyomar (Mia-Software) - implementation
+# Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+############################################################################
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ OSGI-INF/,\
+ about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet-0.2.0.ecore b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet-0.2.0.ecore
new file mode 100644
index 00000000000..0c1eea46080
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet-0.2.0.ecore
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="efacet"
+ nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet" nsPrefix="efacet">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="validationDelegates" value="org.eclipse.ocl.ecore.OCL"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="FacetAttribute" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EAttribute #//DerivedTypedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A FacetAttribute is a virtual attribute added to all the eObjects which conform to the Facet owning the FacetAttribute."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FacetReference" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EReference #//DerivedTypedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A FacetReference is a virtual reference added to all the eObjects which conform to the Facet owning the FacetReference."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FacetOperation" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EOperation #//DerivedTypedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A FacetOperation is a virtual operation added to all the eObjects which conform to the Facet owning the FacetOperation."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FacetSet" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EPackage #//DocumentedElement">
+ <eAnnotations source="GenModel">
+ <details key="documentation" value="A &quot;FacetSet&quot; is the root element of a facet model. It contains a list of &quot;Facet&quot;."/>
+ </eAnnotations>
+ <eOperations name="getFacetSets" upperBound="-1" eType="#//FacetSet">
+ <eAnnotations source="GenModel">
+ <details key="documentation" value="The FacetSets aggregated by this FacetSet (this operation is overridden in Aggregate in the aggregate metamodel)."/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="categories" upperBound="-1"
+ eType="#//Category" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Facet" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EClassifier #//DocumentedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="validationDelegates" value="( self.query.scope = self.facet.extendedMetaClass ) and ( self.query.name = self.name )"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A Facet is a virtual sub-type of an existing EClass. A Facet cannot be instantiated."/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="validationDelegates" value="self.conformanceQuery.scope = self.extendedMetaClass"/>
+ </eAnnotations>
+ <eAnnotations source="org.eclipse.ocl.ecore.OCL">
+ <details key="body" value="not(self.container().oclCastAs(FacetSet).facets->exists(f|f.extendedMetaClass.container() &lt;> self.extendedMetaClass.container() ))"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extendedMetaclass" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass">
+ <eAnnotations source="GenModel">
+ <details key="documentation" value="The &quot;extendedMetaclass&quot; reference references the virtually subtyped EClass."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="facetElements" upperBound="-1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This composite reference contains virtual attributes, references and operations."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="facetOperations" upperBound="-1"
+ eType="#//FacetOperation" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="conformanceTypedElement"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extendedFacets" upperBound="-1"
+ eType="#//Facet">
+ <eAnnotations source="GenModel">
+ <details key="documentation" value="A facet can extend other facets. If A facet A can extend a facet B. In this case an eObject conforms to the facet A if it matches conformance evaluation of A and B. "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Category" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement #//DocumentedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A Category is used to group related elements."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FacetElement" abstract="true" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement #//DocumentedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A facet element is owned by a facet. It can be a facet reference, a facet attribute or a facet operation."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="categories" upperBound="-1"
+ eType="#//Category"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DerivedTypedElement" abstract="true"
+ eSuperTypes="#//FacetElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value=" A derived typed element is a virtual structural feature the value of which is computed using a query."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="#//extensible/Query"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="override" eType="#//DerivedTypedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If it exists a facet A which extends a facet B then a derived typed element of A can override a typed element of B; if the both typed elements have the same name, same multiplicity, and same type."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ParameterValue">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is the value given as a parameter to execute a query for an operation."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EParameter"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="Resource" instanceClassName="org.eclipse.emf.ecore.resource.Resource"/>
+ <eClassifiers xsi:type="ecore:EClass" name="DocumentedElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="documentation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eSubpackages name="serialization" nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/serialization"
+ nsPrefix="serialization">
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractReferenceInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eReference" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MultiValuedContainmentReferenceInstance"
+ eSuperTypes="#//serialization/AbstractReferenceInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedElements" upperBound="-1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MultiValuedReferenceInstance" eSuperTypes="#//serialization/AbstractReferenceInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referencedElements" upperBound="-1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SingleValuedAttributeInstance" eSuperTypes="#//serialization/AbstractAttributeInstance">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExtendedEObjectReference">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extendedEObject" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributeInstances" upperBound="-1"
+ eType="#//serialization/AbstractAttributeInstance" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referenceInstances" upperBound="-1"
+ eType="#//serialization/AbstractReferenceInstance" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SingleValuedContainmentReferenceInstance"
+ eSuperTypes="#//serialization/AbstractReferenceInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedElement" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SingleValuedReferenceInstance" eSuperTypes="#//serialization/AbstractReferenceInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referencedElement" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MultiValuedAttributeInstance" eSuperTypes="#//serialization/AbstractAttributeInstance">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="values" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractAttributeInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eAttribute" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EAttribute"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="extensible" nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/extensible"
+ nsPrefix="extensible">
+ <eClassifiers xsi:type="ecore:EClass" name="Query" abstract="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Query is the abstract representation of the concept of query. This class has to be sub-classed for each existing query language (Java, OCL, etc.)"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="canHaveSideEffects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="canBeCached" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="query" nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/query"
+ nsPrefix="query">
+ <eClassifiers xsi:type="ecore:EClass" name="NavigationQuery" eSuperTypes="#//extensible/Query">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This query points to a typed element (another attribute, reference or operation for example) that lends it value to the query."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
+ upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="failOnError" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IsOneOfQuery" eSuperTypes="#//extensible/Query">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This query returns true if the source of the query is contained in a list of eObject handled by the referennce 'expectedEObjects'."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expectedEObjects" upperBound="-1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringLiteralQuery" eSuperTypes="#//extensible/Query">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TrueLiteralQuery" eSuperTypes="#//extensible/Query">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This query retrun true."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FalseLiteralQuery" eSuperTypes="#//extensible/Query">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This query retrun false."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NullLiteralQuery" eSuperTypes="#//extensible/Query">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This query retrun null."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IntegerLiteralQuery" eSuperTypes="#//extensible/Query">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FloatLiteralQuery" eSuperTypes="#//extensible/Query">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EObjectLiteralQuery" eSuperTypes="#//extensible/Query">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OperationCallQuery" eSuperTypes="#//extensible/Query">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operation" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EOperation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
+ eType="#//extensible/Query" containment="true"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="runtime" nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/runtime"
+ nsPrefix="runtime">
+ <eClassifiers xsi:type="ecore:EClass" name="ETypedElementPrimitiveTypeResult"
+ eSuperTypes="#//runtime/ETypedElementResult">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class represents the result of evaluating the value of a multiplicity-one DerivedTypedElement by means of a single-valued query ."/>
+ </eAnnotations>
+ <eTypeParameters name="T"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="result">
+ <eGenericType eTypeParameter="#//runtime/ETypedElementPrimitiveTypeResult/T"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ETypedElementEObjectResult" eSuperTypes="#//runtime/ETypedElementResult">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class represents the result of evaluating the value of a multiplicity-one DerivedTypedElement by means of a single-valued query ."/>
+ </eAnnotations>
+ <eTypeParameters name="T">
+ <eBounds eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </eTypeParameters>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="result">
+ <eGenericType eTypeParameter="#//runtime/ETypedElementEObjectResult/T"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ETypedElementPrimitiveTypeListResult"
+ eSuperTypes="#//runtime/ETypedElementResult">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class represents the result of evaluating the value of a multiplicity-many DerivedTypedElement by means of a multi-valued query ."/>
+ </eAnnotations>
+ <eTypeParameters name="T"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="resultList" upperBound="-1">
+ <eGenericType eTypeParameter="#//runtime/ETypedElementPrimitiveTypeListResult/T"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ETypedElementEObjectListResult" eSuperTypes="#//runtime/ETypedElementResult">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class represents the result of evaluating the value of a multiplicity-many DerivedTypedElement by means of a multi-valued query ."/>
+ </eAnnotations>
+ <eTypeParameters name="T">
+ <eBounds eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </eTypeParameters>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="resultList" upperBound="-1">
+ <eGenericType eTypeParameter="#//runtime/ETypedElementEObjectListResult/T"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ETypedElementResult" abstract="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class represents the result of evaluating the value of a DerivedTypedElement by means of a query ."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="derivedTypedElement"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//ETypedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The reference &quot;query&quot; references the executed query."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameterValues" upperBound="-1"
+ eType="#//ParameterValue" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is the list of the values given as parameters for the query execution."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="exception" eType="#//runtime/JavaException"
+ transient="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="JavaException" instanceClassName="java.lang.Throwable"/>
+ </eSubpackages>
+</ecore:EPackage>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet-0.2.0.genmodel b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet-0.2.0.genmodel
new file mode 100644
index 00000000000..eb9028ee867
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet-0.2.0.genmodel
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2011-2012 Mia-Software.&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; Gregoire Dupe (Mia-Software) - Design&#xD;&#xA; Nicolas Guyomar (Mia-Software) - Implementation&#xD;&#xA; Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values. &#xD;&#xA; Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model&#xD;&#xA; Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery&#xD;&#xA; Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery&#xD;&#xA; Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query&#xD;&#xA; Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework&#xD;&#xA; Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.&#xD;&#xA; Nicolas Bros (Mia-Software) - Bug 372626 - [Facet] Aggregates&#xD;&#xA; Nicolas Bros (Mia-Software) - Bug 376941 - [EFacet] Facet operation arguments in Facet model&#xD;&#xA; Gregoire Dupe (Mia-Software) - Bug 376576 - [EFacet] Change the multiplicity of Facet::extendedFacet&#xD;&#xA;"
+ modelDirectory="/org.eclipse.emf.facet.efacet.metamodel/src" modelPluginID="org.eclipse.emf.facet.efacet.metamodel"
+ modelName="Efacet2" nonNLSMarkers="true" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false" runtimeVersion="2.6" language=""
+ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
+ <foreignModel>efacet-0.2.0.ecore</foreignModel>
+ <genPackages prefix="EFacet" basePackage="org.eclipse.emf.facet.efacet.metamodel.v0_2_0"
+ disposableProviderFactory="true" ecorePackage="efacet-0.2.0.ecore#/">
+ <genDataTypes ecoreDataType="efacet-0.2.0.ecore#//Resource"/>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//FacetAttribute"/>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//FacetReference"/>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//FacetOperation"/>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//FacetSet">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//FacetSet/categories"/>
+ <genOperations ecoreOperation="efacet-0.2.0.ecore#//FacetSet/getFacetSets"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//Facet">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//Facet/extendedMetaclass"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//Facet/facetElements"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//Facet/facetOperations"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//Facet/conformanceTypedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//Facet/extendedFacets"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//Category"/>
+ <genClasses image="false" ecoreClass="efacet-0.2.0.ecore#//FacetElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//FacetElement/categories"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="efacet-0.2.0.ecore#//DerivedTypedElement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//DerivedTypedElement/query"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//DerivedTypedElement/override"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//ParameterValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//ParameterValue/parameter"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//ParameterValue/value"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//DocumentedElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//DocumentedElement/documentation"/>
+ </genClasses>
+ <nestedGenPackages prefix="Serialization" basePackage="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet"
+ disposableProviderFactory="true" ecorePackage="efacet-0.2.0.ecore#//serialization">
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//serialization/AbstractReferenceInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//serialization/AbstractReferenceInstance/eReference"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//serialization/MultiValuedContainmentReferenceInstance">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//serialization/MultiValuedContainmentReferenceInstance/ownedElements"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//serialization/MultiValuedReferenceInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//serialization/MultiValuedReferenceInstance/referencedElements"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//serialization/SingleValuedAttributeInstance">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//serialization/SingleValuedAttributeInstance/value"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//serialization/ExtendedEObjectReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//serialization/ExtendedEObjectReference/extendedEObject"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//serialization/ExtendedEObjectReference/attributeInstances"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//serialization/ExtendedEObjectReference/referenceInstances"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//serialization/SingleValuedContainmentReferenceInstance">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//serialization/SingleValuedContainmentReferenceInstance/ownedElement"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//serialization/SingleValuedReferenceInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//serialization/SingleValuedReferenceInstance/referencedElement"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//serialization/MultiValuedAttributeInstance">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//serialization/MultiValuedAttributeInstance/values"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//serialization/AbstractAttributeInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//serialization/AbstractAttributeInstance/eAttribute"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Extensible" basePackage="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet"
+ disposableProviderFactory="true" ecorePackage="efacet-0.2.0.ecore#//extensible">
+ <genClasses image="false" ecoreClass="efacet-0.2.0.ecore#//extensible/Query">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//extensible/Query/canHaveSideEffects"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//extensible/Query/canBeCached"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Query" basePackage="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet"
+ disposableProviderFactory="true" ecorePackage="efacet-0.2.0.ecore#//query">
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//query/NavigationQuery">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//query/NavigationQuery/path"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//query/NavigationQuery/failOnError"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//query/IsOneOfQuery">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//query/IsOneOfQuery/expectedEObjects"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//query/StringLiteralQuery">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//query/StringLiteralQuery/value"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//query/TrueLiteralQuery"/>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//query/FalseLiteralQuery"/>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//query/NullLiteralQuery"/>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//query/IntegerLiteralQuery">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//query/IntegerLiteralQuery/value"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//query/FloatLiteralQuery">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//query/FloatLiteralQuery/value"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//query/EObjectLiteralQuery">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//query/EObjectLiteralQuery/element"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//query/OperationCallQuery">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//query/OperationCallQuery/operation"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//query/OperationCallQuery/arguments"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Runtime" basePackage="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet"
+ disposableProviderFactory="true" ecorePackage="efacet-0.2.0.ecore#//runtime">
+ <genDataTypes ecoreDataType="efacet-0.2.0.ecore#//runtime/JavaException"/>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//runtime/ETypedElementPrimitiveTypeResult">
+ <genTypeParameters ecoreTypeParameter="efacet-0.2.0.ecore#//runtime/ETypedElementPrimitiveTypeResult/T"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//runtime/ETypedElementPrimitiveTypeResult/result"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//runtime/ETypedElementEObjectResult">
+ <genTypeParameters ecoreTypeParameter="efacet-0.2.0.ecore#//runtime/ETypedElementEObjectResult/T"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//runtime/ETypedElementEObjectResult/result"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//runtime/ETypedElementPrimitiveTypeListResult">
+ <genTypeParameters ecoreTypeParameter="efacet-0.2.0.ecore#//runtime/ETypedElementPrimitiveTypeListResult/T"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//runtime/ETypedElementPrimitiveTypeListResult/resultList"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet-0.2.0.ecore#//runtime/ETypedElementEObjectListResult">
+ <genTypeParameters ecoreTypeParameter="efacet-0.2.0.ecore#//runtime/ETypedElementEObjectListResult/T"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//runtime/ETypedElementEObjectListResult/resultList"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="efacet-0.2.0.ecore#//runtime/ETypedElementResult">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//runtime/ETypedElementResult/derivedTypedElement"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//runtime/ETypedElementResult/parameterValues"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference efacet-0.2.0.ecore#//runtime/ETypedElementResult/source"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet-0.2.0.ecore#//runtime/ETypedElementResult/exception"/>
+ </genClasses>
+ </nestedGenPackages>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-all.png b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-all.png
new file mode 100644
index 00000000000..aaae294c927
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-all.png
Binary files differ
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-facet.ecorediag b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-facet.ecorediag
new file mode 100644
index 00000000000..0810aa589db
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-facet.ecorediag
@@ -0,0 +1,492 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_CmfYMeOIEeCYNNyffmuRHg" type="EcoreTools" name="efacet2.ecorediag" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_lv2XUf5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_lv2XUv5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv2XU_5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv2XVP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv2XVf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv2XVv5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv2XV_5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv2XWP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv2XWf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv2XWv5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv2XW_5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//Facet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv2XXP5SEeCqzpi5PItoVA" x="650" y="285" width="133" height="63"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv2-YP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_lv2-Yf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv2-Yv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv2-Y_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv2-ZP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv2-Zf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv2-Zv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv2-Z_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv2-aP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv2-af5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv2-av5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//Category"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv2-a_5SEeCqzpi5PItoVA" x="370" y="105"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv2-bP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_lv2-bf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv2-bv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv2-b_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv2-cP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv2-cf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv2-cv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv2-c_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv2-dP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv2-df5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv2-dv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//FacetElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv2-d_5SEeCqzpi5PItoVA" x="165" y="110"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv3lhf5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_lv3lhv5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv3lh_5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv3liP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv3lif5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv3liv5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv3li_5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv3ljP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv3ljf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv3ljv5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv3lj_5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//FacetReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv3lkP5SEeCqzpi5PItoVA" x="95" y="510" width="118"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4MgP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_lv4Mgf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv4Mgv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4Mg_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4MhP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4Mhf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4Mhv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4Mh_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4MiP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4Mif5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv4Miv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//FacetAttribute"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv4Mi_5SEeCqzpi5PItoVA" x="220" y="510" width="113"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4MjP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_lv4Mjf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv4Mjv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4Mj_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4MkP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4Mkf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4Mkv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4Mk_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4MlP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4Mlf5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv4Mlv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//FacetOperation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv4Ml_5SEeCqzpi5PItoVA" x="355" y="510" width="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4MmP5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lv4Mmf5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv4Mmv5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_lv4Mm_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv4MnP5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4Mnf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4Mnv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4Mn_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4MoP5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4Mof5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4Mov5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4Mo_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv4MpP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv4Mpf5SEeCqzpi5PItoVA" x="50" y="425" width="133"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4Mpv5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lv4Mp_5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv4MqP5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_lv4Mqf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv4Mqv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4Mq_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4MrP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4Mrf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4Mrv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4Mr_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4MsP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4Msf5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv4Msv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EAttribute"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv4Ms_5SEeCqzpi5PItoVA" x="255" y="420" width="113"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4MtP5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lv4Mtf5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv4Mtv5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_lv4Mt_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv4MuP5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4Muf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4Muv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4Mu_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4MvP5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4Mvf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4Mvv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4Mv_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv4MwP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EOperation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv4Mwf5SEeCqzpi5PItoVA" x="390" y="420" width="117"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4zkP5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lv4zkf5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv4zkv5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_lv4zk_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv4zlP5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4zlf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4zlv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4zl_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4zmP5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4zmf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4zmv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4zm_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv4znP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv4znf5SEeCqzpi5PItoVA" x="815" y="185"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4zrP5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lv4zrf5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv4zrv5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_lv4zr_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv4zsP5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4zsf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4zsv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4zs_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4ztP5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4ztf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4ztv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4zt_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv4zuP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv4zuf5SEeCqzpi5PItoVA" x="610" y="15" width="112"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4zuv5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lv4zu_5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv4zvP5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_lv4zvf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv4zvv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4zv_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4zwP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4zwf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4zwv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4zw_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4zxP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4zxf5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv4zxv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv4zx_5SEeCqzpi5PItoVA" x="145" y="35" width="138"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4zyP5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lv4zyf5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv4zyv5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_lv4zy_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv4zzP5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4zzf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4zzv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4zz_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4z0P5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4z0f5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4z0v5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4z0_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv4z1P5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClassifier"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv4z1f5SEeCqzpi5PItoVA" x="660" y="185" width="112"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4z1v5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lv4z1_5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv4z2P5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_lv4z2f5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv4z2v5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4z2_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4z3P5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4z3f5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv4z3v5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv4z3_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv4z4P5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv4z4f5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv4z4v5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv4z4_5SEeCqzpi5PItoVA" x="395" y="15" width="143"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv5aoP5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lv5aof5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv5aov5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_lv5ao_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv5apP5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv5apf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv5apv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv5ap_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv5aqP5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv5aqf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv5aqv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv5aq_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv5arP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv5arf5SEeCqzpi5PItoVA" x="715" y="410" width="138"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv5arv5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_lv5ar_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_lv5asP5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv5asf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv5asv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv5as_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv5atP5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lv5atf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lv5atv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lv5at_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lv5auP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//DerivedTypedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lv5auf5SEeCqzpi5PItoVA" x="160" y="320" width="248"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hVqdcH1mEeGyJ4ThVnvTDQ" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hWNQAH1mEeGyJ4ThVnvTDQ" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hWNQAX1mEeGyJ4ThVnvTDQ" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_hVrEgH1mEeGyJ4ThVnvTDQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_hVrrkH1mEeGyJ4ThVnvTDQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_hVrrkX1mEeGyJ4ThVnvTDQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hVrrkn1mEeGyJ4ThVnvTDQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hVrrk31mEeGyJ4ThVnvTDQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hVrrlH1mEeGyJ4ThVnvTDQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_hVrrlX1mEeGyJ4ThVnvTDQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hVrrln1mEeGyJ4ThVnvTDQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hVrrl31mEeGyJ4ThVnvTDQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_hVqdcX1mEeGyJ4ThVnvTDQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//FacetSet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hVqdcn1mEeGyJ4ThVnvTDQ" x="575" y="95"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PUStQH1nEeGyJ4ThVnvTDQ" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PUT7YH1nEeGyJ4ThVnvTDQ" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PUT7YX1nEeGyJ4ThVnvTDQ" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_PUTUUH1nEeGyJ4ThVnvTDQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_PUTUUX1nEeGyJ4ThVnvTDQ" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PUTUUn1nEeGyJ4ThVnvTDQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PUTUU31nEeGyJ4ThVnvTDQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PUTUVH1nEeGyJ4ThVnvTDQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PUTUVX1nEeGyJ4ThVnvTDQ" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_PUTUVn1nEeGyJ4ThVnvTDQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PUTUV31nEeGyJ4ThVnvTDQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PUTUWH1nEeGyJ4ThVnvTDQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_PUStQX1nEeGyJ4ThVnvTDQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PUStQn1nEeGyJ4ThVnvTDQ" x="420" y="285" width="145"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_CmfYMuOIEeCYNNyffmuRHg"/>
+ <element xmi:type="ecore:EPackage" href="efacet-0.2.0.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_lv5a2P5SEeCqzpi5PItoVA" type="3002" source="_lv2-bP5SEeCqzpi5PItoVA" target="_lv2-YP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_lv5a2f5SEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lv5a2v5SEeCqzpi5PItoVA" x="-24" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv5a2_5SEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lv5a3P5SEeCqzpi5PItoVA" x="-10" y="13"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv5a3f5SEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv5a3v5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//FacetElement/categories"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv5a3_5SEeCqzpi5PItoVA" points="[0, 0, 71, 60]$[-71, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lv5a4P5SEeCqzpi5PItoVA" id="(0.9313725490196079,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lv5a4f5SEeCqzpi5PItoVA" id="(0.0196078431372549,0.5348837209302325)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6Btf5SEeCqzpi5PItoVA" type="3003" source="_lv3lhf5SEeCqzpi5PItoVA" target="_lv4MmP5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6Btv5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6Bt_5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6BuP5SEeCqzpi5PItoVA" points="[-7, -20, 157, 433]$[-164, -452, 0, 1]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6Buf5SEeCqzpi5PItoVA" type="3003" source="_lv4MgP5SEeCqzpi5PItoVA" target="_lv4Mpv5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6Buv5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6Bu_5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6BvP5SEeCqzpi5PItoVA" points="[25, -19, -10, 71]$[25, -71, -10, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6Bxv5SEeCqzpi5PItoVA" type="3003" source="_lv4MjP5SEeCqzpi5PItoVA" target="_lv4MtP5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6Bx_5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6ByP5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6Byf5SEeCqzpi5PItoVA" points="[41, -20, -32, 71]$[41, -72, -32, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6Byv5SEeCqzpi5PItoVA" type="3002" source="_lv2XUf5SEeCqzpi5PItoVA" target="_lv4zkP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_lv6By_5SEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lv6BzP5SEeCqzpi5PItoVA" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv6Bzf5SEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lv6Bzv5SEeCqzpi5PItoVA" x="8" y="-16"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6Bz_5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6B0P5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//Facet/extendedMetaclass"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6B0f5SEeCqzpi5PItoVA" points="[94, 0, -135, 52]$[94, -25, -135, 27]$[229, -25, 0, 27]$[229, -52, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5x9NMn1mEeGyJ4ThVnvTDQ" id="(0.16541353383458646,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5x9NM31mEeGyJ4ThVnvTDQ" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6oxP5SEeCqzpi5PItoVA" type="3003" source="_lv2-bP5SEeCqzpi5PItoVA" target="_lv4zuv5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6oxf5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6oxv5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6ox_5SEeCqzpi5PItoVA" points="[-1, -8, -8, 66]$[-1, -55, -8, 19]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lv6oyP5SEeCqzpi5PItoVA" id="(0.5196078431372549,0.225)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6oyf5SEeCqzpi5PItoVA" type="3003" source="_lv2XUf5SEeCqzpi5PItoVA" target="_lv4zyP5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6oyv5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6oy_5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6ozP5SEeCqzpi5PItoVA" points="[-21, 0, 0, 62]$[-21, -62, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5x7_EH1mEeGyJ4ThVnvTDQ" id="(0.6616541353383458,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5x8mIH1mEeGyJ4ThVnvTDQ" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6ozf5SEeCqzpi5PItoVA" type="3003" source="_lv2-YP5SEeCqzpi5PItoVA" target="_lv4z1v5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6ozv5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6oz_5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6o0P5SEeCqzpi5PItoVA" points="[-5, -20, 0, 62]$[-5, -49, 0, 33]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6o0f5SEeCqzpi5PItoVA" type="3002" source="_lv2XUf5SEeCqzpi5PItoVA" target="_lv5aoP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_lv6o0v5SEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lv6o0_5SEeCqzpi5PItoVA" x="-17" y="-89"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lv6o1P5SEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lv6o1f5SEeCqzpi5PItoVA" x="-2" y="-25"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6o1v5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6o1_5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//Facet/conformanceTypedElement"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6o2P5SEeCqzpi5PItoVA" points="[10, 31, -27, -67]$[10, 95, -27, -3]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lv6o2f5SEeCqzpi5PItoVA" id="(0.2753623188405797,0.1)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6o2v5SEeCqzpi5PItoVA" type="3003" source="_lv5arv5SEeCqzpi5PItoVA" target="_lv2-bP5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6o2_5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6o3P5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6o3f5SEeCqzpi5PItoVA" points="[-103, -19, 5, 111]$[-103, -111, 5, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6o3v5SEeCqzpi5PItoVA" type="3003" source="_lv4MgP5SEeCqzpi5PItoVA" target="_lv5arv5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6o3_5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6o4P5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6o4f5SEeCqzpi5PItoVA" points="[-5, -19, -53, 250]$[-5, -248, -53, 21]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6o4v5SEeCqzpi5PItoVA" type="3003" source="_lv3lhf5SEeCqzpi5PItoVA" target="_lv5arv5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6o4_5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6o5P5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6o5f5SEeCqzpi5PItoVA" points="[52, -19, -118, 250]$[52, -248, -118, 21]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lv6o5v5SEeCqzpi5PItoVA" type="3003" source="_lv4MjP5SEeCqzpi5PItoVA" target="_lv5arv5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lv6o5_5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lv6o6P5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lv6o6f5SEeCqzpi5PItoVA" points="[-30, -19, 97, 171]$[-30, -171, 97, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_jhHBUH1mEeGyJ4ThVnvTDQ" type="3002" source="_hVqdcH1mEeGyJ4ThVnvTDQ" target="_lv2-YP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_jhHoYH1mEeGyJ4ThVnvTDQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jhHoYX1mEeGyJ4ThVnvTDQ" x="-24" y="12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_jhHoYn1mEeGyJ4ThVnvTDQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jhHoY31mEeGyJ4ThVnvTDQ" x="-3" y="-13"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_jhHBUX1mEeGyJ4ThVnvTDQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jhHBUn1mEeGyJ4ThVnvTDQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//FacetSet/categories"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jhHBU31mEeGyJ4ThVnvTDQ" points="[-42, 30, 155, -18]$[-147, 30, 50, -18]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jhqa831mEeGyJ4ThVnvTDQ" id="(0.25,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jhrCAH1mEeGyJ4ThVnvTDQ" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_jhI2gH1mEeGyJ4ThVnvTDQ" type="3003" source="_hVqdcH1mEeGyJ4ThVnvTDQ" target="_lv4zrP5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_jhI2gX1mEeGyJ4ThVnvTDQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jhI2gn1mEeGyJ4ThVnvTDQ" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jhJdkH1mEeGyJ4ThVnvTDQ" points="[0, 0, 0, 71]$[0, -71, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jhqa8X1mEeGyJ4ThVnvTDQ" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jhqa8n1mEeGyJ4ThVnvTDQ" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_5xodEH1mEeGyJ4ThVnvTDQ" type="3002" source="_lv2XUf5SEeCqzpi5PItoVA" target="_lv4MjP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_5xpEIH1mEeGyJ4ThVnvTDQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5xpEIX1mEeGyJ4ThVnvTDQ" x="2" y="12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5xpEIn1mEeGyJ4ThVnvTDQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5xpEI31mEeGyJ4ThVnvTDQ" x="40" y="-8"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_5xodEX1mEeGyJ4ThVnvTDQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5xodEn1mEeGyJ4ThVnvTDQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//Facet/facetOperations"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5xodE31mEeGyJ4ThVnvTDQ" points="[-50, 61, 250, -202]$[-50, 250, 250, -13]$[-239, 250, 61, -13]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5x8mIX1mEeGyJ4ThVnvTDQ" id="(0.49624060150375937,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5x8mIn1mEeGyJ4ThVnvTDQ" id="(0.4959349593495935,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_5xqSQH1mEeGyJ4ThVnvTDQ" type="3002" source="_lv2XUf5SEeCqzpi5PItoVA" target="_lv2XUf5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_5xq5UH1mEeGyJ4ThVnvTDQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5xq5UX1mEeGyJ4ThVnvTDQ" x="-15" y="7"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5xq5Un1mEeGyJ4ThVnvTDQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5xq5U31mEeGyJ4ThVnvTDQ" x="12" y="-8"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_5xqSQX1mEeGyJ4ThVnvTDQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5xqSQn1mEeGyJ4ThVnvTDQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//Facet/extendedFacets"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5xqSQ31mEeGyJ4ThVnvTDQ" points="[66, 25, 66, 25]$[165, 25, 165, 25]$[165, -15, 165, -15]$[66, -15, 66, -15]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_PUp5oH1nEeGyJ4ThVnvTDQ" type="3002" source="_lv2XUf5SEeCqzpi5PItoVA" target="_PUStQH1nEeGyJ4ThVnvTDQ">
+ <children xmi:type="notation:Node" xmi:id="_PUqgsH1nEeGyJ4ThVnvTDQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PUqgsX1nEeGyJ4ThVnvTDQ" x="-32" y="12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PUqgsn1nEeGyJ4ThVnvTDQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PUqgs31nEeGyJ4ThVnvTDQ" x="-1" y="-13"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_PUp5oX1nEeGyJ4ThVnvTDQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PUp5on1nEeGyJ4ThVnvTDQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//Facet/facetElements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PUp5o31nEeGyJ4ThVnvTDQ" points="[-43, 15, 164, -23]$[-145, 15, 62, -23]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PU1f0H1nEeGyJ4ThVnvTDQ" id="(0.3308270676691729,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PU1f0X1nEeGyJ4ThVnvTDQ" id="(0.4976958525345622,1.0)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-query.ecorediag b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-query.ecorediag
new file mode 100644
index 00000000000..a094f7b582e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-query.ecorediag
@@ -0,0 +1,356 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_Eq3REOqWEeC2XowyKYkfCg" type="EcoreTools" name="efacet2.ecorediag" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="__mCSPP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="__mCSPf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mCSPv5SEeCqzpi5PItoVA" type="5004">
+ <children xmi:type="notation:Node" xmi:id="__mCSP_5SEeCqzpi5PItoVA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet-0.2.0.ecore#//ParameterValue/value"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mCSQP5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mCSQf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mCSQv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mCSQ_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mCSRP5SEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mCSRf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mCSRv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mCSR_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mCSSP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//ParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mCSSf5SEeCqzpi5PItoVA" x="990" y="425"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mC5TP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="__mC5Tf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mC5Tv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mC5T_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mC5UP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mC5Uf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mC5Uv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mC5U_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mC5VP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mC5Vf5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mC5Vv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//FacetReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mC5V_5SEeCqzpi5PItoVA" x="170" y="485" width="118"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mC5WP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="__mC5Wf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mC5Wv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mC5W_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mC5XP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mC5Xf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mC5Xv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mC5X_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mC5YP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mC5Yf5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mC5Yv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//FacetAttribute"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mC5Y_5SEeCqzpi5PItoVA" x="40" y="485" width="108"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mDgUP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="__mDgUf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mDgUv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mDgU_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mDgVP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mDgVf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mDgVv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mDgV_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mDgWP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mDgWf5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mDgWv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//DerivedTypedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mDgW_5SEeCqzpi5PItoVA" x="165" y="275" height="75"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mDgXP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="__mDgXf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mDgXv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mDgX_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mDgYP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mDgYf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mDgYv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mDgY_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mDgZP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mDgZf5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mDgZv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//FacetOperation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mDgZ_5SEeCqzpi5PItoVA" x="305" y="484" width="118"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mDgaP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="__mDgaf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mDgav5SEeCqzpi5PItoVA" type="5004">
+ <children xmi:type="notation:Node" xmi:id="__mDga_5SEeCqzpi5PItoVA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet-0.2.0.ecore#//extensible/Query/canHaveSideEffects"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mDgbP5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mDgbf5SEeCqzpi5PItoVA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet-0.2.0.ecore#//extensible/Query/canBeCached"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mDgbv5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mDgb_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mDgcP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mDgcf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mDgcv5SEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mDgc_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mDgdP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mDgdf5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mDgdv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//extensible/Query"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mDgd_5SEeCqzpi5PItoVA" x="390" y="245" width="238" height="88"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEHYP5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__mEHYf5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__mEHYv5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="__mEHY_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mEHZP5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEHZf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEHZv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEHZ_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEHaP5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEHaf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEHav5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEHa_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mEHbP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mEHbf5SEeCqzpi5PItoVA" x="1080" y="165"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEHbv5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__mEHb_5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__mEHcP5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="__mEHcf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mEHcv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEHc_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEHdP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEHdf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEHdv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEHd_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEHeP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEHef5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mEHev5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mEHe_5SEeCqzpi5PItoVA" x="730" y="355" width="138"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEHfP5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__mEHff5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__mEHfv5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="__mEHf_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mEHgP5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEHgf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEHgv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEHg_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEHhP5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEHhf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEHhv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEHh_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mEHiP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EOperation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mEucP5SEeCqzpi5PItoVA" x="380" y="415" width="128"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEucf5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__mEucv5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__mEuc_5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="__mEudP5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mEudf5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEudv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEud_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEueP5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEuef5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEuev5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEue_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEufP5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mEuff5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EParameter"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mEufv5SEeCqzpi5PItoVA" x="800" y="425" width="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Sor40AB5EeGEGNPtjb321w" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Sosf4AB5EeGEGNPtjb321w" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Sosf4QB5EeGEGNPtjb321w" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_Sox_cAB5EeGEGNPtjb321w" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet-0.2.0.ecore#//AbstractDerivedTypedElementResult/exception"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Sox_cQB5EeGEGNPtjb321w"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Sosf4gB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Sosf4wB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Sosf5AB5EeGEGNPtjb321w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SotG8AB5EeGEGNPtjb321w" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_SotG8QB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SotG8gB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SotG8wB5EeGEGNPtjb321w"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Sor40QB5EeGEGNPtjb321w" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//AbstractDerivedTypedElementResult"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Sor40gB5EeGEGNPtjb321w" x="965" y="260"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Eq5GYuqWEeC2XowyKYkfCg"/>
+ <element xmi:type="ecore:EPackage" href="efacet-0.2.0.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="__l_2AP5SEeCqzpi5PItoVA" type="3003" source="__mC5TP5SEeCqzpi5PItoVA" target="__mDgUP5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__l_2Af5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__l_2Av5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__l_2A_5SEeCqzpi5PItoVA" points="[8, 0, 36, 137]$[8, -137, 36, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__l_2BP5SEeCqzpi5PItoVA" id="(0.4954128440366973,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__l_2Bf5SEeCqzpi5PItoVA" id="(0.24427480916030533,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__l_2Bv5SEeCqzpi5PItoVA" type="3003" source="__mC5WP5SEeCqzpi5PItoVA" target="__mDgUP5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__l_2B_5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__l_2CP5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__l_2Cf5SEeCqzpi5PItoVA" points="[26, 0, -115, 137]$[26, -82, -115, 55]$[87, -82, -54, 55]$[87, -137, -54, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__l_2Cv5SEeCqzpi5PItoVA" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__l_2C_5SEeCqzpi5PItoVA" id="(0.4961832061068702,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__l_2DP5SEeCqzpi5PItoVA" type="3002" source="__mDgUP5SEeCqzpi5PItoVA" target="__mDgaP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="__l_2Df5SEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__l_2Dv5SEeCqzpi5PItoVA" x="-18" y="-17"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__l_2D_5SEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__l_2EP5SEeCqzpi5PItoVA" x="9" y="-12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__l_2Ef5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__l_2Ev5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//DerivedTypedElement/query"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__l_2E_5SEeCqzpi5PItoVA" points="[2, 0, -103, -22]$[101, 0, -4, -22]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__l_2FP5SEeCqzpi5PItoVA" id="(0.986013986013986,0.35555555555555557)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__l_2Ff5SEeCqzpi5PItoVA" id="(0.020202020202020204,0.5689655172413793)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__mAdAP5SEeCqzpi5PItoVA" type="3003" source="__mDgXP5SEeCqzpi5PItoVA" target="__mDgUP5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__mAdAf5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__mAdAv5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__mAdA_5SEeCqzpi5PItoVA" points="[-27, 0, 65, 136]$[-27, -68, 65, 68]$[-72, -68, 20, 68]$[-72, -136, 20, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__mAdBP5SEeCqzpi5PItoVA" id="(0.4954954954954955,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__mAdBf5SEeCqzpi5PItoVA" id="(0.7480916030534351,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__mAdGf5SEeCqzpi5PItoVA" type="3003" source="__mDgXP5SEeCqzpi5PItoVA" target="__mEHfP5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__mAdGv5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__mAdG_5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__mAdHP5SEeCqzpi5PItoVA" points="[32, -19, -33, 80]$[32, -80, -33, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__mBEFP5SEeCqzpi5PItoVA" type="3002" source="__mEucf5SEeCqzpi5PItoVA" target="__mEHfP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="__mBEFf5SEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mBEFv5SEeCqzpi5PItoVA" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mBEF_5SEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mBEGP5SEeCqzpi5PItoVA" x="6" y="-28"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__mBEGf5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__mBEGv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/emf/2002/Ecore#//EParameter/eOperation"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__mBEG_5SEeCqzpi5PItoVA" points="[-60, -9, 343, 14]$[-354, -9, 49, 14]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__mBEHP5SEeCqzpi5PItoVA" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__mBEHf5SEeCqzpi5PItoVA" id="(0.6171875,0.175)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__mBEHv5SEeCqzpi5PItoVA" type="3003" source="__mEucf5SEeCqzpi5PItoVA" target="__mEHbv5SEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__mBEH_5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__mBEIP5SEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__mBEIf5SEeCqzpi5PItoVA" points="[-45, -19, 22, 70]$[-45, -70, 22, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__mBEIv5SEeCqzpi5PItoVA" type="3002" source="__mCSPP5SEeCqzpi5PItoVA" target="__mEucf5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="__mBEI_5SEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mBEJP5SEeCqzpi5PItoVA" x="-19" y="-25"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mBEJf5SEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mBEJv5SEeCqzpi5PItoVA" y="-11"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__mBEJ_5SEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__mBEKP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//ParameterValue/parameter"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__mBEKf5SEeCqzpi5PItoVA" points="[-70, -11, 86, 13]$[-139, -21, 17, 3]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__mBEKv5SEeCqzpi5PItoVA" id="(0.926829268292683,0.475)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__mBrIP5SEeCqzpi5PItoVA" type="3002" source="__mDgaP5SEeCqzpi5PItoVA" target="__mEucf5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="__mBrIf5SEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mBrIv5SEeCqzpi5PItoVA" x="32" y="-39"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mBrI_5SEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mBrJP5SEeCqzpi5PItoVA" x="47" y="-15"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__mBrJf5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__mBrJv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//extensible/Query/parameters"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__mBrJ_5SEeCqzpi5PItoVA" points="[3, -7, -257, -130]$[266, -7, 6, -130]$[266, 123, 6, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__mBrKP5SEeCqzpi5PItoVA" id="(0.9873949579831933,0.6666666666666666)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__mBrKf5SEeCqzpi5PItoVA" id="(0.6910569105691057,0.025)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__mBrKv5SEeCqzpi5PItoVA" type="3002" source="__mEHfP5SEeCqzpi5PItoVA" target="__mEucf5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="__mBrK_5SEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mBrLP5SEeCqzpi5PItoVA" x="6" y="9"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mBrLf5SEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mBrLv5SEeCqzpi5PItoVA" x="34" y="24"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__mBrL_5SEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__mBrMP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="http://www.eclipse.org/emf/2002/Ecore#//EOperation/eParameters"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__mBrMf5SEeCqzpi5PItoVA" points="[49, 14, -354, -9]$[343, 14, -60, -9]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jXyd8AB6EeGEGNPtjb321w" id="(0.6171875,0.175)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jXyd8QB6EeGEGNPtjb321w" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_VN5nkAB5EeGEGNPtjb321w" type="3002" source="_Sor40AB5EeGEGNPtjb321w" target="__mDgUP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_VN61sAB5EeGEGNPtjb321w" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN61sQB5EeGEGNPtjb321w" x="41" y="-63"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VN7cwAB5EeGEGNPtjb321w" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN7cwQB5EeGEGNPtjb321w" x="60" y="-78"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_VN5nkQB5EeGEGNPtjb321w" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VN5nkgB5EeGEGNPtjb321w" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//AbstractDerivedTypedElementResult/derivedTypedElement"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VN5nkwB5EeGEGNPtjb321w" points="[0, 0, 784, -88]$[0, -80, 784, -168]$[-784, -80, 0, -168]$[-784, 15, 0, -73]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONJkgB5EeGEGNPtjb321w" id="(0.24774774774774774,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONwoAB5EeGEGNPtjb321w" id="(0.4965034965034965,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_VN9R8AB5EeGEGNPtjb321w" type="3002" source="_Sor40AB5EeGEGNPtjb321w" target="__mCSPP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_VN95AAB5EeGEGNPtjb321w" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN95AQB5EeGEGNPtjb321w" x="-10" y="-54"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VN95AgB5EeGEGNPtjb321w" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN95AwB5EeGEGNPtjb321w" x="5" y="-19"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_VN9R8QB5EeGEGNPtjb321w" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VN9R8gB5EeGEGNPtjb321w" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//AbstractDerivedTypedElementResult/parameterValues"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VN9R8wB5EeGEGNPtjb321w" points="[2, 6, 10, -149]$[32, 77, 40, -78]$[9, 122, 17, -33]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONwowB5EeGEGNPtjb321w" id="(0.1981981981981982,0.8823529411764706)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VOOXsAB5EeGEGNPtjb321w" id="(0.07692307692307693,0.6862745098039216)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_VN_HIAB5EeGEGNPtjb321w" type="3002" source="_Sor40AB5EeGEGNPtjb321w" target="__mEHYP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_VN_uMAB5EeGEGNPtjb321w" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN_uMQB5EeGEGNPtjb321w" x="-21" y="24"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VN_uMgB5EeGEGNPtjb321w" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN_uMwB5EeGEGNPtjb321w" x="-6" y="14"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_VN_HIQB5EeGEGNPtjb321w" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VN_HIgB5EeGEGNPtjb321w" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//AbstractDerivedTypedElementResult/source"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VN_HIwB5EeGEGNPtjb321w" points="[0, 0, -128, 95]$[128, -95, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONwoQB5EeGEGNPtjb321w" id="(0.7477477477477478,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONwogB5EeGEGNPtjb321w" id="(0.5,1.0)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-result.ecorediag b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-result.ecorediag
new file mode 100644
index 00000000000..a3ced26512e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-result.ecorediag
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_Eq3REOqWEeC2XowyKYkfCg" type="EcoreTools" name="efacet2.ecorediag" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="__mCSPP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="__mCSPf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mCSPv5SEeCqzpi5PItoVA" type="5004">
+ <children xmi:type="notation:Node" xmi:id="__mCSP_5SEeCqzpi5PItoVA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet-0.2.0.ecore#//ParameterValue/value"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mCSQP5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mCSQf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mCSQv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mCSQ_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mCSRP5SEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mCSRf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mCSRv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mCSR_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mCSSP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//ParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mCSSf5SEeCqzpi5PItoVA" x="65" y="155"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mCSSv5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="__mCSS_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mCSTP5SEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mCSTf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mCSTv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mCST_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mCSUP5SEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mCSUf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mCSUv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mCSU_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mCSVP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//DerivedTypedElementPrimitiveTypeResult"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mCSVf5SEeCqzpi5PItoVA" x="115" y="355"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mDgUP5SEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="__mDgUf5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mDgUv5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mDgU_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mDgVP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mDgVf5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mDgVv5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mDgV_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mDgWP5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mDgWf5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mDgWv5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//DerivedTypedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mDgW_5SEeCqzpi5PItoVA" x="300" y="75" height="30"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEHYP5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__mEHYf5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__mEHYv5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="__mEHY_5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mEHZP5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEHZf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEHZv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEHZ_5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEHaP5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEHaf5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEHav5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEHa_5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mEHbP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mEHbf5SEeCqzpi5PItoVA" x="455" y="60"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEucf5SEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__mEucv5SEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__mEuc_5SEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="__mEudP5SEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="__mEudf5SEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEudv5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEud_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEueP5SEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mEuef5SEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__mEuev5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__mEue_5SEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__mEufP5SEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__mEuff5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EParameter"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__mEufv5SEeCqzpi5PItoVA" x="25" y="250" width="123"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Sor40AB5EeGEGNPtjb321w" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Sosf4AB5EeGEGNPtjb321w" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Sosf4QB5EeGEGNPtjb321w" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_Sox_cAB5EeGEGNPtjb321w" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet-0.2.0.ecore#//AbstractDerivedTypedElementResult/exception"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Sox_cQB5EeGEGNPtjb321w"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Sosf4gB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Sosf4wB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Sosf5AB5EeGEGNPtjb321w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SotG8AB5EeGEGNPtjb321w" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_SotG8QB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SotG8gB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SotG8wB5EeGEGNPtjb321w"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Sor40QB5EeGEGNPtjb321w" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//AbstractDerivedTypedElementResult"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Sor40gB5EeGEGNPtjb321w" x="340" y="155"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VNtaUAB5EeGEGNPtjb321w" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_VNuBYAB5EeGEGNPtjb321w" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_VNuocAB5EeGEGNPtjb321w" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_VNyS0AB5EeGEGNPtjb321w" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet-0.2.0.ecore#//DerivedTypedElementPrimitiveTypeListResult/resultList"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VNyS0QB5EeGEGNPtjb321w"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_VNuocQB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_VNuocgB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_VNuocwB5EeGEGNPtjb321w"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VNuodAB5EeGEGNPtjb321w" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_VNuodQB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_VNuodgB5EeGEGNPtjb321w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_VNuodwB5EeGEGNPtjb321w"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_VNtaUQB5EeGEGNPtjb321w" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//DerivedTypedElementPrimitiveTypeListResult"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VNtaUgB5EeGEGNPtjb321w" x="380" y="355"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Iym1gRW3EeG2xva9erxGmQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_IyrG8BW3EeG2xva9erxGmQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_IyrG8RW3EeG2xva9erxGmQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IyrG8hW3EeG2xva9erxGmQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IyrG8xW3EeG2xva9erxGmQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IyrG9BW3EeG2xva9erxGmQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IyruABW3EeG2xva9erxGmQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IyruARW3EeG2xva9erxGmQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IyruAhW3EeG2xva9erxGmQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IyruAxW3EeG2xva9erxGmQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Iym1ghW3EeG2xva9erxGmQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//DerivedTypedElementEObjectResult"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Iym1gxW3EeG2xva9erxGmQ" x="665" y="360"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SM9QEBW3EeG2xva9erxGmQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_SM-eMBW3EeG2xva9erxGmQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_SM-eMRW3EeG2xva9erxGmQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_SM-eMhW3EeG2xva9erxGmQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SM-eMxW3EeG2xva9erxGmQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SM-eNBW3EeG2xva9erxGmQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SM-eNRW3EeG2xva9erxGmQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_SM-eNhW3EeG2xva9erxGmQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SM-eNxW3EeG2xva9erxGmQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SM-eOBW3EeG2xva9erxGmQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_SM93IBW3EeG2xva9erxGmQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//DerivedTypedElementEObjectListResult"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SM93IRW3EeG2xva9erxGmQ" x="900" y="360"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Eq5GYuqWEeC2XowyKYkfCg"/>
+ <element xmi:type="ecore:EPackage" href="efacet-0.2.0.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="__mBEIv5SEeCqzpi5PItoVA" type="3002" source="__mCSPP5SEeCqzpi5PItoVA" target="__mEucf5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="__mBEI_5SEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mBEJP5SEeCqzpi5PItoVA" x="-20" y="-43"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__mBEJf5SEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__mBEJv5SEeCqzpi5PItoVA" y="-11"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__mBEJ_5SEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__mBEKP5SEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//ParameterValue/parameter"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__mBEKf5SEeCqzpi5PItoVA" points="[-70, -11, 86, 13]$[-139, -21, 17, 3]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__mBEKv5SEeCqzpi5PItoVA" id="(0.926829268292683,0.475)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_So7wcAB5EeGEGNPtjb321w" type="3003" source="__mCSSv5SEeCqzpi5PItoVA" target="_Sor40AB5EeGEGNPtjb321w">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_So7wcQB5EeGEGNPtjb321w" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_So7wcgB5EeGEGNPtjb321w" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_So7wcwB5EeGEGNPtjb321w" points="[106, 0, -63, 151]$[106, -151, -63, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SpDsQAB5EeGEGNPtjb321w" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SpETUAB5EeGEGNPtjb321w" id="(0.3333333333333333,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_VN5nkAB5EeGEGNPtjb321w" type="3002" source="_Sor40AB5EeGEGNPtjb321w" target="__mDgUP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_VN61sAB5EeGEGNPtjb321w" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN61sQB5EeGEGNPtjb321w" x="-6" y="-72"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VN7cwAB5EeGEGNPtjb321w" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN7cwQB5EeGEGNPtjb321w" x="-21" y="-16"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_VN5nkQB5EeGEGNPtjb321w" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VN5nkgB5EeGEGNPtjb321w" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//AbstractDerivedTypedElementResult/derivedTypedElement"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VN5nkwB5EeGEGNPtjb321w" points="[0, -2, 11, 97]$[-11, -99, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONJkgB5EeGEGNPtjb321w" id="(0.14414414414414414,0.058823529411764705)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONwoAB5EeGEGNPtjb321w" id="(0.4965034965034965,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_VN9R8AB5EeGEGNPtjb321w" type="3002" source="_Sor40AB5EeGEGNPtjb321w" target="__mCSPP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_VN95AAB5EeGEGNPtjb321w" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN95AQB5EeGEGNPtjb321w" x="-38" y="-13"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VN95AgB5EeGEGNPtjb321w" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN95AwB5EeGEGNPtjb321w" x="2" y="-28"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_VN9R8QB5EeGEGNPtjb321w" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VN9R8gB5EeGEGNPtjb321w" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//AbstractDerivedTypedElementResult/parameterValues"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VN9R8wB5EeGEGNPtjb321w" points="[-43, -7, 205, 3]$[-113, -18, 135, -8]$[-117, -18, 131, -8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONwowB5EeGEGNPtjb321w" id="(0.03153153153153153,0.43137254901960786)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VOOXsAB5EeGEGNPtjb321w" id="(0.9370629370629371,0.5294117647058824)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_VN_HIAB5EeGEGNPtjb321w" type="3002" source="_Sor40AB5EeGEGNPtjb321w" target="__mEHYP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_VN_uMAB5EeGEGNPtjb321w" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN_uMQB5EeGEGNPtjb321w" x="-21" y="24"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VN_uMgB5EeGEGNPtjb321w" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VN_uMwB5EeGEGNPtjb321w" x="-6" y="14"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_VN_HIQB5EeGEGNPtjb321w" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VN_HIgB5EeGEGNPtjb321w" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//AbstractDerivedTypedElementResult/source"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VN_HIwB5EeGEGNPtjb321w" points="[0, 0, -128, 95]$[128, -95, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONwoQB5EeGEGNPtjb321w" id="(0.7477477477477478,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONwogB5EeGEGNPtjb321w" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_VOAVQAB5EeGEGNPtjb321w" type="3003" source="_VNtaUAB5EeGEGNPtjb321w" target="_Sor40AB5EeGEGNPtjb321w">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_VOAVQQB5EeGEGNPtjb321w" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VOAVQgB5EeGEGNPtjb321w" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VOAVQwB5EeGEGNPtjb321w" points="[-103, 0, -71, 151]$[-103, -151, -71, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONJkAB5EeGEGNPtjb321w" id="(0.4975369458128079,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VONJkQB5EeGEGNPtjb321w" id="(0.6666666666666666,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IyzCwBW3EeG2xva9erxGmQ" type="3002" source="_Iym1gRW3EeG2xva9erxGmQ" target="__mEHYP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_Iyzp0BW3EeG2xva9erxGmQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iyzp0RW3EeG2xva9erxGmQ" x="9" y="-8"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Iyzp0hW3EeG2xva9erxGmQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iyzp0xW3EeG2xva9erxGmQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IyzCwRW3EeG2xva9erxGmQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IyzCwhW3EeG2xva9erxGmQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//DerivedTypedElementEObjectResult/result"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IyzCwxW3EeG2xva9erxGmQ" points="[-73, -20, 470, 166]$[-73, -170, 470, 16]$[-493, -170, 50, 16]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Iy0Q4BW3EeG2xva9erxGmQ" type="3003" source="_Iym1gRW3EeG2xva9erxGmQ" target="_Sor40AB5EeGEGNPtjb321w">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Iy0Q4RW3EeG2xva9erxGmQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Iy0Q4hW3EeG2xva9erxGmQ" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Iy0Q4xW3EeG2xva9erxGmQ" points="[-88, -20, 240, 181]$[-88, -100, 240, 101]$[-248, -100, 80, 101]$[-248, -176, 80, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_SNGaABW3EeG2xva9erxGmQ" type="3002" source="_SM9QEBW3EeG2xva9erxGmQ" target="__mEHYP5SEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_SNHBEBW3EeG2xva9erxGmQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SNHBERW3EeG2xva9erxGmQ" x="-6" y="-8"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SNHBEhW3EeG2xva9erxGmQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SNHBExW3EeG2xva9erxGmQ" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_SNGaARW3EeG2xva9erxGmQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SNGaAhW3EeG2xva9erxGmQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//DerivedTypedElementEObjectListResult/resultList"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SNGaAxW3EeG2xva9erxGmQ" points="[-53, -20, 465, 281]$[-53, -315, 465, -14]$[-468, -315, 50, -14]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_SNIPMBW3EeG2xva9erxGmQ" type="3003" source="_SM9QEBW3EeG2xva9erxGmQ" target="_Sor40AB5EeGEGNPtjb321w">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_SNIPMRW3EeG2xva9erxGmQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SNIPMhW3EeG2xva9erxGmQ" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SNIPMxW3EeG2xva9erxGmQ" points="[-93, -20, 480, 181]$[-93, -127, 480, 74]$[-473, -127, 100, 74]$[-473, -176, 100, 25]"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-serialization.ecorediag b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-serialization.ecorediag
new file mode 100644
index 00000000000..729367b9c67
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2-serialization.ecorediag
@@ -0,0 +1,406 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_CmfYMeOIEeCYNNyffmuRHg" type="EcoreTools" name="efacet2.ecorediag" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_Cm5n4OOIEeCYNNyffmuRHg" type="1002">
+ <children xmi:type="notation:Node" xmi:id="_Cm5n5OOIEeCYNNyffmuRHg" type="4006"/>
+ <children xmi:type="notation:Node" xmi:id="_Cm5n5eOIEeCYNNyffmuRHg" type="5003">
+ <children xmi:type="notation:Node" xmi:id="_GBhUoOOIEeCYNNyffmuRHg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_GBh7sOOIEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_GBh7seOIEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBh7suOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBh7s-OIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBh7tOOIEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBiiwOOIEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBiiweOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBiiwuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBiiw-OIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_GBhUoeOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//serialization/ExtendedEObjectReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBhUouOIEeCYNNyffmuRHg" x="320" y="12" width="183"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBkX8-OIEeCYNNyffmuRHg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_GBk_AOOIEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_GBlmEOOIEeCYNNyffmuRHg" type="5004">
+ <children xmi:type="notation:Node" xmi:id="_GBvXEOOIEeCYNNyffmuRHg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet-0.2.0.ecore#//serialization/SingleValuedAttributeInstance/value"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GBvXEeOIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBlmEeOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBlmEuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBlmE-OIEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBlmFOOIEeCYNNyffmuRHg" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBlmFeOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBlmFuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBlmF-OIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_GBkX9OOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//serialization/SingleValuedAttributeInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBkX9eOIEeCYNNyffmuRHg" x="225" y="187" width="198"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBmNIOOIEeCYNNyffmuRHg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_GBm0MOOIEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_GBm0MeOIEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBm0MuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBm0M-OIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBm0NOOIEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBnbQOOIEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBnbQeOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBnbQuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBnbQ-OIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_GBmNIeOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//serialization/AbstractReferenceInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBmNIuOIEeCYNNyffmuRHg" x="450" y="182"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBnbROOIEeCYNNyffmuRHg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_GBoCUOOIEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_GBopYOOIEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBopYeOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBopYuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBopY-OIEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBopZOOIEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBopZeOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBopZuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBopZ-OIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_GBnbReOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//serialization/MultiValuedReferenceInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBnbRuOIEeCYNNyffmuRHg" x="640" y="272" width="208"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6rbCQOOLEeCYNNyffmuRHg" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6rt9MOOLEeCYNNyffmuRHg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6rt9MeOLEeCYNNyffmuRHg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_6rbpUOOLEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_6rbpUeOLEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_6rbpUuOLEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6rbpU-OLEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6rbpVOOLEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6rcQYOOLEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_6rcQYeOLEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6rcQYuOLEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6rcQY-OLEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_6rbCQeOLEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EAttribute"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6rbCQuOLEeCYNNyffmuRHg" y="112" width="117"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_G4rCQOOMEeCYNNyffmuRHg" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G5KKcOOMEeCYNNyffmuRHg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G5KKceOMEeCYNNyffmuRHg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_G4rpUOOMEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_G4rpUeOMEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_G4rpUuOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G4rpU-OMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G4rpVOOMEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_G4rpVeOMEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_G4rpVuOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G4rpV-OMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G4rpWOOMEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_G4rCQeOMEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G4rCQuOMEeCYNNyffmuRHg" x="720" y="192" width="118"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mxDwIOOMEeCYNNyffmuRHg" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxi4UOOMEeCYNNyffmuRHg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxi4UeOMEeCYNNyffmuRHg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_mxGzcOOMEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_mxGzceOMEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_mxGzcuOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mxGzc-OMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mxGzdOOMEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mxHagOOMEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_mxHageOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mxHaguOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mxHag-OMEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_mxDwIeOMEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxDwIuOMEeCYNNyffmuRHg" x="655" y="17"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wNcLAeOMEeCYNNyffmuRHg" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wNcLAuOMEeCYNNyffmuRHg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wNcLA-OMEeCYNNyffmuRHg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_wNcLBOOMEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_wNcLBeOMEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_wNcLBuOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wNcLB-OMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wNcLCOOMEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wNcLCeOMEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_wNcLCuOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wNcLC-OMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wNcLDOOMEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_wNcLDeOMEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wNcLDuOMEeCYNNyffmuRHg" x="485" y="387"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_w3w2IORXEeC5WpT-Wrn0aw" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_w3zSYORXEeC5WpT-Wrn0aw" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_w3z5cORXEeC5WpT-Wrn0aw" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_w3z5ceRXEeC5WpT-Wrn0aw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_w3z5cuRXEeC5WpT-Wrn0aw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_w3z5c-RXEeC5WpT-Wrn0aw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_w3z5dORXEeC5WpT-Wrn0aw" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_w3z5deRXEeC5WpT-Wrn0aw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_w3z5duRXEeC5WpT-Wrn0aw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_w3z5d-RXEeC5WpT-Wrn0aw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_w3w2IeRXEeC5WpT-Wrn0aw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//serialization/MultiValuedContainmentReferenceInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w3w2IuRXEeC5WpT-Wrn0aw" x="355" y="272" width="278"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_cXQZYQYrEeGYDsUJWg2Svg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_cXRngAYrEeGYDsUJWg2Svg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_cXRngQYrEeGYDsUJWg2Svg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_cXRnggYrEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cXRngwYrEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cXRnhAYrEeGYDsUJWg2Svg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_cXSOkAYrEeGYDsUJWg2Svg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_cXSOkQYrEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cXSOkgYrEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cXSOkwYrEeGYDsUJWg2Svg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_cXQZYgYrEeGYDsUJWg2Svg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//serialization/SingleValuedContainmentReferenceInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cXQZYwYrEeGYDsUJWg2Svg" x="65" y="272" width="283"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_rkjqAAYrEeGYDsUJWg2Svg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_rkkREAYrEeGYDsUJWg2Svg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_rkkREQYrEeGYDsUJWg2Svg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_rkkREgYrEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rkkREwYrEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rkkRFAYrEeGYDsUJWg2Svg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_rkk4IAYrEeGYDsUJWg2Svg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_rkk4IQYrEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rkk4IgYrEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rkk4IwYrEeGYDsUJWg2Svg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_rkjqAQYrEeGYDsUJWg2Svg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//serialization/SingleValuedReferenceInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkjqAgYrEeGYDsUJWg2Svg" x="855" y="272" width="208"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_UzFn4AYsEeGYDsUJWg2Svg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_UzGO8AYsEeGYDsUJWg2Svg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_UzG2AAYsEeGYDsUJWg2Svg" type="5004">
+ <children xmi:type="notation:Node" xmi:id="_YnRrMAYsEeGYDsUJWg2Svg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet-0.2.0.ecore#//serialization/MultiValuedAttributeInstance/values"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YnSSQAYsEeGYDsUJWg2Svg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_UzG2AQYsEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UzG2AgYsEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UzG2AwYsEeGYDsUJWg2Svg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_UzG2BAYsEeGYDsUJWg2Svg" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_UzG2BQYsEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UzG2BgYsEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UzG2BwYsEeGYDsUJWg2Svg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_UzFn4QYsEeGYDsUJWg2Svg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//serialization/MultiValuedAttributeInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UzFn4gYsEeGYDsUJWg2Svg" x="25" y="187" width="193"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_nIhHEAYsEeGYDsUJWg2Svg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_nIhuIAYsEeGYDsUJWg2Svg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_nIhuIQYsEeGYDsUJWg2Svg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nIhuIgYsEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nIhuIwYsEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nIhuJAYsEeGYDsUJWg2Svg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_nIiVMAYsEeGYDsUJWg2Svg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_nIiVMQYsEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nIiVMgYsEeGYDsUJWg2Svg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nIiVMwYsEeGYDsUJWg2Svg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_nIhHEQYsEeGYDsUJWg2Svg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet-0.2.0.ecore#//serialization/AbstractAttributeInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nIhHEgYsEeGYDsUJWg2Svg" x="180" y="107" height="23"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Cm5n5uOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Cm5n5-OIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Cm5n6OOIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Cm5n4eOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" lineColor="4210752"/>
+ <styles xmi:type="notation:MultiDiagramLinkStyle" xmi:id="_Cm5n4uOIEeCYNNyffmuRHg"/>
+ <element xmi:type="ecore:EPackage" href="efacet-0.2.0.ecore#//serialization"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cm5n4-OIEeCYNNyffmuRHg" x="20" y="20" width="1123" height="483"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_CmfYMuOIEeCYNNyffmuRHg"/>
+ <element xmi:type="ecore:EPackage" href="efacet-0.2.0.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_GB3S4OOIEeCYNNyffmuRHg" type="3002" source="_GBhUoOOIEeCYNNyffmuRHg" target="_nIhHEAYsEeGYDsUJWg2Svg">
+ <children xmi:type="notation:Node" xmi:id="_GB3S5OOIEeCYNNyffmuRHg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GB3S5eOIEeCYNNyffmuRHg" x="27" y="53"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GB3S5uOIEeCYNNyffmuRHg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GB3S5-OIEeCYNNyffmuRHg" x="11" y="15"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_GB3S4eOIEeCYNNyffmuRHg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GB3S4uOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//serialization/ExtendedEObjectReference/attributeInstances"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GB3S4-OIEeCYNNyffmuRHg" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCIYouOIEeCYNNyffmuRHg" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCIYo-OIEeCYNNyffmuRHg" id="(0.7831325301204819,0.20930232558139536)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_GB358OOIEeCYNNyffmuRHg" type="3002" source="_GBhUoOOIEeCYNNyffmuRHg" target="_GBmNIOOIEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_GB4hAOOIEeCYNNyffmuRHg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GB4hAeOIEeCYNNyffmuRHg" x="3" y="-64"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GB4hAuOIEeCYNNyffmuRHg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GB4hA-OIEeCYNNyffmuRHg" x="7" y="-20"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_GB358eOIEeCYNNyffmuRHg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GB358uOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//serialization/ExtendedEObjectReference/referenceInstances"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GB358-OIEeCYNNyffmuRHg" points="[0, 0, -164, 68]$[164, -68, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCI_sOOIEeCYNNyffmuRHg" id="(0.7134831460674157,0.9767441860465116)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCI_seOIEeCYNNyffmuRHg" id="(0.2471264367816092,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_GB8LYOOIEeCYNNyffmuRHg" type="3003" source="_GBnbROOIEeCYNNyffmuRHg" target="_GBmNIOOIEeCYNNyffmuRHg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_GB8LYeOIEeCYNNyffmuRHg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GB8LYuOIEeCYNNyffmuRHg" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GB8LY-OIEeCYNNyffmuRHg" points="[-83, 0, 82, 52]$[-83, -10, 82, 42]$[-178, -10, -13, 42]$[-178, -52, -13, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCIYoOOIEeCYNNyffmuRHg" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCIYoeOIEeCYNNyffmuRHg" id="(0.7471264367816092,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_G4654OOMEeCYNNyffmuRHg" type="3002" source="_GBmNIOOIEeCYNNyffmuRHg" target="_G4rCQOOMEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_G47g8OOMEeCYNNyffmuRHg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G47g8eOMEeCYNNyffmuRHg" x="-18" y="-11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_G47g8uOMEeCYNNyffmuRHg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G47g8-OMEeCYNNyffmuRHg" y="9"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_G4654eOMEeCYNNyffmuRHg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_G4654uOMEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//serialization/AbstractReferenceInstance/eReference"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G4654-OMEeCYNNyffmuRHg" points="[-86, -8, 311, 30]$[-396, -38, 1, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_mxaVcOOMEeCYNNyffmuRHg" type="3002" source="_GBhUoOOIEeCYNNyffmuRHg" target="_mxDwIOOMEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_mxaVdOOMEeCYNNyffmuRHg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mxaVdeOMEeCYNNyffmuRHg" x="-36" y="-11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mxaVduOMEeCYNNyffmuRHg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mxaVd-OMEeCYNNyffmuRHg" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_mxaVceOMEeCYNNyffmuRHg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_mxaVcuOMEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//serialization/ExtendedEObjectReference/extendedEObject"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mxaVc-OMEeCYNNyffmuRHg" points="[-88, -8, 286, 25]$[-373, -33, 1, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_pXKB4ORLEeC5WpT-Wrn0aw" type="3002" source="_GBnbROOIEeCYNNyffmuRHg" target="_wNcLAeOMEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_pXKo8uRLEeC5WpT-Wrn0aw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pXKo8-RLEeC5WpT-Wrn0aw" x="-18" y="11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_pXLQAORLEeC5WpT-Wrn0aw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pXLQAeRLEeC5WpT-Wrn0aw" x="13" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_pXKB4eRLEeC5WpT-Wrn0aw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_pXKo8ORLEeC5WpT-Wrn0aw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//serialization/MultiValuedReferenceInstance/referencedElements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pXKo8eRLEeC5WpT-Wrn0aw" points="[9, -20, -354, 746]$[354, -747, -9, 19]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NbL6sORVEeC5WpT-Wrn0aw" id="(0.7647058823529411,0.15)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_w37OMORXEeC5WpT-Wrn0aw" type="3002" source="_w3w2IORXEeC5WpT-Wrn0aw" target="_wNcLAeOMEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_w371QORXEeC5WpT-Wrn0aw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w371QeRXEeC5WpT-Wrn0aw" x="-26" y="33"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_w371QuRXEeC5WpT-Wrn0aw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w371Q-RXEeC5WpT-Wrn0aw" x="-8" y="11"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_w37OMeRXEeC5WpT-Wrn0aw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_w37OMuRXEeC5WpT-Wrn0aw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//serialization/MultiValuedContainmentReferenceInstance/ownedElements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w37OM-RXEeC5WpT-Wrn0aw" points="[11, 21, -26, -51]$[33, 65, -4, -7]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2QjIORXEeC5WpT-Wrn0aw" id="(0.2549019607843137,0.2)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_w38cUORXEeC5WpT-Wrn0aw" type="3003" source="_w3w2IORXEeC5WpT-Wrn0aw" target="_GBmNIOOIEeCYNNyffmuRHg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_w38cUeRXEeC5WpT-Wrn0aw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_w38cUuRXEeC5WpT-Wrn0aw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w38cU-RXEeC5WpT-Wrn0aw" points="[32, -19, -46, 71]$[32, -71, -46, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_k-dfwAYrEeGYDsUJWg2Svg" type="3003" source="_cXQZYQYrEeGYDsUJWg2Svg" target="_GBmNIOOIEeCYNNyffmuRHg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_k-dfwQYrEeGYDsUJWg2Svg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_k-dfwgYrEeGYDsUJWg2Svg" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_k-dfwwYrEeGYDsUJWg2Svg" points="[-37, -10, -199, 64]$[-37, -25, -199, 49]$[137, -25, -25, 49]$[137, -62, -25, 12]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_k-gjEAYrEeGYDsUJWg2Svg" id="(0.8975265017667845,0.275)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_k-gjEQYrEeGYDsUJWg2Svg" id="(0.1724137931034483,0.7)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_wxvgkAYrEeGYDsUJWg2Svg" type="3003" source="_rkjqAAYrEeGYDsUJWg2Svg" target="_GBmNIOOIEeCYNNyffmuRHg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_wxvgkQYrEeGYDsUJWg2Svg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_wxvgkgYrEeGYDsUJWg2Svg" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wxvgkwYrEeGYDsUJWg2Svg" points="[7, -11, 314, 64]$[7, -31, 314, 44]$[-288, -31, 19, 44]$[-288, -63, 19, 12]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wxx80AYrEeGYDsUJWg2Svg" id="(0.2,0.3)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wxx80QYrEeGYDsUJWg2Svg" id="(0.7931034482758621,0.7)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_1ETh8AYrEeGYDsUJWg2Svg" type="3002" source="_cXQZYQYrEeGYDsUJWg2Svg" target="_wNcLAeOMEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_1EUJAAYrEeGYDsUJWg2Svg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1EUwEAYrEeGYDsUJWg2Svg" x="-61" y="26"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_1EVXIAYrEeGYDsUJWg2Svg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1EVXIQYrEeGYDsUJWg2Svg" x="-25" y="29"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_1ETh8QYrEeGYDsUJWg2Svg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_1ETh8gYrEeGYDsUJWg2Svg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//serialization/SingleValuedContainmentReferenceInstance/ownedElement"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1ETh8wYrEeGYDsUJWg2Svg" points="[48, 19, -239, -95]$[288, 96, 1, -18]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1EXzYAYrEeGYDsUJWg2Svg" id="(0.0784313725490196,0.475)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_4FQKcAYrEeGYDsUJWg2Svg" type="3002" source="_rkjqAAYrEeGYDsUJWg2Svg" target="_wNcLAeOMEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_4FQxgAYrEeGYDsUJWg2Svg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4FQxgQYrEeGYDsUJWg2Svg" x="-2" y="-28"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_4FQxggYrEeGYDsUJWg2Svg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4FQxgwYrEeGYDsUJWg2Svg" x="33" y="-12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_4FQKcQYrEeGYDsUJWg2Svg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4FQKcgYrEeGYDsUJWg2Svg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//serialization/SingleValuedReferenceInstance/referencedElement"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4FQKcwYrEeGYDsUJWg2Svg" points="[-20, 19, 362, -105]$[-116, 111, 266, -13]$[-366, 123, 16, -1]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4FT00AYrEeGYDsUJWg2Svg" id="(0.9705882352941176,0.475)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_cZc8UAYsEeGYDsUJWg2Svg" type="3002" source="_nIhHEAYsEeGYDsUJWg2Svg" target="_6rbCQOOLEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_cZdjYAYsEeGYDsUJWg2Svg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cZdjYQYsEeGYDsUJWg2Svg" x="-23" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_cZdjYgYsEeGYDsUJWg2Svg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cZdjYwYsEeGYDsUJWg2Svg" x="1" y="13"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_cZc8UQYsEeGYDsUJWg2Svg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_cZc8UgYsEeGYDsUJWg2Svg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet-0.2.0.ecore#//serialization/AbstractAttributeInstance/eAttribute"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cZc8UwYsEeGYDsUJWg2Svg" points="[-24, -2, 135, 10]$[-109, -8, 50, 4]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cZf_oAYsEeGYDsUJWg2Svg" id="(0.15060240963855423,0.3953488372093023)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cZf_oQYsEeGYDsUJWg2Svg" id="(0.9829059829059829,0.3)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_xL9h8AYsEeGYDsUJWg2Svg" type="3003" source="_UzFn4AYsEeGYDsUJWg2Svg" target="_nIhHEAYsEeGYDsUJWg2Svg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_xL9h8QYsEeGYDsUJWg2Svg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xL9h8gYsEeGYDsUJWg2Svg" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xL9h8wYsEeGYDsUJWg2Svg" points="[13, -24, -132, 60]$[13, -39, -132, 45]$[113, -39, -32, 45]$[113, -63, -32, 21]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_xkTJcAYsEeGYDsUJWg2Svg" type="3003" source="_GBkX8-OIEeCYNNyffmuRHg" target="_nIhHEAYsEeGYDsUJWg2Svg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_xkTJcQYsEeGYDsUJWg2Svg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xkTJcgYsEeGYDsUJWg2Svg" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xkTJcwYsEeGYDsUJWg2Svg" points="[49, -8, 63, 60]$[49, -23, 63, 45]$[-10, -23, 4, 45]$[-10, -47, 4, 21]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkVlsAYsEeGYDsUJWg2Svg" id="(0.2694300518134715,0.17647058823529413)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2.ecorediag b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2.ecorediag
new file mode 100644
index 00000000000..bac70df09dc
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2.ecorediag
@@ -0,0 +1,891 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_CmfYMeOIEeCYNNyffmuRHg" type="EcoreTools" name="efacet2.ecorediag" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_Cm5n4OOIEeCYNNyffmuRHg" type="1002">
+ <children xmi:type="notation:Node" xmi:id="_Cm5n5OOIEeCYNNyffmuRHg" type="4006"/>
+ <children xmi:type="notation:Node" xmi:id="_Cm5n5eOIEeCYNNyffmuRHg" type="5003">
+ <children xmi:type="notation:Node" xmi:id="_GBhUoOOIEeCYNNyffmuRHg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_GBh7sOOIEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_GBh7seOIEeCYNNyffmuRHg" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBh7suOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBh7s-OIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBh7tOOIEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBiiwOOIEeCYNNyffmuRHg" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBiiweOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBiiwuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBiiw-OIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_GBhUoeOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//serialization/ExtendedEObjectReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBhUouOIEeCYNNyffmuRHg" x="285" y="12" width="183"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBkX8-OIEeCYNNyffmuRHg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_GBk_AOOIEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_GBlmEOOIEeCYNNyffmuRHg" type="5004">
+ <children xmi:type="notation:Node" xmi:id="_GBvXEOOIEeCYNNyffmuRHg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet2.ecore#//serialization/AttributeInstance/value"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GBvXEeOIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBlmEeOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBlmEuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBlmE-OIEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBlmFOOIEeCYNNyffmuRHg" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBlmFeOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBlmFuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBlmF-OIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_GBkX9OOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//serialization/AttributeInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBkX9eOIEeCYNNyffmuRHg" x="160" y="142"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBmNIOOIEeCYNNyffmuRHg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_GBm0MOOIEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_GBm0MeOIEeCYNNyffmuRHg" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBm0MuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBm0M-OIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBm0NOOIEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBnbQOOIEeCYNNyffmuRHg" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBnbQeOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBnbQuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBnbQ-OIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_GBmNIeOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//serialization/AbstractReferenceInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBmNIuOIEeCYNNyffmuRHg" x="415" y="137"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBnbROOIEeCYNNyffmuRHg" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_GBoCUOOIEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_GBopYOOIEeCYNNyffmuRHg" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBopYeOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBopYuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBopY-OIEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GBopZOOIEeCYNNyffmuRHg" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_GBopZeOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GBopZuOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GBopZ-OIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_GBnbReOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//serialization/ReferenceInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBnbRuOIEeCYNNyffmuRHg" x="545" y="227"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6rbCQOOLEeCYNNyffmuRHg" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6rt9MOOLEeCYNNyffmuRHg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6rt9MeOLEeCYNNyffmuRHg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_6rbpUOOLEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_6rbpUeOLEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_6rbpUuOLEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6rbpU-OLEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6rbpVOOLEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6rcQYOOLEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_6rcQYeOLEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6rcQYuOLEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6rcQY-OLEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_6rbCQeOLEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EAttribute"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6rbCQuOLEeCYNNyffmuRHg" x="10" y="147"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_G4rCQOOMEeCYNNyffmuRHg" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G5KKcOOMEeCYNNyffmuRHg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G5KKceOMEeCYNNyffmuRHg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_G4rpUOOMEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_G4rpUeOMEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_G4rpUuOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G4rpU-OMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G4rpVOOMEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_G4rpVeOMEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_G4rpVuOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G4rpV-OMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G4rpWOOMEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_G4rCQeOMEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G4rCQuOMEeCYNNyffmuRHg" x="685" y="147"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mxDwIOOMEeCYNNyffmuRHg" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxi4UOOMEeCYNNyffmuRHg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxi4UeOMEeCYNNyffmuRHg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_mxGzcOOMEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_mxGzceOMEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_mxGzcuOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mxGzc-OMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mxGzdOOMEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mxHagOOMEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_mxHageOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mxHaguOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mxHag-OMEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_mxDwIeOMEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxDwIuOMEeCYNNyffmuRHg" x="620" y="17"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wNcLAeOMEeCYNNyffmuRHg" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wNcLAuOMEeCYNNyffmuRHg" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wNcLA-OMEeCYNNyffmuRHg" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_wNcLBOOMEeCYNNyffmuRHg" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_wNcLBeOMEeCYNNyffmuRHg" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_wNcLBuOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wNcLB-OMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wNcLCOOMEeCYNNyffmuRHg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wNcLCeOMEeCYNNyffmuRHg" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_wNcLCuOMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wNcLC-OMEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wNcLDOOMEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_wNcLDeOMEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wNcLDuOMEeCYNNyffmuRHg" x="450" y="342"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_w3w2IORXEeC5WpT-Wrn0aw" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_w3zSYORXEeC5WpT-Wrn0aw" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_w3z5cORXEeC5WpT-Wrn0aw" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_w3z5ceRXEeC5WpT-Wrn0aw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_w3z5cuRXEeC5WpT-Wrn0aw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_w3z5c-RXEeC5WpT-Wrn0aw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_w3z5dORXEeC5WpT-Wrn0aw" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_w3z5deRXEeC5WpT-Wrn0aw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_w3z5duRXEeC5WpT-Wrn0aw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_w3z5d-RXEeC5WpT-Wrn0aw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_w3w2IeRXEeC5WpT-Wrn0aw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//serialization/ContainmentReferenceInstance"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w3w2IuRXEeC5WpT-Wrn0aw" x="320" y="227"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Cm5n5uOIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Cm5n5-OIEeCYNNyffmuRHg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Cm5n6OOIEeCYNNyffmuRHg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Cm5n4eOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13150135" lineColor="4210752"/>
+ <styles xmi:type="notation:MultiDiagramLinkStyle" xmi:id="_Cm5n4uOIEeCYNNyffmuRHg"/>
+ <element xmi:type="ecore:EPackage" href="efacet2.ecore#//serialization"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cm5n4-OIEeCYNNyffmuRHg" x="115" y="730" width="833" height="453"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-5vv5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XH-5v_5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XH-5wP5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH-5wf5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH-5wv5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH-5w_5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-5xP5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH-5xf5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH-5xv5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH-5x_5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XH-5yP5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//TypedElementRef"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XH-5yf5TEeCqzpi5PItoVA" x="695" y="467"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-5yv5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XH-5y_5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XH-5zP5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH-5zf5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH-5zv5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH-5z_5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-50P5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH-50f5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH-50v5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH-50_5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XH-51P5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//ParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XH-51f5TEeCqzpi5PItoVA" x="1240" y="312"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH_goP5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XH_gof5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XH_gov5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH_go_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH_gpP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH_gpf5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH_gpv5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH_gp_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH_gqP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH_gqf5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XH_gqv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//Facet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XH_gq_5TEeCqzpi5PItoVA" x="665" y="257"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH_grP5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XH_grf5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XH_grv5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH_gr_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH_gsP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH_gsf5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH_gsv5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH_gs_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH_gtP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH_gtf5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XH_gtv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//DerivedTypedElementResult"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XH_gt_5TEeCqzpi5PItoVA" x="960" y="307"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH_guP5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XH_guf5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XH_guv5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH_gu_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH_gvP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH_gvf5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH_gvv5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH_gv_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH_gwP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH_gwf5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XH_gwv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//Category"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XH_gw_5TEeCqzpi5PItoVA" x="445" y="107"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH_gxP5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XH_gxf5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XH_gxv5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH_gx_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH_gyP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH_gyf5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH_gyv5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH_gy_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH_gzP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH_gzf5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XH_gzv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//FacetElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XH_gz_5TEeCqzpi5PItoVA" x="215" y="122"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH_g0P5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XH_g0f5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XH_g0v5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH_g0_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH_g1P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH_g1f5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH_g1v5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XH_g1_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XH_g2P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XH_g2f5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XH_g2v5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//FacetSet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XH_g2_5TEeCqzpi5PItoVA" x="655" y="102" width="128"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAHsP5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XIAHsf5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAHsv5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAHs_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAHtP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAHtf5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAHtv5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAHt_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAHuP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAHuf5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAHuv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//FacetReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAHu_5TEeCqzpi5PItoVA" x="120" y="507"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAHvP5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XIAHvf5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAHvv5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAHv_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAHwP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAHwf5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAHwv5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAHw_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAHxP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAHxf5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAHxv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//FacetAttribute"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAHx_5TEeCqzpi5PItoVA" x="285" y="507"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAHyP5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XIAHyf5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAHyv5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAHy_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAHzP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAHzf5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAHzv5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAHz_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAH0P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAH0f5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAH0v5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//FacetOperation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAH0_5TEeCqzpi5PItoVA" x="450" y="507"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAH1P5TEeCqzpi5PItoVA" type="2003">
+ <children xmi:type="notation:Node" xmi:id="_XIAH1f5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAH1v5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAH1_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAH2P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAH2f5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAH2v5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAH2_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAH3P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAH3f5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAH3v5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet2.ecore#//extensible/Query"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAH3_5TEeCqzpi5PItoVA" x="715" y="342" width="193" height="83"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAH4P5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIAH4f5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIAH4v5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIAH4_5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAH5P5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAH5f5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAH5v5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAH5_5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAH6P5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAH6f5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAH6v5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAH6_5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAH7P5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAH7f5TEeCqzpi5PItoVA" x="125" y="412"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAH7v5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIAH7_5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIAH8P5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIAH8f5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAH8v5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAH8_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAH9P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAH9f5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAH9v5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAH9_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAH-P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAH-f5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAH-v5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EAttribute"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAH-_5TEeCqzpi5PItoVA" x="355" y="427"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAuwP5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIAuwf5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIAuwv5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIAuw_5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAuxP5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAuxf5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAuxv5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAux_5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAuyP5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAuyf5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAuyv5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAuy_5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAuzP5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EOperation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAuzf5TEeCqzpi5PItoVA" x="520" y="422" width="117"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAuzv5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIAuz_5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIAu0P5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIAu0f5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAu0v5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAu0_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAu1P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAu1f5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAu1v5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAu1_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAu2P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAu2f5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAu2v5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAu2_5TEeCqzpi5PItoVA" x="820" y="152"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAu3P5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIAu3f5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIAu3v5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIAu3_5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAu4P5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAu4f5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAu4v5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAu4_5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAu5P5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAu5f5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAu5v5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAu5_5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAu6P5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAu6f5TEeCqzpi5PItoVA" x="250" y="297"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAu6v5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIAu6_5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIAu7P5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIAu7f5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAu7v5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAu7_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAu8P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAu8f5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAu8v5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAu8_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAu9P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAu9f5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAu9v5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAu9_5TEeCqzpi5PItoVA" x="665" y="22"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAu-P5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIAu-f5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIAu-v5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIAu-_5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAu_P5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAu_f5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAu_v5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAu__5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAvAP5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAvAf5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAvAv5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAvA_5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAvBP5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAvBf5TEeCqzpi5PItoVA" x="1040" y="192"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAvBv5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIAvB_5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIAvCP5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIAvCf5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAvCv5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAvC_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAvDP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAvDf5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAvDv5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAvD_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAvEP5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAvEf5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAvEv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAvE_5TEeCqzpi5PItoVA" x="215" y="37"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAvFP5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIAvFf5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIAvFv5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIAvF_5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIAvGP5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAvGf5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAvGv5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAvG_5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIAvHP5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIAvHf5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIAvHv5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIAvH_5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIAvIP5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClassifier"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIAvIf5TEeCqzpi5PItoVA" x="585" y="167"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIBV0P5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIBV0f5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIBV0v5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIBV0_5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIBV1P5TEeCqzpi5PItoVA" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIBV1f5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIBV1v5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIBV1_5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIBV2P5TEeCqzpi5PItoVA" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIBV2f5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIBV2v5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIBV2_5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIBV3P5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIBV3f5TEeCqzpi5PItoVA" x="445" y="12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIBV3v5TEeCqzpi5PItoVA" type="2003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XIBV3_5TEeCqzpi5PItoVA" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XIBV4P5TEeCqzpi5PItoVA" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_XIBV4f5TEeCqzpi5PItoVA" type="4002"/>
+ <children xmi:type="notation:Node" xmi:id="_XIBV4v5TEeCqzpi5PItoVA" visible="false" type="5004">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIBV4_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIBV5P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIBV5f5TEeCqzpi5PItoVA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XIBV5v5TEeCqzpi5PItoVA" visible="false" type="5005">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_XIBV5_5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_XIBV6P5TEeCqzpi5PItoVA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_XIBV6f5TEeCqzpi5PItoVA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_XIBV6v5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIBV6_5TEeCqzpi5PItoVA" x="280" y="217" width="137"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_CmfYMuOIEeCYNNyffmuRHg"/>
+ <element xmi:type="ecore:EPackage" href="efacet2.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_GB3S4OOIEeCYNNyffmuRHg" type="3002" source="_GBhUoOOIEeCYNNyffmuRHg" target="_GBkX8-OIEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_GB3S5OOIEeCYNNyffmuRHg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GB3S5eOIEeCYNNyffmuRHg" x="29" y="56"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GB3S5uOIEeCYNNyffmuRHg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GB3S5-OIEeCYNNyffmuRHg" x="15" y="18"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_GB3S4eOIEeCYNNyffmuRHg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GB3S4uOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//serialization/ExtendedEObjectReference/attributeInstances"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GB3S4-OIEeCYNNyffmuRHg" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCIYouOIEeCYNNyffmuRHg" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCIYo-OIEeCYNNyffmuRHg" id="(0.4965034965034965,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_GB358OOIEeCYNNyffmuRHg" type="3002" source="_GBhUoOOIEeCYNNyffmuRHg" target="_GBmNIOOIEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_GB4hAOOIEeCYNNyffmuRHg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GB4hAeOIEeCYNNyffmuRHg" x="3" y="-64"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_GB4hAuOIEeCYNNyffmuRHg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GB4hA-OIEeCYNNyffmuRHg" x="3" y="-25"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_GB358eOIEeCYNNyffmuRHg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GB358uOIEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//serialization/ExtendedEObjectReference/referenceInstances"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GB358-OIEeCYNNyffmuRHg" points="[0, 0, -164, 68]$[164, -68, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCI_sOOIEeCYNNyffmuRHg" id="(0.7134831460674157,0.9767441860465116)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCI_seOIEeCYNNyffmuRHg" id="(0.2471264367816092,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_GB8LYOOIEeCYNNyffmuRHg" type="3003" source="_GBnbROOIEeCYNNyffmuRHg" target="_GBmNIOOIEeCYNNyffmuRHg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_GB8LYeOIEeCYNNyffmuRHg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GB8LYuOIEeCYNNyffmuRHg" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GB8LY-OIEeCYNNyffmuRHg" points="[-42, 0, 22, 69]$[-42, -69, 22, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCIYoOOIEeCYNNyffmuRHg" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GCIYoeOIEeCYNNyffmuRHg" id="(0.7471264367816092,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_6rkMMOOLEeCYNNyffmuRHg" type="3002" source="_GBkX8-OIEeCYNNyffmuRHg" target="_6rbCQOOLEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_6rkMNOOLEeCYNNyffmuRHg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6rkMNeOLEeCYNNyffmuRHg" x="-16" y="-34"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6rkzQOOLEeCYNNyffmuRHg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6rkzQeOLEeCYNNyffmuRHg" x="-4" y="-15"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_6rkMMeOLEeCYNNyffmuRHg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_6rkMMuOLEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//serialization/AttributeInstance/eAttribute"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6rkMM-OLEeCYNNyffmuRHg" points="[-13, -24, 133, 258]$[-146, -281, 0, 1]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_G4654OOMEeCYNNyffmuRHg" type="3002" source="_GBmNIOOIEeCYNNyffmuRHg" target="_G4rCQOOMEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_G47g8OOMEeCYNNyffmuRHg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G47g8eOMEeCYNNyffmuRHg" x="-18" y="-11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_G47g8uOMEeCYNNyffmuRHg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G47g8-OMEeCYNNyffmuRHg" y="9"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_G4654eOMEeCYNNyffmuRHg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_G4654uOMEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//serialization/AbstractReferenceInstance/eReference"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G4654-OMEeCYNNyffmuRHg" points="[-86, -8, 311, 30]$[-396, -38, 1, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_mxaVcOOMEeCYNNyffmuRHg" type="3002" source="_GBhUoOOIEeCYNNyffmuRHg" target="_mxDwIOOMEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_mxaVdOOMEeCYNNyffmuRHg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mxaVdeOMEeCYNNyffmuRHg" x="-36" y="-11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mxaVduOMEeCYNNyffmuRHg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mxaVd-OMEeCYNNyffmuRHg" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_mxaVceOMEeCYNNyffmuRHg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_mxaVcuOMEeCYNNyffmuRHg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//serialization/ExtendedEObjectReference/extendedEObject"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mxaVc-OMEeCYNNyffmuRHg" points="[-88, -8, 286, 25]$[-373, -33, 1, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_pXKB4ORLEeC5WpT-Wrn0aw" type="3002" source="_GBnbROOIEeCYNNyffmuRHg" target="_wNcLAeOMEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_pXKo8uRLEeC5WpT-Wrn0aw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pXKo8-RLEeC5WpT-Wrn0aw" x="-59" y="-47"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_pXLQAORLEeC5WpT-Wrn0aw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pXLQAeRLEeC5WpT-Wrn0aw" x="-19" y="-22"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_pXKB4eRLEeC5WpT-Wrn0aw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_pXKo8ORLEeC5WpT-Wrn0aw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//serialization/ReferenceInstance/referencedElements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pXKo8eRLEeC5WpT-Wrn0aw" points="[9, -20, -354, 746]$[354, -747, -9, 19]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NbL6sORVEeC5WpT-Wrn0aw" id="(0.7647058823529411,0.15)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_w37OMORXEeC5WpT-Wrn0aw" type="3002" source="_w3w2IORXEeC5WpT-Wrn0aw" target="_wNcLAeOMEeCYNNyffmuRHg">
+ <children xmi:type="notation:Node" xmi:id="_w371QORXEeC5WpT-Wrn0aw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w371QeRXEeC5WpT-Wrn0aw" x="-42" y="40"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_w371QuRXEeC5WpT-Wrn0aw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w371Q-RXEeC5WpT-Wrn0aw" x="-8" y="11"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_w37OMeRXEeC5WpT-Wrn0aw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_w37OMuRXEeC5WpT-Wrn0aw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//serialization/ContainmentReferenceInstance/ownedElements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w37OM-RXEeC5WpT-Wrn0aw" points="[11, 21, -26, -51]$[33, 65, -4, -7]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2QjIORXEeC5WpT-Wrn0aw" id="(0.2549019607843137,0.2)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_w38cUORXEeC5WpT-Wrn0aw" type="3003" source="_w3w2IORXEeC5WpT-Wrn0aw" target="_GBmNIOOIEeCYNNyffmuRHg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_w38cUeRXEeC5WpT-Wrn0aw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_w38cUuRXEeC5WpT-Wrn0aw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w38cU-RXEeC5WpT-Wrn0aw" points="[1, 0, -501, -158]$[437, 138, -65, -20]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH9EYf5TEeCqzpi5PItoVA" type="3003" source="_XH-5vv5TEeCqzpi5PItoVA" target="_XIAH1P5TEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH9EYv5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH9EY_5TEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH9EZP5TEeCqzpi5PItoVA" points="[-1, 0, -60, 49]$[-1, -49, -60, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9EZf5TEeCqzpi5PItoVA" id="(0.4634146341463415,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9EZv5TEeCqzpi5PItoVA" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH9EZ_5TEeCqzpi5PItoVA" type="3002" source="_XH_grP5TEeCqzpi5PItoVA" target="_XH-5yv5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH9EaP5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH9Eaf5TEeCqzpi5PItoVA" x="-36" y="12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH9Eav5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH9Ea_5TEeCqzpi5PItoVA" x="4" y="27"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH9EbP5TEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH9Ebf5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//DerivedTypedElementResult/parameterValues"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH9Ebv5TEeCqzpi5PItoVA" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9Eb_5TEeCqzpi5PItoVA" id="(0.8921568627450981,0.5813953488372093)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9rcP5TEeCqzpi5PItoVA" id="(0.02654867256637168,0.5348837209302325)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH9rcf5TEeCqzpi5PItoVA" type="3002" source="_XH_goP5TEeCqzpi5PItoVA" target="_XH_g0P5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH9rcv5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH9rc_5TEeCqzpi5PItoVA" y="28"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH9rdP5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH9rdf5TEeCqzpi5PItoVA" x="-15" y="20"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH9rdv5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH9rd_5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//Facet/facetSet"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH9reP5TEeCqzpi5PItoVA" points="[-10, -20, 0, 114]$[-10, -134, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9ref5TEeCqzpi5PItoVA" id="(0.35294117647058826,0.09302325581395349)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9rev5TEeCqzpi5PItoVA" id="(0.3515625,0.9534883720930233)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH9re_5TEeCqzpi5PItoVA" type="3002" source="_XH_g0P5TEeCqzpi5PItoVA" target="_XH_goP5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH9rfP5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH9rff5TEeCqzpi5PItoVA" x="-14" y="-22"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH9rfv5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH9rf_5TEeCqzpi5PItoVA" x="1" y="-14"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH9rgP5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH9rgf5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//FacetSet/facets"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH9rgv5TEeCqzpi5PItoVA" points="[0, 0, -10, -134]$[0, 114, -10, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9rg_5TEeCqzpi5PItoVA" id="(0.3515625,0.9534883720930233)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9rhP5TEeCqzpi5PItoVA" id="(0.35294117647058826,0.09302325581395349)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH9rj_5TEeCqzpi5PItoVA" type="3002" source="_XH_g0P5TEeCqzpi5PItoVA" target="_XH_guP5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH9rkP5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH9rkf5TEeCqzpi5PItoVA" x="-20" y="-13"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH9rkv5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH9rk_5TEeCqzpi5PItoVA" x="-1" y="-30"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH9rlP5TEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH9rlf5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//FacetSet/categories"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH9rlv5TEeCqzpi5PItoVA" points="[0, 0, -72, 60]$[72, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9rl_5TEeCqzpi5PItoVA" id="(0.058823529411764705,0.4883720930232558)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9rmP5TEeCqzpi5PItoVA" id="(0.9803921568627451,0.5813953488372093)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH9rmf5TEeCqzpi5PItoVA" type="3002" source="_XH_gxP5TEeCqzpi5PItoVA" target="_XH_guP5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH9rmv5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH9rm_5TEeCqzpi5PItoVA" x="-13" y="14"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH9rnP5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH9rnf5TEeCqzpi5PItoVA" x="2" y="32"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH9rnv5TEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH9rn_5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//FacetElement/categories"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH9roP5TEeCqzpi5PItoVA" points="[0, 0, 71, 60]$[-71, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9rof5TEeCqzpi5PItoVA" id="(0.9803921568627451,0.5116279069767442)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH9rov5TEeCqzpi5PItoVA" id="(0.0196078431372549,0.5348837209302325)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-SgP5TEeCqzpi5PItoVA" type="3003" source="_XIAHsP5TEeCqzpi5PItoVA" target="_XIAH4P5TEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-Sgf5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-Sgv5TEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-Sg_5TEeCqzpi5PItoVA" points="[-7, -20, 157, 433]$[-164, -452, 0, 1]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-ShP5TEeCqzpi5PItoVA" type="3003" source="_XIAHvP5TEeCqzpi5PItoVA" target="_XIAH7v5TEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-Shf5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-Shv5TEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-Sh_5TEeCqzpi5PItoVA" points="[-15, -20, 311, 433]$[-325, -452, 1, 1]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-SiP5TEeCqzpi5PItoVA" type="3002" source="_XH_goP5TEeCqzpi5PItoVA" target="_XIAuwP5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH-Sif5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-Siv5TEeCqzpi5PItoVA" x="-1" y="-2"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-Si_5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-SjP5TEeCqzpi5PItoVA" x="1" y="-15"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-Sjf5TEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-Sjv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//Facet/facetOperations"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-Sj_5TEeCqzpi5PItoVA" points="[-50, -15, 416, 123]$[-465, -138, 1, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-SkP5TEeCqzpi5PItoVA" type="3003" source="_XIAHyP5TEeCqzpi5PItoVA" target="_XIAuwP5TEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-Skf5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-Skv5TEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-Sk_5TEeCqzpi5PItoVA" points="[41, -20, -32, 71]$[41, -72, -32, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-SlP5TEeCqzpi5PItoVA" type="3002" source="_XH_goP5TEeCqzpi5PItoVA" target="_XIAuzv5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH-Slf5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-Slv5TEeCqzpi5PItoVA" x="40" y="46"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-Sl_5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-SmP5TEeCqzpi5PItoVA" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-Smf5TEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-Smv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//Facet/extendedMetaclass"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-Sm_5TEeCqzpi5PItoVA" points="[50, -15, -165, 51]$[165, -51, -50, 15]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-SnP5TEeCqzpi5PItoVA" type="3002" source="_XH_goP5TEeCqzpi5PItoVA" target="_XIAu3P5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH-Snf5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-Snv5TEeCqzpi5PItoVA" x="-42" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-Sn_5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-SoP5TEeCqzpi5PItoVA" x="-9" y="-23"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-Sof5TEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-Sov5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//Facet/facetElements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-So_5TEeCqzpi5PItoVA" points="[-50, -12, 661, 161]$[-710, -173, 1, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH-SpP5TEeCqzpi5PItoVA" id="(0.888,0.625)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-Spf5TEeCqzpi5PItoVA" type="3003" source="_XIAH7v5TEeCqzpi5PItoVA" target="_XIAu3P5TEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-Spv5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-Sp_5TEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-SqP5TEeCqzpi5PItoVA" points="[13, -19, -38, 56]$[38, -56, -13, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-Sqf5TEeCqzpi5PItoVA" type="3003" source="_XIAH4P5TEeCqzpi5PItoVA" target="_XIAu3P5TEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-Sqv5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-Sq_5TEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-SrP5TEeCqzpi5PItoVA" points="[35, -19, -101, 96]$[35, -69, -101, 46]$[111, -69, -25, 46]$[111, -96, -25, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-Srf5TEeCqzpi5PItoVA" type="3002" source="_XH_g0P5TEeCqzpi5PItoVA" target="_XIAu6v5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH-Srv5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-Sr_5TEeCqzpi5PItoVA" x="-4" y="59"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-SsP5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-Ssf5TEeCqzpi5PItoVA" x="-19" y="14"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-Ssv5TEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-Ss_5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//FacetSet/extendedEPackage"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-StP5TEeCqzpi5PItoVA" points="[2, -20, -8, 61]$[2, -62, -8, 19]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH-Stf5TEeCqzpi5PItoVA" id="(0.625,0.023255813953488372)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH-Stv5TEeCqzpi5PItoVA" id="(0.6078431372549019,0.95)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-5kP5TEeCqzpi5PItoVA" type="3003" source="_XH_g0P5TEeCqzpi5PItoVA" target="_XIAu6v5TEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-5kf5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-5kv5TEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-5k_5TEeCqzpi5PItoVA" points="[-50, -8, 646, 105]$[-695, -113, 1, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-5lP5TEeCqzpi5PItoVA" type="3002" source="_XH_grP5TEeCqzpi5PItoVA" target="_XIAu-P5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH-5lf5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-5lv5TEeCqzpi5PItoVA" x="2" y="25"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-5l_5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-5mP5TEeCqzpi5PItoVA" x="-13" y="20"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-5mf5TEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-5mv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//DerivedTypedElementResult/source"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-5m_5TEeCqzpi5PItoVA" points="[-47, -20, 949, 423]$[-995, -443, 1, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH-5nP5TEeCqzpi5PItoVA" id="(0.65,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH-5nf5TEeCqzpi5PItoVA" id="(0.4411764705882353,0.85)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-5nv5TEeCqzpi5PItoVA" type="3002" source="_XH-5vv5TEeCqzpi5PItoVA" target="_XIAvBv5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH-5n_5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-5oP5TEeCqzpi5PItoVA" x="82" y="110"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-5of5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-5ov5TEeCqzpi5PItoVA" x="67" y="139"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-5o_5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-5pP5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//TypedElementRef/typedElement"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-5pf5TEeCqzpi5PItoVA" points="[-20, 41, 500, 452]$[-20, 115, 500, 526]$[-692, 115, -172, 526]$[-692, -410, -172, 1]$[-532, -410, -12, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH-5pv5TEeCqzpi5PItoVA" id="(0.43089430894308944,0.023255813953488372)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH-5p_5TEeCqzpi5PItoVA" id="(0.12149532710280374,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-5qP5TEeCqzpi5PItoVA" type="3003" source="_XH_gxP5TEeCqzpi5PItoVA" target="_XIAvBv5TEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-5qf5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-5qv5TEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-5q_5TEeCqzpi5PItoVA" points="[-30, -20, -32, 66]$[-30, -67, -32, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-5rP5TEeCqzpi5PItoVA" type="3003" source="_XH_goP5TEeCqzpi5PItoVA" target="_XIAvFP5TEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-5rf5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-5rv5TEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-5r_5TEeCqzpi5PItoVA" points="[-40, -20, 40, 71]$[-40, -72, 40, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-5sP5TEeCqzpi5PItoVA" type="3003" source="_XH_guP5TEeCqzpi5PItoVA" target="_XIBV0P5TEeCqzpi5PItoVA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-5sf5TEeCqzpi5PItoVA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-5sv5TEeCqzpi5PItoVA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-5s_5TEeCqzpi5PItoVA" points="[-50, -11, 436, 92]$[-485, -103, 1, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XH-5tP5TEeCqzpi5PItoVA" type="3002" source="_XH_goP5TEeCqzpi5PItoVA" target="_XIBV3v5TEeCqzpi5PItoVA">
+ <children xmi:type="notation:Node" xmi:id="_XH-5tf5TEeCqzpi5PItoVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-5tv5TEeCqzpi5PItoVA" x="-51" y="32"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XH-5t_5TEeCqzpi5PItoVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XH-5uP5TEeCqzpi5PItoVA" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XH-5uf5TEeCqzpi5PItoVA" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XH-5uv5TEeCqzpi5PItoVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet2.ecore#//Facet/conformanceTypedElement"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XH-5u_5TEeCqzpi5PItoVA" points="[-22, 13, 260, -149]$[-280, 143, 2, -19]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH-5vP5TEeCqzpi5PItoVA" id="(0.049019607843137254,0.27906976744186046)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XH-5vf5TEeCqzpi5PItoVA" id="(0.9439252336448598,0.5)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2.png b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2.png
new file mode 100644
index 00000000000..a5b9d01e6c6
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacet2.png
Binary files differ
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacetcatalog-0.2.0.ecore b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacetcatalog-0.2.0.ecore
new file mode 100644
index 00000000000..34f0b8b5464
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacetcatalog-0.2.0.ecore
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="efacetcatalog"
+ nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacetcatalog" nsPrefix="efacetcatalog">
+ <eClassifiers xsi:type="ecore:EClass" name="FacetSetCatalog" eSuperTypes="platform:/plugin/org.eclipse.emf.facet.util.emf.catalog/model/catalog.ecore#//Catalog">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A FacetSetCatalog aims at referencing EMF Facet FacetSet."/>
+ </eAnnotations>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacetcatalog-0.2.0.genmodel b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacetcatalog-0.2.0.genmodel
new file mode 100644
index 00000000000..1c18a50fca6
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/model/efacetcatalog-0.2.0.genmodel
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText=" Copyright (c) 2011,2012 Mia-Software.&#xD;&#xA; &#xD;&#xA; All rights reserved. This program and the accompanying materials&#xD;&#xA; are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; which accompanies this distribution, and is available at&#xD;&#xA; http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; &#xD;&#xA; Contributors:&#xD;&#xA; Gregoire Dupe (Mia-Software) - Design&#xD;&#xA; Nicolas Guyomar (Mia-Software) - Implementation&#xD;&#xA; Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non-derived facet structural features and save their values.&#xD;&#xA; Nicolas Bros (Mia-Software) - Bug 370110 - Rename efacetcatalog2.ecore&#xD;&#xA; Grégoire Dupé (Mia-Software) - Bug 361817 - [Restructuring] Dynamic load to the facet catalog&#xD;&#xA; Grégoire Dupé (Mia-Software) - Bug 373078 - API Cleaning"
+ modelDirectory="/org.eclipse.emf.facet.efacet.metamodel/src" modelPluginID="org.eclipse.emf.facet.efacet.metamodel"
+ modelName="Efacetcatalog" nonNLSMarkers="true" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false" runtimeVersion="2.6" language=""
+ usedGenPackages="platform:/plugin/org.eclipse.emf.facet.util.emf.catalog/model/catalog.genmodel#//catalog platform:/plugin/org.eclipse.emf.facet.efacet.metamodel/model/efacet-0.2.0.genmodel#//efacet">
+ <foreignModel>efacetcatalog-0.2.0.ecore</foreignModel>
+ <genPackages prefix="Efacetcatalog" basePackage="org.eclipse.emf.facet.efacet.metamodel.v0_2_0"
+ disposableProviderFactory="true" ecorePackage="efacetcatalog-0.2.0.ecore#/">
+ <genClasses ecoreClass="efacetcatalog-0.2.0.ecore#//FacetSetCatalog">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacetcatalog-0.2.0.ecore#//FacetSetCatalog/installedFacetSets"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/plugin.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/plugin.properties
new file mode 100644
index 00000000000..a1e76334733
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/plugin.properties
@@ -0,0 +1,17 @@
+# Copyright (c) 2011,2012 Mia-Software.
+#
+# 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:
+# Gregoire Dupe (Mia-Software) - Design
+# Nicolas Guyomar (Mia-Software) - Implementation
+# Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non-derived facet structural features and save their values.
+# Nicolas Bros (Mia-Software) - Bug 370110 - Rename efacetcatalog2.ecore
+# Grégoire Dupé (Mia-Software) - Bug 361817 - [Restructuring] Dynamic load to the facet catalog
+#
+
+pluginName = Efacetcatalog Model
+providerName = www.example.org
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/plugin.xml b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/plugin.xml
new file mode 100644
index 00000000000..306d5826855
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/plugin.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2011 Mia-Software.
+
+ 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:
+ Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ Nicolas Bros (Mia-Software) - Bug 362191 - [Restructuring] Query mechanism for eFacet2
+
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet"
+ class="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage"
+ genModel="model/efacet-0.2.0.genmodel"/>
+ <package
+ class="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage"
+ uri="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/serialization"
+ genModel="model/efacet-0.2.0.genmodel"/>
+ <package
+ class="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage"
+ uri="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/extensible"
+ genModel="model/efacet-0.2.0.genmodel"/>
+ <package
+ uri="http://www.eclipse.org/emf/facet/eFacetCatalog/0.2.incubation"
+ class="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.EfacetcatalogPackage"
+ genModel="model/efacetcatalog-0.2.0.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/Category.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/Category.java
new file mode 100644
index 00000000000..091ce22d4b3
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/Category.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.ecore.ENamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Category</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A Category is used to group related elements.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getCategory()
+ * @model
+ * @generated
+ */
+public interface Category extends ENamedElement, DocumentedElement {
+} // Category
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/DerivedTypedElement.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/DerivedTypedElement.java
new file mode 100644
index 00000000000..8046aa90227
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/DerivedTypedElement.java
@@ -0,0 +1,92 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Derived Typed Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A derived typed element is a virtual structural feature the value of which is computed using a query.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement#getOverride <em>Override</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getDerivedTypedElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface DerivedTypedElement extends FacetElement {
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' containment reference.
+ * @see #setQuery(Query)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getDerivedTypedElement_Query()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Query getQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement#getQuery <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Query</em>' containment reference.
+ * @see #getQuery()
+ * @generated
+ */
+ void setQuery(Query value);
+
+ /**
+ * Returns the value of the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If it exists a facet A which extends a facet B then a derived typed element of A can override a typed element of B; if the both typed elements have the same name, same multiplicity, and same type.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Override</em>' reference.
+ * @see #setOverride(DerivedTypedElement)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getDerivedTypedElement_Override()
+ * @model
+ * @generated
+ */
+ DerivedTypedElement getOverride();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement#getOverride <em>Override</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Override</em>' reference.
+ * @see #getOverride()
+ * @generated
+ */
+ void setOverride(DerivedTypedElement value);
+
+} // DerivedTypedElement
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/DocumentedElement.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/DocumentedElement.java
new file mode 100644
index 00000000000..6f4ece0128f
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/DocumentedElement.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Documented Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement#getDocumentation <em>Documentation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getDocumentedElement()
+ * @model
+ * @generated
+ */
+public interface DocumentedElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Documentation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Documentation</em>' attribute.
+ * @see #setDocumentation(String)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getDocumentedElement_Documentation()
+ * @model
+ * @generated
+ */
+ String getDocumentation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement#getDocumentation <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Documentation</em>' attribute.
+ * @see #getDocumentation()
+ * @generated
+ */
+ void setDocumentation(String value);
+
+} // DocumentedElement
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/EFacetFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/EFacetFactory.java
new file mode 100644
index 00000000000..d8df6182437
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/EFacetFactory.java
@@ -0,0 +1,119 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage
+ * @generated
+ */
+public interface EFacetFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EFacetFactory eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Facet Attribute</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet Attribute</em>'.
+ * @generated
+ */
+ FacetAttribute createFacetAttribute();
+
+ /**
+ * Returns a new object of class '<em>Facet Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet Reference</em>'.
+ * @generated
+ */
+ FacetReference createFacetReference();
+
+ /**
+ * Returns a new object of class '<em>Facet Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet Operation</em>'.
+ * @generated
+ */
+ FacetOperation createFacetOperation();
+
+ /**
+ * Returns a new object of class '<em>Facet Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet Set</em>'.
+ * @generated
+ */
+ FacetSet createFacetSet();
+
+ /**
+ * Returns a new object of class '<em>Facet</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet</em>'.
+ * @generated
+ */
+ Facet createFacet();
+
+ /**
+ * Returns a new object of class '<em>Category</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Category</em>'.
+ * @generated
+ */
+ Category createCategory();
+
+ /**
+ * Returns a new object of class '<em>Parameter Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Parameter Value</em>'.
+ * @generated
+ */
+ ParameterValue createParameterValue();
+
+ /**
+ * Returns a new object of class '<em>Documented Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Documented Element</em>'.
+ * @generated
+ */
+ DocumentedElement createDocumentedElement();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ EFacetPackage getEFacetPackage();
+
+} //EFacetFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/EFacetPackage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/EFacetPackage.java
new file mode 100644
index 00000000000..df61f7bcb3a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/EFacetPackage.java
@@ -0,0 +1,1896 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ * Gregoire Dupe (Mia-Software) - Bug 376576 - [EFacet] Change the multiplicity of Facet::extendedFacet
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore validationDelegates='org.eclipse.ocl.ecore.OCL'"
+ * @generated
+ */
+public interface EFacetPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "efacet"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "efacet"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EFacetPackage eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetAttributeImpl <em>Facet Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetAttributeImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacetAttribute()
+ * @generated
+ */
+ int FACET_ATTRIBUTE = 0;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__EANNOTATIONS = EcorePackage.EATTRIBUTE__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__NAME = EcorePackage.EATTRIBUTE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__ORDERED = EcorePackage.EATTRIBUTE__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__UNIQUE = EcorePackage.EATTRIBUTE__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__LOWER_BOUND = EcorePackage.EATTRIBUTE__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__UPPER_BOUND = EcorePackage.EATTRIBUTE__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__MANY = EcorePackage.EATTRIBUTE__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__REQUIRED = EcorePackage.EATTRIBUTE__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__ETYPE = EcorePackage.EATTRIBUTE__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__EGENERIC_TYPE = EcorePackage.EATTRIBUTE__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Changeable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__CHANGEABLE = EcorePackage.EATTRIBUTE__CHANGEABLE;
+
+ /**
+ * The feature id for the '<em><b>Volatile</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__VOLATILE = EcorePackage.EATTRIBUTE__VOLATILE;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__TRANSIENT = EcorePackage.EATTRIBUTE__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Default Value Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__DEFAULT_VALUE_LITERAL = EcorePackage.EATTRIBUTE__DEFAULT_VALUE_LITERAL;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__DEFAULT_VALUE = EcorePackage.EATTRIBUTE__DEFAULT_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Unsettable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__UNSETTABLE = EcorePackage.EATTRIBUTE__UNSETTABLE;
+
+ /**
+ * The feature id for the '<em><b>Derived</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__DERIVED = EcorePackage.EATTRIBUTE__DERIVED;
+
+ /**
+ * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__ECONTAINING_CLASS = EcorePackage.EATTRIBUTE__ECONTAINING_CLASS;
+
+ /**
+ * The feature id for the '<em><b>ID</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__ID = EcorePackage.EATTRIBUTE__ID;
+
+ /**
+ * The feature id for the '<em><b>EAttribute Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__EATTRIBUTE_TYPE = EcorePackage.EATTRIBUTE__EATTRIBUTE_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__DOCUMENTATION = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__CATEGORIES = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__QUERY = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE__OVERRIDE = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Facet Attribute</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ATTRIBUTE_FEATURE_COUNT = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetReferenceImpl <em>Facet Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetReferenceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacetReference()
+ * @generated
+ */
+ int FACET_REFERENCE = 1;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__EANNOTATIONS = EcorePackage.EREFERENCE__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__NAME = EcorePackage.EREFERENCE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__ORDERED = EcorePackage.EREFERENCE__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__UNIQUE = EcorePackage.EREFERENCE__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__LOWER_BOUND = EcorePackage.EREFERENCE__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__UPPER_BOUND = EcorePackage.EREFERENCE__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__MANY = EcorePackage.EREFERENCE__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__REQUIRED = EcorePackage.EREFERENCE__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__ETYPE = EcorePackage.EREFERENCE__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__EGENERIC_TYPE = EcorePackage.EREFERENCE__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Changeable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__CHANGEABLE = EcorePackage.EREFERENCE__CHANGEABLE;
+
+ /**
+ * The feature id for the '<em><b>Volatile</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__VOLATILE = EcorePackage.EREFERENCE__VOLATILE;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__TRANSIENT = EcorePackage.EREFERENCE__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Default Value Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__DEFAULT_VALUE_LITERAL = EcorePackage.EREFERENCE__DEFAULT_VALUE_LITERAL;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__DEFAULT_VALUE = EcorePackage.EREFERENCE__DEFAULT_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Unsettable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__UNSETTABLE = EcorePackage.EREFERENCE__UNSETTABLE;
+
+ /**
+ * The feature id for the '<em><b>Derived</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__DERIVED = EcorePackage.EREFERENCE__DERIVED;
+
+ /**
+ * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__ECONTAINING_CLASS = EcorePackage.EREFERENCE__ECONTAINING_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Containment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__CONTAINMENT = EcorePackage.EREFERENCE__CONTAINMENT;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__CONTAINER = EcorePackage.EREFERENCE__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Resolve Proxies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__RESOLVE_PROXIES = EcorePackage.EREFERENCE__RESOLVE_PROXIES;
+
+ /**
+ * The feature id for the '<em><b>EOpposite</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__EOPPOSITE = EcorePackage.EREFERENCE__EOPPOSITE;
+
+ /**
+ * The feature id for the '<em><b>EReference Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__EREFERENCE_TYPE = EcorePackage.EREFERENCE__EREFERENCE_TYPE;
+
+ /**
+ * The feature id for the '<em><b>EKeys</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__EKEYS = EcorePackage.EREFERENCE__EKEYS;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__DOCUMENTATION = EcorePackage.EREFERENCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__CATEGORIES = EcorePackage.EREFERENCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__QUERY = EcorePackage.EREFERENCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE__OVERRIDE = EcorePackage.EREFERENCE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Facet Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_REFERENCE_FEATURE_COUNT = EcorePackage.EREFERENCE_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetOperationImpl <em>Facet Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetOperationImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacetOperation()
+ * @generated
+ */
+ int FACET_OPERATION = 2;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__EANNOTATIONS = EcorePackage.EOPERATION__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__NAME = EcorePackage.EOPERATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__ORDERED = EcorePackage.EOPERATION__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__UNIQUE = EcorePackage.EOPERATION__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__LOWER_BOUND = EcorePackage.EOPERATION__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__UPPER_BOUND = EcorePackage.EOPERATION__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__MANY = EcorePackage.EOPERATION__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__REQUIRED = EcorePackage.EOPERATION__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__ETYPE = EcorePackage.EOPERATION__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__EGENERIC_TYPE = EcorePackage.EOPERATION__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__ECONTAINING_CLASS = EcorePackage.EOPERATION__ECONTAINING_CLASS;
+
+ /**
+ * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__ETYPE_PARAMETERS = EcorePackage.EOPERATION__ETYPE_PARAMETERS;
+
+ /**
+ * The feature id for the '<em><b>EParameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__EPARAMETERS = EcorePackage.EOPERATION__EPARAMETERS;
+
+ /**
+ * The feature id for the '<em><b>EExceptions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__EEXCEPTIONS = EcorePackage.EOPERATION__EEXCEPTIONS;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Exceptions</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__EGENERIC_EXCEPTIONS = EcorePackage.EOPERATION__EGENERIC_EXCEPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__DOCUMENTATION = EcorePackage.EOPERATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__CATEGORIES = EcorePackage.EOPERATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__QUERY = EcorePackage.EOPERATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION__OVERRIDE = EcorePackage.EOPERATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Facet Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_OPERATION_FEATURE_COUNT = EcorePackage.EOPERATION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetSetImpl <em>Facet Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetSetImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacetSet()
+ * @generated
+ */
+ int FACET_SET = 3;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET__EANNOTATIONS = EcorePackage.EPACKAGE__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET__NAME = EcorePackage.EPACKAGE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ns URI</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET__NS_URI = EcorePackage.EPACKAGE__NS_URI;
+
+ /**
+ * The feature id for the '<em><b>Ns Prefix</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET__NS_PREFIX = EcorePackage.EPACKAGE__NS_PREFIX;
+
+ /**
+ * The feature id for the '<em><b>EFactory Instance</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET__EFACTORY_INSTANCE = EcorePackage.EPACKAGE__EFACTORY_INSTANCE;
+
+ /**
+ * The feature id for the '<em><b>EClassifiers</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET__ECLASSIFIERS = EcorePackage.EPACKAGE__ECLASSIFIERS;
+
+ /**
+ * The feature id for the '<em><b>ESubpackages</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET__ESUBPACKAGES = EcorePackage.EPACKAGE__ESUBPACKAGES;
+
+ /**
+ * The feature id for the '<em><b>ESuper Package</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET__ESUPER_PACKAGE = EcorePackage.EPACKAGE__ESUPER_PACKAGE;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET__DOCUMENTATION = EcorePackage.EPACKAGE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET__CATEGORIES = EcorePackage.EPACKAGE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Facet Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET_FEATURE_COUNT = EcorePackage.EPACKAGE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetImpl <em>Facet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacet()
+ * @generated
+ */
+ int FACET = 4;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__EANNOTATIONS = EcorePackage.ECLASSIFIER__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__NAME = EcorePackage.ECLASSIFIER__NAME;
+
+ /**
+ * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__INSTANCE_CLASS_NAME = EcorePackage.ECLASSIFIER__INSTANCE_CLASS_NAME;
+
+ /**
+ * The feature id for the '<em><b>Instance Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__INSTANCE_CLASS = EcorePackage.ECLASSIFIER__INSTANCE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__DEFAULT_VALUE = EcorePackage.ECLASSIFIER__DEFAULT_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Instance Type Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__INSTANCE_TYPE_NAME = EcorePackage.ECLASSIFIER__INSTANCE_TYPE_NAME;
+
+ /**
+ * The feature id for the '<em><b>EPackage</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__EPACKAGE = EcorePackage.ECLASSIFIER__EPACKAGE;
+
+ /**
+ * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__ETYPE_PARAMETERS = EcorePackage.ECLASSIFIER__ETYPE_PARAMETERS;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__DOCUMENTATION = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Extended Metaclass</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__EXTENDED_METACLASS = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Facet Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__FACET_ELEMENTS = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Facet Operations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__FACET_OPERATIONS = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Conformance Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET__CONFORMANCE_TYPED_ELEMENT = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Extended Facets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int FACET__EXTENDED_FACETS = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Facet</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_FEATURE_COUNT = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.CategoryImpl <em>Category</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.CategoryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getCategory()
+ * @generated
+ */
+ int CATEGORY = 5;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__EANNOTATIONS = EcorePackage.ENAMED_ELEMENT__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__NAME = EcorePackage.ENAMED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__DOCUMENTATION = EcorePackage.ENAMED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Category</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_FEATURE_COUNT = EcorePackage.ENAMED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetElementImpl <em>Facet Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetElementImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacetElement()
+ * @generated
+ */
+ int FACET_ELEMENT = 6;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__EANNOTATIONS = EcorePackage.ETYPED_ELEMENT__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__NAME = EcorePackage.ETYPED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__ORDERED = EcorePackage.ETYPED_ELEMENT__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__UNIQUE = EcorePackage.ETYPED_ELEMENT__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__LOWER_BOUND = EcorePackage.ETYPED_ELEMENT__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__UPPER_BOUND = EcorePackage.ETYPED_ELEMENT__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__MANY = EcorePackage.ETYPED_ELEMENT__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__REQUIRED = EcorePackage.ETYPED_ELEMENT__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__ETYPE = EcorePackage.ETYPED_ELEMENT__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__EGENERIC_TYPE = EcorePackage.ETYPED_ELEMENT__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__DOCUMENTATION = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT__CATEGORIES = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Facet Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_ELEMENT_FEATURE_COUNT = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DerivedTypedElementImpl <em>Derived Typed Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DerivedTypedElementImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getDerivedTypedElement()
+ * @generated
+ */
+ int DERIVED_TYPED_ELEMENT = 7;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__EANNOTATIONS = FACET_ELEMENT__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__NAME = FACET_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__ORDERED = FACET_ELEMENT__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__UNIQUE = FACET_ELEMENT__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__LOWER_BOUND = FACET_ELEMENT__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__UPPER_BOUND = FACET_ELEMENT__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__MANY = FACET_ELEMENT__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__REQUIRED = FACET_ELEMENT__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__ETYPE = FACET_ELEMENT__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__EGENERIC_TYPE = FACET_ELEMENT__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__DOCUMENTATION = FACET_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__CATEGORIES = FACET_ELEMENT__CATEGORIES;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__QUERY = FACET_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT__OVERRIDE = FACET_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Derived Typed Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_TYPED_ELEMENT_FEATURE_COUNT = FACET_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.ParameterValueImpl <em>Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.ParameterValueImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getParameterValue()
+ * @generated
+ */
+ int PARAMETER_VALUE = 8;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER_VALUE__PARAMETER = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER_VALUE__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Parameter Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER_VALUE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DocumentedElementImpl <em>Documented Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DocumentedElementImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getDocumentedElement()
+ * @generated
+ */
+ int DOCUMENTED_ELEMENT = 9;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT__DOCUMENTATION = 0;
+
+ /**
+ * The number of structural features of the '<em>Documented Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '<em>Resource</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.resource.Resource
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getResource()
+ * @generated
+ */
+ int RESOURCE = 10;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetAttribute <em>Facet Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Attribute</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetAttribute
+ * @generated
+ */
+ EClass getFacetAttribute();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetReference <em>Facet Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Reference</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetReference
+ * @generated
+ */
+ EClass getFacetReference();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation <em>Facet Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Operation</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation
+ * @generated
+ */
+ EClass getFacetOperation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet <em>Facet Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Set</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet
+ * @generated
+ */
+ EClass getFacetSet();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet#getCategories <em>Categories</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Categories</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet#getCategories()
+ * @see #getFacetSet()
+ * @generated
+ */
+ EReference getFacetSet_Categories();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet <em>Facet</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet
+ * @generated
+ */
+ EClass getFacet();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getExtendedMetaclass <em>Extended Metaclass</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Extended Metaclass</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getExtendedMetaclass()
+ * @see #getFacet()
+ * @generated
+ */
+ EReference getFacet_ExtendedMetaclass();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getFacetElements <em>Facet Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Facet Elements</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getFacetElements()
+ * @see #getFacet()
+ * @generated
+ */
+ EReference getFacet_FacetElements();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getFacetOperations <em>Facet Operations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Facet Operations</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getFacetOperations()
+ * @see #getFacet()
+ * @generated
+ */
+ EReference getFacet_FacetOperations();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getConformanceTypedElement <em>Conformance Typed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Conformance Typed Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getConformanceTypedElement()
+ * @see #getFacet()
+ * @generated
+ */
+ EReference getFacet_ConformanceTypedElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getExtendedFacets <em>Extended Facets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Extended Facets</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getExtendedFacets()
+ * @see #getFacet()
+ * @generated
+ * @since 0.2
+ */
+ EReference getFacet_ExtendedFacets();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Category</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category
+ * @generated
+ */
+ EClass getCategory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement <em>Facet Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement
+ * @generated
+ */
+ EClass getFacetElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement#getCategories <em>Categories</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Categories</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement#getCategories()
+ * @see #getFacetElement()
+ * @generated
+ */
+ EReference getFacetElement_Categories();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement <em>Derived Typed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Derived Typed Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement
+ * @generated
+ */
+ EClass getDerivedTypedElement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement#getQuery()
+ * @see #getDerivedTypedElement()
+ * @generated
+ */
+ EReference getDerivedTypedElement_Query();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement#getOverride <em>Override</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Override</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement#getOverride()
+ * @see #getDerivedTypedElement()
+ * @generated
+ */
+ EReference getDerivedTypedElement_Override();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue <em>Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Parameter Value</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue
+ * @generated
+ */
+ EClass getParameterValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue#getParameter <em>Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Parameter</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue#getParameter()
+ * @see #getParameterValue()
+ * @generated
+ */
+ EReference getParameterValue_Parameter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue#getValue()
+ * @see #getParameterValue()
+ * @generated
+ */
+ EAttribute getParameterValue_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement <em>Documented Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Documented Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement
+ * @generated
+ */
+ EClass getDocumentedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement#getDocumentation <em>Documentation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Documentation</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement#getDocumentation()
+ * @see #getDocumentedElement()
+ * @generated
+ */
+ EAttribute getDocumentedElement_Documentation();
+
+ /**
+ * Returns the meta object for data type '{@link org.eclipse.emf.ecore.resource.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Resource</em>'.
+ * @see org.eclipse.emf.ecore.resource.Resource
+ * @model instanceClass="org.eclipse.emf.ecore.resource.Resource"
+ * @generated
+ */
+ EDataType getResource();
+
+ /**
+ * 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
+ */
+ EFacetFactory getEFacetFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetAttributeImpl <em>Facet Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetAttributeImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacetAttribute()
+ * @generated
+ */
+ EClass FACET_ATTRIBUTE = eINSTANCE.getFacetAttribute();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetReferenceImpl <em>Facet Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetReferenceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacetReference()
+ * @generated
+ */
+ EClass FACET_REFERENCE = eINSTANCE.getFacetReference();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetOperationImpl <em>Facet Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetOperationImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacetOperation()
+ * @generated
+ */
+ EClass FACET_OPERATION = eINSTANCE.getFacetOperation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetSetImpl <em>Facet Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetSetImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacetSet()
+ * @generated
+ */
+ EClass FACET_SET = eINSTANCE.getFacetSet();
+
+ /**
+ * The meta object literal for the '<em><b>Categories</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FACET_SET__CATEGORIES = eINSTANCE.getFacetSet_Categories();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetImpl <em>Facet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacet()
+ * @generated
+ */
+ EClass FACET = eINSTANCE.getFacet();
+
+ /**
+ * The meta object literal for the '<em><b>Extended Metaclass</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FACET__EXTENDED_METACLASS = eINSTANCE.getFacet_ExtendedMetaclass();
+
+ /**
+ * The meta object literal for the '<em><b>Facet Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FACET__FACET_ELEMENTS = eINSTANCE.getFacet_FacetElements();
+
+ /**
+ * The meta object literal for the '<em><b>Facet Operations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FACET__FACET_OPERATIONS = eINSTANCE.getFacet_FacetOperations();
+
+ /**
+ * The meta object literal for the '<em><b>Conformance Typed Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FACET__CONFORMANCE_TYPED_ELEMENT = eINSTANCE.getFacet_ConformanceTypedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Extended Facets</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @since 0.2
+ */
+ EReference FACET__EXTENDED_FACETS = eINSTANCE.getFacet_ExtendedFacets();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.CategoryImpl <em>Category</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.CategoryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getCategory()
+ * @generated
+ */
+ EClass CATEGORY = eINSTANCE.getCategory();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetElementImpl <em>Facet Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetElementImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getFacetElement()
+ * @generated
+ */
+ EClass FACET_ELEMENT = eINSTANCE.getFacetElement();
+
+ /**
+ * The meta object literal for the '<em><b>Categories</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FACET_ELEMENT__CATEGORIES = eINSTANCE.getFacetElement_Categories();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DerivedTypedElementImpl <em>Derived Typed Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DerivedTypedElementImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getDerivedTypedElement()
+ * @generated
+ */
+ EClass DERIVED_TYPED_ELEMENT = eINSTANCE.getDerivedTypedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DERIVED_TYPED_ELEMENT__QUERY = eINSTANCE.getDerivedTypedElement_Query();
+
+ /**
+ * The meta object literal for the '<em><b>Override</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DERIVED_TYPED_ELEMENT__OVERRIDE = eINSTANCE.getDerivedTypedElement_Override();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.ParameterValueImpl <em>Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.ParameterValueImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getParameterValue()
+ * @generated
+ */
+ EClass PARAMETER_VALUE = eINSTANCE.getParameterValue();
+
+ /**
+ * The meta object literal for the '<em><b>Parameter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PARAMETER_VALUE__PARAMETER = eINSTANCE.getParameterValue_Parameter();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PARAMETER_VALUE__VALUE = eINSTANCE.getParameterValue_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DocumentedElementImpl <em>Documented Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DocumentedElementImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getDocumentedElement()
+ * @generated
+ */
+ EClass DOCUMENTED_ELEMENT = eINSTANCE.getDocumentedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Documentation</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DOCUMENTED_ELEMENT__DOCUMENTATION = eINSTANCE.getDocumentedElement_Documentation();
+
+ /**
+ * The meta object literal for the '<em>Resource</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.resource.Resource
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl#getResource()
+ * @generated
+ */
+ EDataType RESOURCE = eINSTANCE.getResource();
+
+ }
+
+} //EFacetPackage
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/Facet.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/Facet.java
new file mode 100644
index 00000000000..6cba38ea543
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/Facet.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ * Gregoire Dupe (Mia-Software) - Bug 376576 - [EFacet] Change the multiplicity of Facet::extendedFacet
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.ETypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A Facet is a virtual sub-type of an existing EClass. A Facet cannot be instantiated.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getExtendedMetaclass <em>Extended Metaclass</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getFacetElements <em>Facet Elements</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getFacetOperations <em>Facet Operations</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getConformanceTypedElement <em>Conformance Typed Element</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getExtendedFacets <em>Extended Facets</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacet()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore validationDelegates='( self.query.scope = self.facet.extendedMetaClass ) and ( self.query.name = self.name )'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore validationDelegates='self.conformanceQuery.scope = self.extendedMetaClass'"
+ * annotation="org.eclipse.ocl.ecore.OCL body='not(self.container().oclCastAs(FacetSet).facets->exists(f|f.extendedMetaClass.container() <> self.extendedMetaClass.container() ))'"
+ * @generated
+ */
+public interface Facet extends EClassifier, DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Extended Metaclass</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extended Metaclass</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extended Metaclass</em>' reference.
+ * @see #setExtendedMetaclass(EClass)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacet_ExtendedMetaclass()
+ * @model annotation="GenModel documentation='The \"extendedMetaclass\" reference references the virtually subtyped EClass.'"
+ * @generated
+ */
+ EClass getExtendedMetaclass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getExtendedMetaclass <em>Extended Metaclass</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Extended Metaclass</em>' reference.
+ * @see #getExtendedMetaclass()
+ * @generated
+ */
+ void setExtendedMetaclass(EClass value);
+
+ /**
+ * Returns the value of the '<em><b>Facet Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EStructuralFeature}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This composite reference contains virtual attributes, references and operations.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Facet Elements</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacet_FacetElements()
+ * @model containment="true"
+ * @generated
+ */
+ EList<EStructuralFeature> getFacetElements();
+
+ /**
+ * Returns the value of the '<em><b>Facet Operations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Facet Operations</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Facet Operations</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacet_FacetOperations()
+ * @model containment="true"
+ * @generated
+ */
+ EList<FacetOperation> getFacetOperations();
+
+ /**
+ * Returns the value of the '<em><b>Conformance Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Conformance Typed Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Conformance Typed Element</em>' reference.
+ * @see #setConformanceTypedElement(ETypedElement)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacet_ConformanceTypedElement()
+ * @model
+ * @generated
+ */
+ ETypedElement getConformanceTypedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet#getConformanceTypedElement <em>Conformance Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Conformance Typed Element</em>' reference.
+ * @see #getConformanceTypedElement()
+ * @generated
+ */
+ void setConformanceTypedElement(ETypedElement value);
+
+ /**
+ * Returns the value of the '<em><b>Extended Facets</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extended Facets</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extended Facets</em>' reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacet_ExtendedFacets()
+ * @model annotation="GenModel documentation='A facet can extend other facets. If A facet A can extend a facet B. In this case an eObject conforms to the facet A if it matches conformance evaluation of A and B. '"
+ * @generated
+ * @since 0.2
+ */
+ EList<Facet> getExtendedFacets();
+
+} // Facet
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetAttribute.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetAttribute.java
new file mode 100644
index 00000000000..352ad47c79c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetAttribute.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.ecore.EAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A FacetAttribute is a virtual attribute added to all the eObjects which conform to the Facet owning the FacetAttribute.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacetAttribute()
+ * @model
+ * @generated
+ */
+public interface FacetAttribute extends EAttribute, DerivedTypedElement {
+} // FacetAttribute
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetElement.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetElement.java
new file mode 100644
index 00000000000..b161eb07bf4
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetElement.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.ETypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A facet element is owned by a facet. It can be a facet reference, a facet attribute or a facet operation.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement#getCategories <em>Categories</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacetElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FacetElement extends ETypedElement, DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Categories</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Categories</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Categories</em>' reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacetElement_Categories()
+ * @model
+ * @generated
+ */
+ EList<Category> getCategories();
+
+} // FacetElement
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetOperation.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetOperation.java
new file mode 100644
index 00000000000..dbbf1479441
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetOperation.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.ecore.EOperation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A FacetOperation is a virtual operation added to all the eObjects which conform to the Facet owning the FacetOperation.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacetOperation()
+ * @model
+ * @generated
+ */
+public interface FacetOperation extends EOperation, DerivedTypedElement {
+} // FacetOperation
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetReference.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetReference.java
new file mode 100644
index 00000000000..f8221889fdb
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetReference.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A FacetReference is a virtual reference added to all the eObjects which conform to the Facet owning the FacetReference.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacetReference()
+ * @model
+ * @generated
+ */
+public interface FacetReference extends EReference, DerivedTypedElement {
+} // FacetReference
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetSet.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetSet.java
new file mode 100644
index 00000000000..d2e414081e2
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/FacetSet.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet#getCategories <em>Categories</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacetSet()
+ * @model annotation="GenModel documentation='A \"FacetSet\" is the root element of a facet model. It contains a list of \"Facet\".'"
+ * @generated
+ */
+public interface FacetSet extends EPackage, DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Categories</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Categories</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Categories</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getFacetSet_Categories()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Category> getCategories();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="GenModel documentation='The FacetSets aggregated by this FacetSet (this operation is overridden in Aggregate in the aggregate metamodel).'"
+ * @generated
+ */
+ EList<FacetSet> getFacetSets();
+
+} // FacetSet
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/ParameterValue.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/ParameterValue.java
new file mode 100644
index 00000000000..7c450398ac6
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/ParameterValue.java
@@ -0,0 +1,94 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EParameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This is the value given as a parameter to execute a query for an operation.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue#getParameter <em>Parameter</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getParameterValue()
+ * @model
+ * @generated
+ */
+public interface ParameterValue extends EObject {
+ /**
+ * Returns the value of the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameter</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameter</em>' reference.
+ * @see #setParameter(EParameter)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getParameterValue_Parameter()
+ * @model required="true"
+ * @generated
+ */
+ EParameter getParameter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue#getParameter <em>Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parameter</em>' reference.
+ * @see #getParameter()
+ * @generated
+ */
+ void setParameter(EParameter value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(Object)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#getParameterValue_Value()
+ * @model
+ * @generated
+ */
+ Object getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(Object value);
+
+} // ParameterValue
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/ExtensibleFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/ExtensibleFactory.java
new file mode 100644
index 00000000000..253db73eaa4
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/ExtensibleFactory.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage
+ * @generated
+ */
+public interface ExtensibleFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ExtensibleFactory eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.ExtensibleFactoryImpl.init();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ExtensiblePackage getExtensiblePackage();
+
+} //ExtensibleFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/ExtensiblePackage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/ExtensiblePackage.java
new file mode 100644
index 00000000000..5db0e50d7bd
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/ExtensiblePackage.java
@@ -0,0 +1,191 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensibleFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ExtensiblePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "extensible"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/extensible"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "extensible"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ExtensiblePackage eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.ExtensiblePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl <em>Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.ExtensiblePackageImpl#getQuery()
+ * @generated
+ */
+ int QUERY = 0;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY__CAN_HAVE_SIDE_EFFECTS = 0;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY__CAN_BE_CACHED = 1;
+
+ /**
+ * The number of structural features of the '<em>Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_FEATURE_COUNT = 2;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query
+ * @generated
+ */
+ EClass getQuery();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query#isCanHaveSideEffects <em>Can Have Side Effects</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Can Have Side Effects</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query#isCanHaveSideEffects()
+ * @see #getQuery()
+ * @generated
+ */
+ EAttribute getQuery_CanHaveSideEffects();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query#isCanBeCached <em>Can Be Cached</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Can Be Cached</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query#isCanBeCached()
+ * @see #getQuery()
+ * @generated
+ */
+ EAttribute getQuery_CanBeCached();
+
+ /**
+ * 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
+ */
+ ExtensibleFactory getExtensibleFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl <em>Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.ExtensiblePackageImpl#getQuery()
+ * @generated
+ */
+ EClass QUERY = eINSTANCE.getQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Can Have Side Effects</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute QUERY__CAN_HAVE_SIDE_EFFECTS = eINSTANCE.getQuery_CanHaveSideEffects();
+
+ /**
+ * The meta object literal for the '<em><b>Can Be Cached</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute QUERY__CAN_BE_CACHED = eINSTANCE.getQuery_CanBeCached();
+
+ }
+
+} //ExtensiblePackage
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/Query.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/Query.java
new file mode 100644
index 00000000000..c062ad78c7c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/Query.java
@@ -0,0 +1,98 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EParameter;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Query is the abstract representation of the concept of query. This class has to be sub-classed for each existing query language (Java, OCL, etc.)
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query#isCanHaveSideEffects <em>Can Have Side Effects</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query#isCanBeCached <em>Can Be Cached</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage#getQuery()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Query extends EObject {
+ /**
+ * Returns the value of the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Can Have Side Effects</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Can Have Side Effects</em>' attribute.
+ * @see #setCanHaveSideEffects(boolean)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage#getQuery_CanHaveSideEffects()
+ * @model
+ * @generated
+ */
+ boolean isCanHaveSideEffects();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query#isCanHaveSideEffects <em>Can Have Side Effects</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Can Have Side Effects</em>' attribute.
+ * @see #isCanHaveSideEffects()
+ * @generated
+ */
+ void setCanHaveSideEffects(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Can Be Cached</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Can Be Cached</em>' attribute.
+ * @see #setCanBeCached(boolean)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage#getQuery_CanBeCached()
+ * @model
+ * @generated
+ */
+ boolean isCanBeCached();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query#isCanBeCached <em>Can Be Cached</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Can Be Cached</em>' attribute.
+ * @see #isCanBeCached()
+ * @generated
+ */
+ void setCanBeCached(boolean value);
+
+} // Query
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/ExtensibleFactoryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/ExtensibleFactoryImpl.java
new file mode 100644
index 00000000000..506cb89d5db
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/ExtensibleFactoryImpl.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensibleFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtensibleFactoryImpl extends EFactoryImpl implements ExtensibleFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ExtensibleFactory init() {
+ try {
+ ExtensibleFactory theExtensibleFactory = (ExtensibleFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/extensible"); //$NON-NLS-1$
+ if (theExtensibleFactory != null) {
+ return theExtensibleFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ExtensibleFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensibleFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensiblePackage getExtensiblePackage() {
+ return (ExtensiblePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ExtensiblePackage getPackage() {
+ return ExtensiblePackage.eINSTANCE;
+ }
+
+} //ExtensibleFactoryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/ExtensiblePackageImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/ExtensiblePackageImpl.java
new file mode 100644
index 00000000000..48168c44b68
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/ExtensiblePackageImpl.java
@@ -0,0 +1,225 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensibleFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtensiblePackageImpl extends EPackageImpl implements ExtensiblePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass queryEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ExtensiblePackageImpl() {
+ super(eNS_URI, ExtensibleFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ExtensiblePackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ExtensiblePackage init() {
+ if (isInited) return (ExtensiblePackage)EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI);
+
+ // Obtain or create and register package
+ ExtensiblePackageImpl theExtensiblePackage = (ExtensiblePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ExtensiblePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ExtensiblePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EFacetPackageImpl theEFacetPackage = (EFacetPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI) instanceof EFacetPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI) : EFacetPackage.eINSTANCE);
+ SerializationPackageImpl theSerializationPackage = (SerializationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SerializationPackage.eNS_URI) instanceof SerializationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SerializationPackage.eNS_URI) : SerializationPackage.eINSTANCE);
+ QueryPackageImpl theQueryPackage = (QueryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI) instanceof QueryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI) : QueryPackage.eINSTANCE);
+ RuntimePackageImpl theRuntimePackage = (RuntimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RuntimePackage.eNS_URI) instanceof RuntimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RuntimePackage.eNS_URI) : RuntimePackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theExtensiblePackage.createPackageContents();
+ theEFacetPackage.createPackageContents();
+ theSerializationPackage.createPackageContents();
+ theQueryPackage.createPackageContents();
+ theRuntimePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theExtensiblePackage.initializePackageContents();
+ theEFacetPackage.initializePackageContents();
+ theSerializationPackage.initializePackageContents();
+ theQueryPackage.initializePackageContents();
+ theRuntimePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theExtensiblePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ExtensiblePackage.eNS_URI, theExtensiblePackage);
+ return theExtensiblePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQuery() {
+ return queryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getQuery_CanHaveSideEffects() {
+ return (EAttribute)queryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getQuery_CanBeCached() {
+ return (EAttribute)queryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensibleFactory getExtensibleFactory() {
+ return (ExtensibleFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ queryEClass = createEClass(QUERY);
+ createEAttribute(queryEClass, QUERY__CAN_HAVE_SIDE_EFFECTS);
+ createEAttribute(queryEClass, QUERY__CAN_BE_CACHED);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(queryEClass, Query.class, "Query", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getQuery_CanHaveSideEffects(), ecorePackage.getEBoolean(), "canHaveSideEffects", null, 0, 1, Query.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getQuery_CanBeCached(), ecorePackage.getEBoolean(), "canBeCached", null, 0, 1, Query.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ }
+
+} //ExtensiblePackageImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/QueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/QueryImpl.java
new file mode 100644
index 00000000000..0ae4f2f1644
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/impl/QueryImpl.java
@@ -0,0 +1,249 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EParameter;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl#isCanHaveSideEffects <em>Can Have Side Effects</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl#isCanBeCached <em>Can Be Cached</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class QueryImpl extends EObjectImpl implements Query {
+ /**
+ * The default value of the '{@link #isCanHaveSideEffects() <em>Can Have Side Effects</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCanHaveSideEffects()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CAN_HAVE_SIDE_EFFECTS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCanHaveSideEffects() <em>Can Have Side Effects</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCanHaveSideEffects()
+ * @generated
+ * @ordered
+ */
+ protected boolean canHaveSideEffects = CAN_HAVE_SIDE_EFFECTS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isCanBeCached() <em>Can Be Cached</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCanBeCached()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CAN_BE_CACHED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCanBeCached() <em>Can Be Cached</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCanBeCached()
+ * @generated
+ * @ordered
+ */
+ protected boolean canBeCached = CAN_BE_CACHED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtensiblePackage.Literals.QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public DerivedTypedElement basicGetOwningDerivedTypedElement() {
+ EObject container = eContainer();
+ if (container instanceof DerivedTypedElement) {
+ return (DerivedTypedElement) container;
+ }
+ throw new IllegalStateException("Query must always be contained by a DerivedTypedElement");
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCanHaveSideEffects() {
+ return canHaveSideEffects;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCanHaveSideEffects(boolean newCanHaveSideEffects) {
+ boolean oldCanHaveSideEffects = canHaveSideEffects;
+ canHaveSideEffects = newCanHaveSideEffects;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS, oldCanHaveSideEffects, canHaveSideEffects));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCanBeCached() {
+ return canBeCached;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCanBeCached(boolean newCanBeCached) {
+ boolean oldCanBeCached = canBeCached;
+ canBeCached = newCanBeCached;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtensiblePackage.QUERY__CAN_BE_CACHED, oldCanBeCached, canBeCached));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS:
+ return isCanHaveSideEffects();
+ case ExtensiblePackage.QUERY__CAN_BE_CACHED:
+ return isCanBeCached();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS:
+ setCanHaveSideEffects((Boolean)newValue);
+ return;
+ case ExtensiblePackage.QUERY__CAN_BE_CACHED:
+ setCanBeCached((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS:
+ setCanHaveSideEffects(CAN_HAVE_SIDE_EFFECTS_EDEFAULT);
+ return;
+ case ExtensiblePackage.QUERY__CAN_BE_CACHED:
+ setCanBeCached(CAN_BE_CACHED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS:
+ return canHaveSideEffects != CAN_HAVE_SIDE_EFFECTS_EDEFAULT;
+ case ExtensiblePackage.QUERY__CAN_BE_CACHED:
+ return canBeCached != CAN_BE_CACHED_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (canHaveSideEffects: "); //$NON-NLS-1$
+ result.append(canHaveSideEffects);
+ result.append(", canBeCached: "); //$NON-NLS-1$
+ result.append(canBeCached);
+ result.append(')');
+ return result.toString();
+ }
+
+} //QueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/util/ExtensibleAdapterFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/util/ExtensibleAdapterFactory.java
new file mode 100644
index 00000000000..a0710c88bf2
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/util/ExtensibleAdapterFactory.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage
+ * @generated
+ */
+public class ExtensibleAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ExtensiblePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensibleAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ExtensiblePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensibleSwitch<Adapter> modelSwitch =
+ new ExtensibleSwitch<Adapter>() {
+ @Override
+ public Adapter caseQuery(Query object) {
+ return createQueryAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query
+ * @generated
+ */
+ public Adapter createQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ExtensibleAdapterFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/util/ExtensibleSwitch.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/util/ExtensibleSwitch.java
new file mode 100644
index 00000000000..4aaffcf8f6d
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/extensible/util/ExtensibleSwitch.java
@@ -0,0 +1,143 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage
+ * @generated
+ */
+public class ExtensibleSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ExtensiblePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensibleSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ExtensiblePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 T 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 T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), 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 T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ExtensiblePackage.QUERY: {
+ Query query = (Query)theEObject;
+ T result = caseQuery(query);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query</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>Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQuery(Query 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ExtensibleSwitch
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/CategoryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/CategoryImpl.java
new file mode 100644
index 00000000000..2e8527ac85b
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/CategoryImpl.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENamedElementImpl;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Category</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.CategoryImpl#getDocumentation <em>Documentation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CategoryImpl extends ENamedElementImpl implements Category {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DOCUMENTATION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CategoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.CATEGORY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.CATEGORY__DOCUMENTATION, oldDocumentation, documentation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.CATEGORY__DOCUMENTATION:
+ return getDocumentation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.CATEGORY__DOCUMENTATION:
+ setDocumentation((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.CATEGORY__DOCUMENTATION:
+ setDocumentation(DOCUMENTATION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.CATEGORY__DOCUMENTATION:
+ return DOCUMENTATION_EDEFAULT == null ? documentation != null : !DOCUMENTATION_EDEFAULT.equals(documentation);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.CATEGORY__DOCUMENTATION: return EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION: return EFacetPackage.CATEGORY__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CategoryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/DerivedTypedElementImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/DerivedTypedElementImpl.java
new file mode 100644
index 00000000000..267e335ca38
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/DerivedTypedElementImpl.java
@@ -0,0 +1,244 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Derived Typed Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DerivedTypedElementImpl#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DerivedTypedElementImpl#getOverride <em>Override</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class DerivedTypedElementImpl extends FacetElementImpl implements DerivedTypedElement {
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected Query query;
+
+ /**
+ * The cached value of the '{@link #getOverride() <em>Override</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOverride()
+ * @generated
+ * @ordered
+ */
+ protected DerivedTypedElement override;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DerivedTypedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.DERIVED_TYPED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Query getQuery() {
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetQuery(Query newQuery, NotificationChain msgs) {
+ Query oldQuery = query;
+ query = newQuery;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY, oldQuery, newQuery);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQuery(Query newQuery) {
+ if (newQuery != query) {
+ NotificationChain msgs = null;
+ if (query != null)
+ msgs = ((InternalEObject)query).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY, null, msgs);
+ if (newQuery != null)
+ msgs = ((InternalEObject)newQuery).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY, null, msgs);
+ msgs = basicSetQuery(newQuery, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY, newQuery, newQuery));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DerivedTypedElement getOverride() {
+ if (override != null && override.eIsProxy()) {
+ InternalEObject oldOverride = (InternalEObject)override;
+ override = (DerivedTypedElement)eResolveProxy(oldOverride);
+ if (override != oldOverride) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE, oldOverride, override));
+ }
+ }
+ return override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DerivedTypedElement basicGetOverride() {
+ return override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOverride(DerivedTypedElement newOverride) {
+ DerivedTypedElement oldOverride = override;
+ override = newOverride;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE, oldOverride, override));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY:
+ return basicSetQuery(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY:
+ return getQuery();
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE:
+ if (resolve) return getOverride();
+ return basicGetOverride();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY:
+ setQuery((Query)newValue);
+ return;
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE:
+ setOverride((DerivedTypedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY:
+ setQuery((Query)null);
+ return;
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE:
+ setOverride((DerivedTypedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY:
+ return query != null;
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE:
+ return override != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DerivedTypedElementImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/DocumentedElementImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/DocumentedElementImpl.java
new file mode 100644
index 00000000000..f4ef7c9b22b
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/DocumentedElementImpl.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Documented Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.DocumentedElementImpl#getDocumentation <em>Documentation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentedElementImpl extends EObjectImpl implements DocumentedElement {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DOCUMENTATION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DocumentedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.DOCUMENTED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION, oldDocumentation, documentation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ return getDocumentation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ setDocumentation((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ setDocumentation(DOCUMENTATION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION:
+ return DOCUMENTATION_EDEFAULT == null ? documentation != null : !DOCUMENTATION_EDEFAULT.equals(documentation);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DocumentedElementImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/EFacetFactoryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/EFacetFactoryImpl.java
new file mode 100644
index 00000000000..a86fc3e90f5
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/EFacetFactoryImpl.java
@@ -0,0 +1,242 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetAttribute;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EFacetFactoryImpl extends EFactoryImpl implements EFacetFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EFacetFactory init() {
+ try {
+ EFacetFactory theEFacetFactory = (EFacetFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet"); //$NON-NLS-1$
+ if (theEFacetFactory != null) {
+ return theEFacetFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EFacetFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EFacetFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case EFacetPackage.FACET_ATTRIBUTE: return createFacetAttribute();
+ case EFacetPackage.FACET_REFERENCE: return createFacetReference();
+ case EFacetPackage.FACET_OPERATION: return createFacetOperation();
+ case EFacetPackage.FACET_SET: return createFacetSet();
+ case EFacetPackage.FACET: return createFacet();
+ case EFacetPackage.CATEGORY: return createCategory();
+ case EFacetPackage.PARAMETER_VALUE: return createParameterValue();
+ case EFacetPackage.DOCUMENTED_ELEMENT: return createDocumentedElement();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case EFacetPackage.RESOURCE:
+ return createResourceFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case EFacetPackage.RESOURCE:
+ return convertResourceToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FacetAttribute createFacetAttribute() {
+ FacetAttributeImpl facetAttribute = new FacetAttributeImpl();
+ return facetAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FacetReference createFacetReference() {
+ FacetReferenceImpl facetReference = new FacetReferenceImpl();
+ return facetReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FacetOperation createFacetOperation() {
+ FacetOperationImpl facetOperation = new FacetOperationImpl();
+ return facetOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FacetSet createFacetSet() {
+ FacetSetImpl facetSet = new FacetSetImpl();
+ return facetSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Facet createFacet() {
+ FacetImpl facet = new FacetImpl();
+ return facet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Category createCategory() {
+ CategoryImpl category = new CategoryImpl();
+ return category;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterValue createParameterValue() {
+ ParameterValueImpl parameterValue = new ParameterValueImpl();
+ return parameterValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DocumentedElement createDocumentedElement() {
+ DocumentedElementImpl documentedElement = new DocumentedElementImpl();
+ return documentedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Resource createResourceFromString(EDataType eDataType, String initialValue) {
+ return (Resource)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertResourceToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EFacetPackage getEFacetPackage() {
+ return (EFacetPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static EFacetPackage getPackage() {
+ return EFacetPackage.eINSTANCE;
+ }
+
+} //EFacetFactoryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/EFacetPackageImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/EFacetPackageImpl.java
new file mode 100644
index 00000000000..c613641f644
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/EFacetPackageImpl.java
@@ -0,0 +1,669 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ * Gregoire Dupe (Mia-Software) - Bug 376576 - [EFacet] Change the multiplicity of Facet::extendedFacet
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import static org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage.RESOURCE;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetAttribute;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.ExtensiblePackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EFacetPackageImpl extends EPackageImpl implements EFacetPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass facetAttributeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass facetReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass facetOperationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass facetSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass facetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass categoryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass facetElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass derivedTypedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass parameterValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass documentedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType resourceEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private EFacetPackageImpl() {
+ super(eNS_URI, EFacetFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link EFacetPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static EFacetPackage init() {
+ if (isInited) return (EFacetPackage)EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI);
+
+ // Obtain or create and register package
+ EFacetPackageImpl theEFacetPackage = (EFacetPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EFacetPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EFacetPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ SerializationPackageImpl theSerializationPackage = (SerializationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SerializationPackage.eNS_URI) instanceof SerializationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SerializationPackage.eNS_URI) : SerializationPackage.eINSTANCE);
+ ExtensiblePackageImpl theExtensiblePackage = (ExtensiblePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI) instanceof ExtensiblePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI) : ExtensiblePackage.eINSTANCE);
+ QueryPackageImpl theQueryPackage = (QueryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI) instanceof QueryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI) : QueryPackage.eINSTANCE);
+ RuntimePackageImpl theRuntimePackage = (RuntimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RuntimePackage.eNS_URI) instanceof RuntimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RuntimePackage.eNS_URI) : RuntimePackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theEFacetPackage.createPackageContents();
+ theSerializationPackage.createPackageContents();
+ theExtensiblePackage.createPackageContents();
+ theQueryPackage.createPackageContents();
+ theRuntimePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theEFacetPackage.initializePackageContents();
+ theSerializationPackage.initializePackageContents();
+ theExtensiblePackage.initializePackageContents();
+ theQueryPackage.initializePackageContents();
+ theRuntimePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theEFacetPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(EFacetPackage.eNS_URI, theEFacetPackage);
+ return theEFacetPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFacetAttribute() {
+ return facetAttributeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFacetReference() {
+ return facetReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFacetOperation() {
+ return facetOperationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFacetSet() {
+ return facetSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFacetSet_Categories() {
+ return (EReference)facetSetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFacet() {
+ return facetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFacet_ExtendedMetaclass() {
+ return (EReference)facetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFacet_FacetElements() {
+ return (EReference)facetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFacet_FacetOperations() {
+ return (EReference)facetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFacet_ConformanceTypedElement() {
+ return (EReference)facetEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFacet_ExtendedFacets() {
+ return (EReference)facetEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCategory() {
+ return categoryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFacetElement() {
+ return facetElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFacetElement_Categories() {
+ return (EReference)facetElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDerivedTypedElement() {
+ return derivedTypedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDerivedTypedElement_Query() {
+ return (EReference)derivedTypedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDerivedTypedElement_Override() {
+ return (EReference)derivedTypedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParameterValue() {
+ return parameterValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParameterValue_Parameter() {
+ return (EReference)parameterValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParameterValue_Value() {
+ return (EAttribute)parameterValueEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDocumentedElement() {
+ return documentedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDocumentedElement_Documentation() {
+ return (EAttribute)documentedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getResource() {
+ return resourceEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EFacetFactory getEFacetFactory() {
+ return (EFacetFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ facetAttributeEClass = createEClass(FACET_ATTRIBUTE);
+
+ facetReferenceEClass = createEClass(FACET_REFERENCE);
+
+ facetOperationEClass = createEClass(FACET_OPERATION);
+
+ facetSetEClass = createEClass(FACET_SET);
+ createEReference(facetSetEClass, FACET_SET__CATEGORIES);
+
+ facetEClass = createEClass(FACET);
+ createEReference(facetEClass, FACET__EXTENDED_METACLASS);
+ createEReference(facetEClass, FACET__FACET_ELEMENTS);
+ createEReference(facetEClass, FACET__FACET_OPERATIONS);
+ createEReference(facetEClass, FACET__CONFORMANCE_TYPED_ELEMENT);
+ createEReference(facetEClass, FACET__EXTENDED_FACETS);
+
+ categoryEClass = createEClass(CATEGORY);
+
+ facetElementEClass = createEClass(FACET_ELEMENT);
+ createEReference(facetElementEClass, FACET_ELEMENT__CATEGORIES);
+
+ derivedTypedElementEClass = createEClass(DERIVED_TYPED_ELEMENT);
+ createEReference(derivedTypedElementEClass, DERIVED_TYPED_ELEMENT__QUERY);
+ createEReference(derivedTypedElementEClass, DERIVED_TYPED_ELEMENT__OVERRIDE);
+
+ parameterValueEClass = createEClass(PARAMETER_VALUE);
+ createEReference(parameterValueEClass, PARAMETER_VALUE__PARAMETER);
+ createEAttribute(parameterValueEClass, PARAMETER_VALUE__VALUE);
+
+ documentedElementEClass = createEClass(DOCUMENTED_ELEMENT);
+ createEAttribute(documentedElementEClass, DOCUMENTED_ELEMENT__DOCUMENTATION);
+
+ // Create data types
+ resourceEDataType = createEDataType(RESOURCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ SerializationPackage theSerializationPackage = (SerializationPackage)EPackage.Registry.INSTANCE.getEPackage(SerializationPackage.eNS_URI);
+ ExtensiblePackage theExtensiblePackage = (ExtensiblePackage)EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI);
+ QueryPackage theQueryPackage = (QueryPackage)EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI);
+ RuntimePackage theRuntimePackage = (RuntimePackage)EPackage.Registry.INSTANCE.getEPackage(RuntimePackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theSerializationPackage);
+ getESubpackages().add(theExtensiblePackage);
+ getESubpackages().add(theQueryPackage);
+ getESubpackages().add(theRuntimePackage);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ facetAttributeEClass.getESuperTypes().add(ecorePackage.getEAttribute());
+ facetAttributeEClass.getESuperTypes().add(this.getDerivedTypedElement());
+ facetReferenceEClass.getESuperTypes().add(ecorePackage.getEReference());
+ facetReferenceEClass.getESuperTypes().add(this.getDerivedTypedElement());
+ facetOperationEClass.getESuperTypes().add(ecorePackage.getEOperation());
+ facetOperationEClass.getESuperTypes().add(this.getDerivedTypedElement());
+ facetSetEClass.getESuperTypes().add(ecorePackage.getEPackage());
+ facetSetEClass.getESuperTypes().add(this.getDocumentedElement());
+ facetEClass.getESuperTypes().add(ecorePackage.getEClassifier());
+ facetEClass.getESuperTypes().add(this.getDocumentedElement());
+ categoryEClass.getESuperTypes().add(ecorePackage.getENamedElement());
+ categoryEClass.getESuperTypes().add(this.getDocumentedElement());
+ facetElementEClass.getESuperTypes().add(ecorePackage.getETypedElement());
+ facetElementEClass.getESuperTypes().add(this.getDocumentedElement());
+ derivedTypedElementEClass.getESuperTypes().add(this.getFacetElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(facetAttributeEClass, FacetAttribute.class, "FacetAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(facetReferenceEClass, FacetReference.class, "FacetReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(facetOperationEClass, FacetOperation.class, "FacetOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(facetSetEClass, FacetSet.class, "FacetSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getFacetSet_Categories(), this.getCategory(), null, "categories", null, 0, -1, FacetSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ addEOperation(facetSetEClass, this.getFacetSet(), "getFacetSets", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(facetEClass, Facet.class, "Facet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getFacet_ExtendedMetaclass(), ecorePackage.getEClass(), null, "extendedMetaclass", null, 0, 1, Facet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacet_FacetElements(), ecorePackage.getEStructuralFeature(), null, "facetElements", null, 0, -1, Facet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacet_FacetOperations(), this.getFacetOperation(), null, "facetOperations", null, 0, -1, Facet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacet_ConformanceTypedElement(), ecorePackage.getETypedElement(), null, "conformanceTypedElement", null, 0, 1, Facet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacet_ExtendedFacets(), this.getFacet(), null, "extendedFacets", null, 0, -1, Facet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(categoryEClass, Category.class, "Category", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(facetElementEClass, FacetElement.class, "FacetElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getFacetElement_Categories(), this.getCategory(), null, "categories", null, 0, -1, FacetElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(derivedTypedElementEClass, DerivedTypedElement.class, "DerivedTypedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getDerivedTypedElement_Query(), theExtensiblePackage.getQuery(), null, "query", null, 1, 1, DerivedTypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getDerivedTypedElement_Override(), this.getDerivedTypedElement(), null, "override", null, 0, 1, DerivedTypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(parameterValueEClass, ParameterValue.class, "ParameterValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getParameterValue_Parameter(), ecorePackage.getEParameter(), null, "parameter", null, 1, 1, ParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getParameterValue_Value(), ecorePackage.getEJavaObject(), "value", null, 0, 1, ParameterValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(documentedElementEClass, DocumentedElement.class, "DocumentedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getDocumentedElement_Documentation(), ecorePackage.getEString(), "documentation", null, 0, 1, DocumentedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ // Initialize data types
+ initEDataType(resourceEDataType, Resource.class, "Resource", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2002/Ecore
+ createEcoreAnnotations();
+ // GenModel
+ createGenModel_1Annotations();
+ // org.eclipse.ocl.ecore.OCL
+ createOrgAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createEcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore"; //$NON-NLS-1$
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "validationDelegates", "org.eclipse.ocl.ecore.OCL" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation
+ (facetEClass,
+ source,
+ new String[] {
+ "validationDelegates", "( self.query.scope = self.facet.extendedMetaClass ) and ( self.query.name = self.name )" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation
+ (facetEClass,
+ source,
+ new String[] {
+ "validationDelegates", "self.conformanceQuery.scope = self.extendedMetaClass" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>GenModel</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createGenModel_1Annotations() {
+ String source = "GenModel"; //$NON-NLS-1$
+ addAnnotation
+ (facetSetEClass,
+ source,
+ new String[] {
+ "documentation", "A \"FacetSet\" is the root element of a facet model. It contains a list of \"Facet\"." //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ });
+ addAnnotation
+ (facetSetEClass.getEOperations().get(0),
+ source,
+ new String[] {
+ "documentation", "The FacetSets aggregated by this FacetSet (this operation is overridden in Aggregate in the aggregate metamodel)." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation
+ (getFacet_ExtendedMetaclass(),
+ source,
+ new String[] {
+ "documentation", "The \"extendedMetaclass\" reference references the virtually subtyped EClass." //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ });
+ addAnnotation
+ (getFacet_ExtendedFacets(),
+ source,
+ new String[] {
+ "documentation", "A facet can extend other facets. If A facet A can extend a facet B. In this case an eObject conforms to the facet A if it matches conformance evaluation of A and B. " //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>org.eclipse.ocl.ecore.OCL</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createOrgAnnotations() {
+ String source = "org.eclipse.ocl.ecore.OCL"; //$NON-NLS-1$
+ addAnnotation
+ (facetEClass,
+ source,
+ new String[] {
+ "body", "not(self.container().oclCastAs(FacetSet).facets->exists(f|f.extendedMetaClass.container() <> self.extendedMetaClass.container() ))" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+} //EFacetPackageImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetAttributeImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetAttributeImpl.java
new file mode 100644
index 00000000000..c0ab0fe1198
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetAttributeImpl.java
@@ -0,0 +1,414 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EAttributeImpl;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetAttribute;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetAttributeImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetAttributeImpl#getCategories <em>Categories</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetAttributeImpl#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetAttributeImpl#getOverride <em>Override</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FacetAttributeImpl extends EAttributeImpl implements FacetAttribute {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCategories() <em>Categories</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategories()
+ * @generated
+ * @ordered
+ */
+ protected EList<Category> categories;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected Query query;
+
+ /**
+ * The cached value of the '{@link #getOverride() <em>Override</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOverride()
+ * @generated
+ * @ordered
+ */
+ protected DerivedTypedElement override;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FacetAttributeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET_ATTRIBUTE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ATTRIBUTE__DOCUMENTATION, oldDocumentation, documentation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Category> getCategories() {
+ if (categories == null) {
+ categories = new EObjectResolvingEList<Category>(Category.class, this, EFacetPackage.FACET_ATTRIBUTE__CATEGORIES);
+ }
+ return categories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Query getQuery() {
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetQuery(Query newQuery, NotificationChain msgs) {
+ Query oldQuery = query;
+ query = newQuery;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ATTRIBUTE__QUERY, oldQuery, newQuery);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQuery(Query newQuery) {
+ if (newQuery != query) {
+ NotificationChain msgs = null;
+ if (query != null)
+ msgs = ((InternalEObject)query).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_ATTRIBUTE__QUERY, null, msgs);
+ if (newQuery != null)
+ msgs = ((InternalEObject)newQuery).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_ATTRIBUTE__QUERY, null, msgs);
+ msgs = basicSetQuery(newQuery, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ATTRIBUTE__QUERY, newQuery, newQuery));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DerivedTypedElement getOverride() {
+ if (override != null && override.eIsProxy()) {
+ InternalEObject oldOverride = (InternalEObject)override;
+ override = (DerivedTypedElement)eResolveProxy(oldOverride);
+ if (override != oldOverride) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET_ATTRIBUTE__OVERRIDE, oldOverride, override));
+ }
+ }
+ return override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DerivedTypedElement basicGetOverride() {
+ return override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOverride(DerivedTypedElement newOverride) {
+ DerivedTypedElement oldOverride = override;
+ override = newOverride;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ATTRIBUTE__OVERRIDE, oldOverride, override));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY:
+ return basicSetQuery(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__DOCUMENTATION:
+ return getDocumentation();
+ case EFacetPackage.FACET_ATTRIBUTE__CATEGORIES:
+ return getCategories();
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY:
+ return getQuery();
+ case EFacetPackage.FACET_ATTRIBUTE__OVERRIDE:
+ if (resolve) return getOverride();
+ return basicGetOverride();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__DOCUMENTATION:
+ setDocumentation((String)newValue);
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__CATEGORIES:
+ getCategories().clear();
+ getCategories().addAll((Collection<? extends Category>)newValue);
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY:
+ setQuery((Query)newValue);
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__OVERRIDE:
+ setOverride((DerivedTypedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__DOCUMENTATION:
+ setDocumentation(DOCUMENTATION_EDEFAULT);
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__CATEGORIES:
+ getCategories().clear();
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY:
+ setQuery((Query)null);
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__OVERRIDE:
+ setOverride((DerivedTypedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__DOCUMENTATION:
+ return DOCUMENTATION_EDEFAULT == null ? documentation != null : !DOCUMENTATION_EDEFAULT.equals(documentation);
+ case EFacetPackage.FACET_ATTRIBUTE__CATEGORIES:
+ return categories != null && !categories.isEmpty();
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY:
+ return query != null;
+ case EFacetPackage.FACET_ATTRIBUTE__OVERRIDE:
+ return override != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__DOCUMENTATION: return EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ if (baseClass == FacetElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__CATEGORIES: return EFacetPackage.FACET_ELEMENT__CATEGORIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == DerivedTypedElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY: return EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY;
+ case EFacetPackage.FACET_ATTRIBUTE__OVERRIDE: return EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION: return EFacetPackage.FACET_ATTRIBUTE__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ if (baseClass == FacetElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES: return EFacetPackage.FACET_ATTRIBUTE__CATEGORIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == DerivedTypedElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY: return EFacetPackage.FACET_ATTRIBUTE__QUERY;
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE: return EFacetPackage.FACET_ATTRIBUTE__OVERRIDE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FacetAttributeImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetElementImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetElementImpl.java
new file mode 100644
index 00000000000..c02a858be3c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetElementImpl.java
@@ -0,0 +1,245 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.ETypedElementImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetElementImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetElementImpl#getCategories <em>Categories</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class FacetElementImpl extends ETypedElementImpl implements FacetElement {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCategories() <em>Categories</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategories()
+ * @generated
+ * @ordered
+ */
+ protected EList<Category> categories;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FacetElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ELEMENT__DOCUMENTATION, oldDocumentation, documentation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Category> getCategories() {
+ if (categories == null) {
+ categories = new EObjectResolvingEList<Category>(Category.class, this, EFacetPackage.FACET_ELEMENT__CATEGORIES);
+ }
+ return categories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ELEMENT__DOCUMENTATION:
+ return getDocumentation();
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES:
+ return getCategories();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ELEMENT__DOCUMENTATION:
+ setDocumentation((String)newValue);
+ return;
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES:
+ getCategories().clear();
+ getCategories().addAll((Collection<? extends Category>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ELEMENT__DOCUMENTATION:
+ setDocumentation(DOCUMENTATION_EDEFAULT);
+ return;
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES:
+ getCategories().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ELEMENT__DOCUMENTATION:
+ return DOCUMENTATION_EDEFAULT == null ? documentation != null : !DOCUMENTATION_EDEFAULT.equals(documentation);
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES:
+ return categories != null && !categories.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_ELEMENT__DOCUMENTATION: return EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION: return EFacetPackage.FACET_ELEMENT__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FacetElementImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetImpl.java
new file mode 100644
index 00000000000..d4d86d319b3
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetImpl.java
@@ -0,0 +1,490 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ * Gregoire Dupe (Mia-Software) - Bug 376576 - [EFacet] Change the multiplicity of Facet::extendedFacet
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EClassifierImpl;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetImpl#getExtendedMetaclass <em>Extended Metaclass</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetImpl#getFacetElements <em>Facet Elements</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetImpl#getFacetOperations <em>Facet Operations</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetImpl#getConformanceTypedElement <em>Conformance Typed Element</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetImpl#getExtendedFacets <em>Extended Facets</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FacetImpl extends EClassifierImpl implements Facet {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExtendedMetaclass() <em>Extended Metaclass</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtendedMetaclass()
+ * @generated
+ * @ordered
+ */
+ protected EClass extendedMetaclass;
+
+ /**
+ * The cached value of the '{@link #getFacetElements() <em>Facet Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFacetElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<EStructuralFeature> facetElements;
+
+ /**
+ * The cached value of the '{@link #getFacetOperations() <em>Facet Operations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFacetOperations()
+ * @generated
+ * @ordered
+ */
+ protected EList<FacetOperation> facetOperations;
+
+ /**
+ * The cached value of the '{@link #getConformanceTypedElement() <em>Conformance Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConformanceTypedElement()
+ * @generated
+ * @ordered
+ */
+ protected ETypedElement conformanceTypedElement;
+
+ /**
+ * The cached value of the '{@link #getExtendedFacets() <em>Extended Facets</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtendedFacets()
+ * @generated
+ * @ordered
+ */
+ protected EList<Facet> extendedFacets;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FacetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET__DOCUMENTATION, oldDocumentation, documentation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public FacetSet basicGetFacetSet() {
+ if (getEPackage() instanceof FacetSet) {
+ FacetSet facetSet = (FacetSet) getEPackage();
+ return facetSet;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void setFacetSet(final FacetSet newFacetSet) {
+ newFacetSet.getEClassifiers().add(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtendedMetaclass() {
+ if (extendedMetaclass != null && extendedMetaclass.eIsProxy()) {
+ InternalEObject oldExtendedMetaclass = (InternalEObject)extendedMetaclass;
+ extendedMetaclass = (EClass)eResolveProxy(oldExtendedMetaclass);
+ if (extendedMetaclass != oldExtendedMetaclass) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET__EXTENDED_METACLASS, oldExtendedMetaclass, extendedMetaclass));
+ }
+ }
+ return extendedMetaclass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EClass basicGetExtendedMetaclass() {
+ if (this.extendedMetaclass != null && this.extendedMetaclass.eIsProxy()) {
+ InternalEObject oldExtendedMetaclass = (InternalEObject)this.extendedMetaclass;
+ this.extendedMetaclass = (EClass)eResolveProxy(oldExtendedMetaclass);
+ if (this.extendedMetaclass != oldExtendedMetaclass) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET__EXTENDED_METACLASS, oldExtendedMetaclass, this.extendedMetaclass));
+ }
+ }
+ }
+ return this.extendedMetaclass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtendedMetaclass(EClass newExtendedMetaclass) {
+ EClass oldExtendedMetaclass = extendedMetaclass;
+ extendedMetaclass = newExtendedMetaclass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET__EXTENDED_METACLASS, oldExtendedMetaclass, extendedMetaclass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EStructuralFeature> getFacetElements() {
+ if (facetElements == null) {
+ facetElements = new EObjectContainmentEList<EStructuralFeature>(EStructuralFeature.class, this, EFacetPackage.FACET__FACET_ELEMENTS);
+ }
+ return facetElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FacetOperation> getFacetOperations() {
+ if (facetOperations == null) {
+ facetOperations = new EObjectContainmentEList<FacetOperation>(FacetOperation.class, this, EFacetPackage.FACET__FACET_OPERATIONS);
+ }
+ return facetOperations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ETypedElement getConformanceTypedElement() {
+ if (conformanceTypedElement != null && conformanceTypedElement.eIsProxy()) {
+ InternalEObject oldConformanceTypedElement = (InternalEObject)conformanceTypedElement;
+ conformanceTypedElement = (ETypedElement)eResolveProxy(oldConformanceTypedElement);
+ if (conformanceTypedElement != oldConformanceTypedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET__CONFORMANCE_TYPED_ELEMENT, oldConformanceTypedElement, conformanceTypedElement));
+ }
+ }
+ return conformanceTypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ETypedElement basicGetConformanceTypedElement() {
+ return conformanceTypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConformanceTypedElement(ETypedElement newConformanceTypedElement) {
+ ETypedElement oldConformanceTypedElement = conformanceTypedElement;
+ conformanceTypedElement = newConformanceTypedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET__CONFORMANCE_TYPED_ELEMENT, oldConformanceTypedElement, conformanceTypedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Facet> getExtendedFacets() {
+ if (extendedFacets == null) {
+ extendedFacets = new EObjectResolvingEList<Facet>(Facet.class, this, EFacetPackage.FACET__EXTENDED_FACETS);
+ }
+ return extendedFacets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ return ((InternalEList<?>)getFacetElements()).basicRemove(otherEnd, msgs);
+ case EFacetPackage.FACET__FACET_OPERATIONS:
+ return ((InternalEList<?>)getFacetOperations()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET__DOCUMENTATION:
+ return getDocumentation();
+ case EFacetPackage.FACET__EXTENDED_METACLASS:
+ if (resolve) return getExtendedMetaclass();
+ return basicGetExtendedMetaclass();
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ return getFacetElements();
+ case EFacetPackage.FACET__FACET_OPERATIONS:
+ return getFacetOperations();
+ case EFacetPackage.FACET__CONFORMANCE_TYPED_ELEMENT:
+ if (resolve) return getConformanceTypedElement();
+ return basicGetConformanceTypedElement();
+ case EFacetPackage.FACET__EXTENDED_FACETS:
+ return getExtendedFacets();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET__DOCUMENTATION:
+ setDocumentation((String)newValue);
+ return;
+ case EFacetPackage.FACET__EXTENDED_METACLASS:
+ setExtendedMetaclass((EClass)newValue);
+ return;
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ getFacetElements().clear();
+ getFacetElements().addAll((Collection<? extends EStructuralFeature>)newValue);
+ return;
+ case EFacetPackage.FACET__FACET_OPERATIONS:
+ getFacetOperations().clear();
+ getFacetOperations().addAll((Collection<? extends FacetOperation>)newValue);
+ return;
+ case EFacetPackage.FACET__CONFORMANCE_TYPED_ELEMENT:
+ setConformanceTypedElement((ETypedElement)newValue);
+ return;
+ case EFacetPackage.FACET__EXTENDED_FACETS:
+ getExtendedFacets().clear();
+ getExtendedFacets().addAll((Collection<? extends Facet>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET__DOCUMENTATION:
+ setDocumentation(DOCUMENTATION_EDEFAULT);
+ return;
+ case EFacetPackage.FACET__EXTENDED_METACLASS:
+ setExtendedMetaclass((EClass)null);
+ return;
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ getFacetElements().clear();
+ return;
+ case EFacetPackage.FACET__FACET_OPERATIONS:
+ getFacetOperations().clear();
+ return;
+ case EFacetPackage.FACET__CONFORMANCE_TYPED_ELEMENT:
+ setConformanceTypedElement((ETypedElement)null);
+ return;
+ case EFacetPackage.FACET__EXTENDED_FACETS:
+ getExtendedFacets().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET__DOCUMENTATION:
+ return DOCUMENTATION_EDEFAULT == null ? documentation != null : !DOCUMENTATION_EDEFAULT.equals(documentation);
+ case EFacetPackage.FACET__EXTENDED_METACLASS:
+ return extendedMetaclass != null;
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ return facetElements != null && !facetElements.isEmpty();
+ case EFacetPackage.FACET__FACET_OPERATIONS:
+ return facetOperations != null && !facetOperations.isEmpty();
+ case EFacetPackage.FACET__CONFORMANCE_TYPED_ELEMENT:
+ return conformanceTypedElement != null;
+ case EFacetPackage.FACET__EXTENDED_FACETS:
+ return extendedFacets != null && !extendedFacets.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET__DOCUMENTATION: return EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION: return EFacetPackage.FACET__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FacetImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetOperationImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetOperationImpl.java
new file mode 100644
index 00000000000..f1914bcab01
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetOperationImpl.java
@@ -0,0 +1,414 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EOperationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetOperationImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetOperationImpl#getCategories <em>Categories</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetOperationImpl#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetOperationImpl#getOverride <em>Override</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FacetOperationImpl extends EOperationImpl implements FacetOperation {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCategories() <em>Categories</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategories()
+ * @generated
+ * @ordered
+ */
+ protected EList<Category> categories;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected Query query;
+
+ /**
+ * The cached value of the '{@link #getOverride() <em>Override</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOverride()
+ * @generated
+ * @ordered
+ */
+ protected DerivedTypedElement override;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FacetOperationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET_OPERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_OPERATION__DOCUMENTATION, oldDocumentation, documentation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Category> getCategories() {
+ if (categories == null) {
+ categories = new EObjectResolvingEList<Category>(Category.class, this, EFacetPackage.FACET_OPERATION__CATEGORIES);
+ }
+ return categories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Query getQuery() {
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetQuery(Query newQuery, NotificationChain msgs) {
+ Query oldQuery = query;
+ query = newQuery;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_OPERATION__QUERY, oldQuery, newQuery);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQuery(Query newQuery) {
+ if (newQuery != query) {
+ NotificationChain msgs = null;
+ if (query != null)
+ msgs = ((InternalEObject)query).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_OPERATION__QUERY, null, msgs);
+ if (newQuery != null)
+ msgs = ((InternalEObject)newQuery).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_OPERATION__QUERY, null, msgs);
+ msgs = basicSetQuery(newQuery, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_OPERATION__QUERY, newQuery, newQuery));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DerivedTypedElement getOverride() {
+ if (override != null && override.eIsProxy()) {
+ InternalEObject oldOverride = (InternalEObject)override;
+ override = (DerivedTypedElement)eResolveProxy(oldOverride);
+ if (override != oldOverride) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET_OPERATION__OVERRIDE, oldOverride, override));
+ }
+ }
+ return override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DerivedTypedElement basicGetOverride() {
+ return override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOverride(DerivedTypedElement newOverride) {
+ DerivedTypedElement oldOverride = override;
+ override = newOverride;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_OPERATION__OVERRIDE, oldOverride, override));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__QUERY:
+ return basicSetQuery(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__DOCUMENTATION:
+ return getDocumentation();
+ case EFacetPackage.FACET_OPERATION__CATEGORIES:
+ return getCategories();
+ case EFacetPackage.FACET_OPERATION__QUERY:
+ return getQuery();
+ case EFacetPackage.FACET_OPERATION__OVERRIDE:
+ if (resolve) return getOverride();
+ return basicGetOverride();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__DOCUMENTATION:
+ setDocumentation((String)newValue);
+ return;
+ case EFacetPackage.FACET_OPERATION__CATEGORIES:
+ getCategories().clear();
+ getCategories().addAll((Collection<? extends Category>)newValue);
+ return;
+ case EFacetPackage.FACET_OPERATION__QUERY:
+ setQuery((Query)newValue);
+ return;
+ case EFacetPackage.FACET_OPERATION__OVERRIDE:
+ setOverride((DerivedTypedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__DOCUMENTATION:
+ setDocumentation(DOCUMENTATION_EDEFAULT);
+ return;
+ case EFacetPackage.FACET_OPERATION__CATEGORIES:
+ getCategories().clear();
+ return;
+ case EFacetPackage.FACET_OPERATION__QUERY:
+ setQuery((Query)null);
+ return;
+ case EFacetPackage.FACET_OPERATION__OVERRIDE:
+ setOverride((DerivedTypedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__DOCUMENTATION:
+ return DOCUMENTATION_EDEFAULT == null ? documentation != null : !DOCUMENTATION_EDEFAULT.equals(documentation);
+ case EFacetPackage.FACET_OPERATION__CATEGORIES:
+ return categories != null && !categories.isEmpty();
+ case EFacetPackage.FACET_OPERATION__QUERY:
+ return query != null;
+ case EFacetPackage.FACET_OPERATION__OVERRIDE:
+ return override != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_OPERATION__DOCUMENTATION: return EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ if (baseClass == FacetElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_OPERATION__CATEGORIES: return EFacetPackage.FACET_ELEMENT__CATEGORIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == DerivedTypedElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_OPERATION__QUERY: return EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY;
+ case EFacetPackage.FACET_OPERATION__OVERRIDE: return EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION: return EFacetPackage.FACET_OPERATION__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ if (baseClass == FacetElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES: return EFacetPackage.FACET_OPERATION__CATEGORIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == DerivedTypedElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY: return EFacetPackage.FACET_OPERATION__QUERY;
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE: return EFacetPackage.FACET_OPERATION__OVERRIDE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FacetOperationImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetReferenceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetReferenceImpl.java
new file mode 100644
index 00000000000..5f27ce98956
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetReferenceImpl.java
@@ -0,0 +1,414 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EReferenceImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetReferenceImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetReferenceImpl#getCategories <em>Categories</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetReferenceImpl#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetReferenceImpl#getOverride <em>Override</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FacetReferenceImpl extends EReferenceImpl implements FacetReference {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCategories() <em>Categories</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategories()
+ * @generated
+ * @ordered
+ */
+ protected EList<Category> categories;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected Query query;
+
+ /**
+ * The cached value of the '{@link #getOverride() <em>Override</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOverride()
+ * @generated
+ * @ordered
+ */
+ protected DerivedTypedElement override;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FacetReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET_REFERENCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_REFERENCE__DOCUMENTATION, oldDocumentation, documentation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Category> getCategories() {
+ if (categories == null) {
+ categories = new EObjectResolvingEList<Category>(Category.class, this, EFacetPackage.FACET_REFERENCE__CATEGORIES);
+ }
+ return categories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Query getQuery() {
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetQuery(Query newQuery, NotificationChain msgs) {
+ Query oldQuery = query;
+ query = newQuery;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_REFERENCE__QUERY, oldQuery, newQuery);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQuery(Query newQuery) {
+ if (newQuery != query) {
+ NotificationChain msgs = null;
+ if (query != null)
+ msgs = ((InternalEObject)query).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_REFERENCE__QUERY, null, msgs);
+ if (newQuery != null)
+ msgs = ((InternalEObject)newQuery).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_REFERENCE__QUERY, null, msgs);
+ msgs = basicSetQuery(newQuery, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_REFERENCE__QUERY, newQuery, newQuery));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DerivedTypedElement getOverride() {
+ if (override != null && override.eIsProxy()) {
+ InternalEObject oldOverride = (InternalEObject)override;
+ override = (DerivedTypedElement)eResolveProxy(oldOverride);
+ if (override != oldOverride) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET_REFERENCE__OVERRIDE, oldOverride, override));
+ }
+ }
+ return override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DerivedTypedElement basicGetOverride() {
+ return override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOverride(DerivedTypedElement newOverride) {
+ DerivedTypedElement oldOverride = override;
+ override = newOverride;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_REFERENCE__OVERRIDE, oldOverride, override));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__QUERY:
+ return basicSetQuery(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__DOCUMENTATION:
+ return getDocumentation();
+ case EFacetPackage.FACET_REFERENCE__CATEGORIES:
+ return getCategories();
+ case EFacetPackage.FACET_REFERENCE__QUERY:
+ return getQuery();
+ case EFacetPackage.FACET_REFERENCE__OVERRIDE:
+ if (resolve) return getOverride();
+ return basicGetOverride();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__DOCUMENTATION:
+ setDocumentation((String)newValue);
+ return;
+ case EFacetPackage.FACET_REFERENCE__CATEGORIES:
+ getCategories().clear();
+ getCategories().addAll((Collection<? extends Category>)newValue);
+ return;
+ case EFacetPackage.FACET_REFERENCE__QUERY:
+ setQuery((Query)newValue);
+ return;
+ case EFacetPackage.FACET_REFERENCE__OVERRIDE:
+ setOverride((DerivedTypedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__DOCUMENTATION:
+ setDocumentation(DOCUMENTATION_EDEFAULT);
+ return;
+ case EFacetPackage.FACET_REFERENCE__CATEGORIES:
+ getCategories().clear();
+ return;
+ case EFacetPackage.FACET_REFERENCE__QUERY:
+ setQuery((Query)null);
+ return;
+ case EFacetPackage.FACET_REFERENCE__OVERRIDE:
+ setOverride((DerivedTypedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__DOCUMENTATION:
+ return DOCUMENTATION_EDEFAULT == null ? documentation != null : !DOCUMENTATION_EDEFAULT.equals(documentation);
+ case EFacetPackage.FACET_REFERENCE__CATEGORIES:
+ return categories != null && !categories.isEmpty();
+ case EFacetPackage.FACET_REFERENCE__QUERY:
+ return query != null;
+ case EFacetPackage.FACET_REFERENCE__OVERRIDE:
+ return override != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_REFERENCE__DOCUMENTATION: return EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ if (baseClass == FacetElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_REFERENCE__CATEGORIES: return EFacetPackage.FACET_ELEMENT__CATEGORIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == DerivedTypedElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_REFERENCE__QUERY: return EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY;
+ case EFacetPackage.FACET_REFERENCE__OVERRIDE: return EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION: return EFacetPackage.FACET_REFERENCE__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ if (baseClass == FacetElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES: return EFacetPackage.FACET_REFERENCE__CATEGORIES;
+ default: return -1;
+ }
+ }
+ if (baseClass == DerivedTypedElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__QUERY: return EFacetPackage.FACET_REFERENCE__QUERY;
+ case EFacetPackage.DERIVED_TYPED_ELEMENT__OVERRIDE: return EFacetPackage.FACET_REFERENCE__OVERRIDE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FacetReferenceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetSetImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetSetImpl.java
new file mode 100644
index 00000000000..360ef7b1975
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/FacetSetImpl.java
@@ -0,0 +1,318 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetSetImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.FacetSetImpl#getCategories <em>Categories</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FacetSetImpl extends EPackageImpl implements FacetSet {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCategories() <em>Categories</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategories()
+ * @generated
+ * @ordered
+ */
+ protected EList<Category> categories;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FacetSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_SET__DOCUMENTATION, oldDocumentation, documentation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<Facet> getFacets() {
+ EList<Facet> facets = new BasicEList<Facet>();
+ for(EClassifier eClassifier : this.getEClassifiers()){
+ if (eClassifier instanceof Facet) {
+ Facet facet = (Facet) eClassifier;
+ facets.add(facet);
+ }
+ }
+ return facets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Category> getCategories() {
+ if (categories == null) {
+ categories = new EObjectContainmentEList<Category>(Category.class, this, EFacetPackage.FACET_SET__CATEGORIES);
+ }
+ return categories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EPackage basicGetExtendedEPackage() {
+ EList<Facet> facets = getFacets();
+ EPackage result = null;
+ for (Facet facet : facets) {
+ EClass extendedMetaclass = facet.getExtendedMetaclass();
+ if (extendedMetaclass != null) {
+ EPackage ePackage = extendedMetaclass.getEPackage();
+ if (ePackage != null) {
+ if (result != null && ePackage != result) {
+ throw new IllegalStateException("The Facets in a FacetSet must all extend EClasses from the same EPackage");
+ }
+ result = ePackage;
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public EList<FacetSet> getFacetSets() {
+ return new BasicEList<FacetSet>();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__CATEGORIES:
+ return ((InternalEList<?>)getCategories()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__DOCUMENTATION:
+ return getDocumentation();
+ case EFacetPackage.FACET_SET__CATEGORIES:
+ return getCategories();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__DOCUMENTATION:
+ setDocumentation((String)newValue);
+ return;
+ case EFacetPackage.FACET_SET__CATEGORIES:
+ getCategories().clear();
+ getCategories().addAll((Collection<? extends Category>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__DOCUMENTATION:
+ setDocumentation(DOCUMENTATION_EDEFAULT);
+ return;
+ case EFacetPackage.FACET_SET__CATEGORIES:
+ getCategories().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__DOCUMENTATION:
+ return DOCUMENTATION_EDEFAULT == null ? documentation != null : !DOCUMENTATION_EDEFAULT.equals(documentation);
+ case EFacetPackage.FACET_SET__CATEGORIES:
+ return categories != null && !categories.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_SET__DOCUMENTATION: return EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DocumentedElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.DOCUMENTED_ELEMENT__DOCUMENTATION: return EFacetPackage.FACET_SET__DOCUMENTATION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: "); //$NON-NLS-1$
+ result.append(documentation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FacetSetImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/ParameterValueImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/ParameterValueImpl.java
new file mode 100644
index 00000000000..3942b28eb39
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/impl/ParameterValueImpl.java
@@ -0,0 +1,234 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EParameter;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.ParameterValueImpl#getParameter <em>Parameter</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.ParameterValueImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ParameterValueImpl extends EObjectImpl implements ParameterValue {
+ /**
+ * The cached value of the '{@link #getParameter() <em>Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameter()
+ * @generated
+ * @ordered
+ */
+ protected EParameter parameter;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final Object VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected Object value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParameterValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.PARAMETER_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EParameter getParameter() {
+ if (parameter != null && parameter.eIsProxy()) {
+ InternalEObject oldParameter = (InternalEObject)parameter;
+ parameter = (EParameter)eResolveProxy(oldParameter);
+ if (parameter != oldParameter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.PARAMETER_VALUE__PARAMETER, oldParameter, parameter));
+ }
+ }
+ return parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EParameter basicGetParameter() {
+ return parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParameter(EParameter newParameter) {
+ EParameter oldParameter = parameter;
+ parameter = newParameter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.PARAMETER_VALUE__PARAMETER, oldParameter, parameter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(Object newValue) {
+ Object oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.PARAMETER_VALUE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.PARAMETER_VALUE__PARAMETER:
+ if (resolve) return getParameter();
+ return basicGetParameter();
+ case EFacetPackage.PARAMETER_VALUE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.PARAMETER_VALUE__PARAMETER:
+ setParameter((EParameter)newValue);
+ return;
+ case EFacetPackage.PARAMETER_VALUE__VALUE:
+ setValue(newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.PARAMETER_VALUE__PARAMETER:
+ setParameter((EParameter)null);
+ return;
+ case EFacetPackage.PARAMETER_VALUE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EFacetPackage.PARAMETER_VALUE__PARAMETER:
+ return parameter != null;
+ case EFacetPackage.PARAMETER_VALUE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ParameterValueImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/EObjectLiteralQuery.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/EObjectLiteralQuery.java
new file mode 100644
index 00000000000..d088b545551
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/EObjectLiteralQuery.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2011-2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Nicolas Bros (Mia-Software) - Bug 372626 - [Facet] Aggregates
+ * Nicolas Bros (Mia-Software) - Bug 376941 - [EFacet] Facet operation arguments in Facet model
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EObject Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.EObjectLiteralQuery#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getEObjectLiteralQuery()
+ * @model
+ * @generated
+ * @since 0.2
+ */
+public interface EObjectLiteralQuery extends Query {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element</em>' reference.
+ * @see #setElement(EObject)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getEObjectLiteralQuery_Element()
+ * @model
+ * @generated
+ */
+ EObject getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.EObjectLiteralQuery#getElement <em>Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element</em>' reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(EObject value);
+
+} // EObjectLiteralQuery
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/FalseLiteralQuery.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/FalseLiteralQuery.java
new file mode 100644
index 00000000000..b63024bc5e3
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/FalseLiteralQuery.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>False Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This query retrun false.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getFalseLiteralQuery()
+ * @model
+ * @generated
+ */
+public interface FalseLiteralQuery extends Query {
+} // FalseLiteralQuery
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/FloatLiteralQuery.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/FloatLiteralQuery.java
new file mode 100644
index 00000000000..505016f5905
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/FloatLiteralQuery.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2011-2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Nicolas Bros (Mia-Software) - Bug 372626 - [Facet] Aggregates
+ * Nicolas Bros (Mia-Software) - Bug 376941 - [EFacet] Facet operation arguments in Facet model
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Float Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FloatLiteralQuery#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getFloatLiteralQuery()
+ * @model
+ * @generated
+ * @since 0.2
+ */
+public interface FloatLiteralQuery extends Query {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(float)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getFloatLiteralQuery_Value()
+ * @model
+ * @generated
+ */
+ float getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FloatLiteralQuery#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(float value);
+
+} // FloatLiteralQuery
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/IntegerLiteralQuery.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/IntegerLiteralQuery.java
new file mode 100644
index 00000000000..3685eec2907
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/IntegerLiteralQuery.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2011-2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Nicolas Bros (Mia-Software) - Bug 372626 - [Facet] Aggregates
+ * Nicolas Bros (Mia-Software) - Bug 376941 - [EFacet] Facet operation arguments in Facet model
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Integer Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IntegerLiteralQuery#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getIntegerLiteralQuery()
+ * @model
+ * @generated
+ * @since 0.2
+ */
+public interface IntegerLiteralQuery extends Query {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(int)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getIntegerLiteralQuery_Value()
+ * @model
+ * @generated
+ */
+ int getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IntegerLiteralQuery#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(int value);
+
+} // IntegerLiteralQuery
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/IsOneOfQuery.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/IsOneOfQuery.java
new file mode 100644
index 00000000000..7d6581f52bd
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/IsOneOfQuery.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Is One Of Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This query returns true if the source of the query is contained in a list of eObject handled by the referennce 'expectedEObjects'.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery#getExpectedEObjects <em>Expected EObjects</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getIsOneOfQuery()
+ * @model
+ * @generated
+ */
+public interface IsOneOfQuery extends Query {
+ /**
+ * Returns the value of the '<em><b>Expected EObjects</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expected EObjects</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expected EObjects</em>' reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getIsOneOfQuery_ExpectedEObjects()
+ * @model
+ * @generated
+ */
+ EList<EObject> getExpectedEObjects();
+
+} // IsOneOfQuery
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/NavigationQuery.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/NavigationQuery.java
new file mode 100644
index 00000000000..29dde848e72
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/NavigationQuery.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Navigation Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This query points to a typed element (another attribute, reference or operation for example) that lends it value to the query.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery#isFailOnError <em>Fail On Error</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getNavigationQuery()
+ * @model
+ * @generated
+ */
+public interface NavigationQuery extends Query {
+ /**
+ * Returns the value of the '<em><b>Path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.ETypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Path</em>' reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getNavigationQuery_Path()
+ * @model required="true"
+ * @generated
+ */
+ EList<ETypedElement> getPath();
+
+ /**
+ * Returns the value of the '<em><b>Fail On Error</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fail On Error</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Fail On Error</em>' attribute.
+ * @see #setFailOnError(boolean)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getNavigationQuery_FailOnError()
+ * @model default="true"
+ * @generated
+ */
+ boolean isFailOnError();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery#isFailOnError <em>Fail On Error</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fail On Error</em>' attribute.
+ * @see #isFailOnError()
+ * @generated
+ */
+ void setFailOnError(boolean value);
+
+} // NavigationQuery
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/NullLiteralQuery.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/NullLiteralQuery.java
new file mode 100644
index 00000000000..efcabf62362
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/NullLiteralQuery.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Null Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This query retrun null.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getNullLiteralQuery()
+ * @model
+ * @generated
+ */
+public interface NullLiteralQuery extends Query {
+} // NullLiteralQuery
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/OperationCallQuery.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/OperationCallQuery.java
new file mode 100644
index 00000000000..6a0d4cd814b
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/OperationCallQuery.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c) 2011-2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Nicolas Bros (Mia-Software) - Bug 372626 - [Facet] Aggregates
+ * Nicolas Bros (Mia-Software) - Bug 376941 - [EFacet] Facet operation arguments in Facet model
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EOperation;
+
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operation Call Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery#getArguments <em>Arguments</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getOperationCallQuery()
+ * @model
+ * @generated
+ * @since 0.2
+ */
+public interface OperationCallQuery extends Query {
+ /**
+ * Returns the value of the '<em><b>Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation</em>' reference.
+ * @see #setOperation(EOperation)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getOperationCallQuery_Operation()
+ * @model
+ * @generated
+ */
+ EOperation getOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery#getOperation <em>Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation</em>' reference.
+ * @see #getOperation()
+ * @generated
+ */
+ void setOperation(EOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Arguments</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Arguments</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getOperationCallQuery_Arguments()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Query> getArguments();
+
+} // OperationCallQuery
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/QueryFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/QueryFactory.java
new file mode 100644
index 00000000000..980ce516450
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/QueryFactory.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage
+ * @generated
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
+public interface QueryFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ QueryFactory eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Navigation Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Navigation Query</em>'.
+ * @generated
+ */
+ NavigationQuery createNavigationQuery();
+
+ /**
+ * Returns a new object of class '<em>Is One Of Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Is One Of Query</em>'.
+ * @generated
+ */
+ IsOneOfQuery createIsOneOfQuery();
+
+ /**
+ * Returns a new object of class '<em>String Literal Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>String Literal Query</em>'.
+ * @generated
+ */
+ StringLiteralQuery createStringLiteralQuery();
+
+ /**
+ * Returns a new object of class '<em>True Literal Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>True Literal Query</em>'.
+ * @generated
+ */
+ TrueLiteralQuery createTrueLiteralQuery();
+
+ /**
+ * Returns a new object of class '<em>False Literal Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>False Literal Query</em>'.
+ * @generated
+ */
+ FalseLiteralQuery createFalseLiteralQuery();
+
+ /**
+ * Returns a new object of class '<em>Null Literal Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Null Literal Query</em>'.
+ * @generated
+ */
+ NullLiteralQuery createNullLiteralQuery();
+
+ /**
+ * Returns a new object of class '<em>Integer Literal Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Integer Literal Query</em>'.
+ * @generated
+ * @since 0.2
+ */
+ IntegerLiteralQuery createIntegerLiteralQuery();
+
+ /**
+ * Returns a new object of class '<em>Float Literal Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Float Literal Query</em>'.
+ * @generated
+ * @since 0.2
+ */
+ FloatLiteralQuery createFloatLiteralQuery();
+
+ /**
+ * Returns a new object of class '<em>EObject Literal Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>EObject Literal Query</em>'.
+ * @generated
+ * @since 0.2
+ */
+ EObjectLiteralQuery createEObjectLiteralQuery();
+
+ /**
+ * Returns a new object of class '<em>Operation Call Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Operation Call Query</em>'.
+ * @generated
+ * @since 0.2
+ */
+ OperationCallQuery createOperationCallQuery();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ QueryPackage getQueryPackage();
+
+} //QueryFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/QueryPackage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/QueryPackage.java
new file mode 100644
index 00000000000..d0a6de01617
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/QueryPackage.java
@@ -0,0 +1,967 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryFactory
+ * @model kind="package"
+ * @generated
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
+public interface QueryPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "query"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/query"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "query"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ QueryPackage eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.NavigationQueryImpl <em>Navigation Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.NavigationQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getNavigationQuery()
+ * @generated
+ */
+ int NAVIGATION_QUERY = 0;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAVIGATION_QUERY__CAN_HAVE_SIDE_EFFECTS = ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAVIGATION_QUERY__CAN_BE_CACHED = ExtensiblePackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAVIGATION_QUERY__PATH = ExtensiblePackage.QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Fail On Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAVIGATION_QUERY__FAIL_ON_ERROR = ExtensiblePackage.QUERY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Navigation Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAVIGATION_QUERY_FEATURE_COUNT = ExtensiblePackage.QUERY_FEATURE_COUNT + 2;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.IsOneOfQueryImpl <em>Is One Of Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.IsOneOfQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getIsOneOfQuery()
+ * @generated
+ */
+ int IS_ONE_OF_QUERY = 1;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IS_ONE_OF_QUERY__CAN_HAVE_SIDE_EFFECTS = ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IS_ONE_OF_QUERY__CAN_BE_CACHED = ExtensiblePackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The feature id for the '<em><b>Expected EObjects</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IS_ONE_OF_QUERY__EXPECTED_EOBJECTS = ExtensiblePackage.QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Is One Of Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IS_ONE_OF_QUERY_FEATURE_COUNT = ExtensiblePackage.QUERY_FEATURE_COUNT + 1;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.StringLiteralQueryImpl <em>String Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.StringLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getStringLiteralQuery()
+ * @generated
+ */
+ int STRING_LITERAL_QUERY = 2;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_QUERY__CAN_HAVE_SIDE_EFFECTS = ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_QUERY__CAN_BE_CACHED = ExtensiblePackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_QUERY__VALUE = ExtensiblePackage.QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>String Literal Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_QUERY_FEATURE_COUNT = ExtensiblePackage.QUERY_FEATURE_COUNT + 1;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.TrueLiteralQueryImpl <em>True Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.TrueLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getTrueLiteralQuery()
+ * @generated
+ */
+ int TRUE_LITERAL_QUERY = 3;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRUE_LITERAL_QUERY__CAN_HAVE_SIDE_EFFECTS = ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRUE_LITERAL_QUERY__CAN_BE_CACHED = ExtensiblePackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The number of structural features of the '<em>True Literal Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRUE_LITERAL_QUERY_FEATURE_COUNT = ExtensiblePackage.QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.FalseLiteralQueryImpl <em>False Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.FalseLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getFalseLiteralQuery()
+ * @generated
+ */
+ int FALSE_LITERAL_QUERY = 4;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FALSE_LITERAL_QUERY__CAN_HAVE_SIDE_EFFECTS = ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FALSE_LITERAL_QUERY__CAN_BE_CACHED = ExtensiblePackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The number of structural features of the '<em>False Literal Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FALSE_LITERAL_QUERY_FEATURE_COUNT = ExtensiblePackage.QUERY_FEATURE_COUNT + 0;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.NullLiteralQueryImpl <em>Null Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.NullLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getNullLiteralQuery()
+ * @generated
+ */
+ int NULL_LITERAL_QUERY = 5;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NULL_LITERAL_QUERY__CAN_HAVE_SIDE_EFFECTS = ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NULL_LITERAL_QUERY__CAN_BE_CACHED = ExtensiblePackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The number of structural features of the '<em>Null Literal Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NULL_LITERAL_QUERY_FEATURE_COUNT = ExtensiblePackage.QUERY_FEATURE_COUNT + 0;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.IntegerLiteralQueryImpl <em>Integer Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.IntegerLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getIntegerLiteralQuery()
+ * @generated
+ * @since 0.2
+ */
+ int INTEGER_LITERAL_QUERY = 6;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int INTEGER_LITERAL_QUERY__CAN_HAVE_SIDE_EFFECTS = ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int INTEGER_LITERAL_QUERY__CAN_BE_CACHED = ExtensiblePackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int INTEGER_LITERAL_QUERY__VALUE = ExtensiblePackage.QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Integer Literal Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int INTEGER_LITERAL_QUERY_FEATURE_COUNT = ExtensiblePackage.QUERY_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.FloatLiteralQueryImpl <em>Float Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.FloatLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getFloatLiteralQuery()
+ * @generated
+ * @since 0.2
+ */
+ int FLOAT_LITERAL_QUERY = 7;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int FLOAT_LITERAL_QUERY__CAN_HAVE_SIDE_EFFECTS = ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int FLOAT_LITERAL_QUERY__CAN_BE_CACHED = ExtensiblePackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int FLOAT_LITERAL_QUERY__VALUE = ExtensiblePackage.QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Float Literal Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int FLOAT_LITERAL_QUERY_FEATURE_COUNT = ExtensiblePackage.QUERY_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.EObjectLiteralQueryImpl <em>EObject Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.EObjectLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getEObjectLiteralQuery()
+ * @generated
+ * @since 0.2
+ */
+ int EOBJECT_LITERAL_QUERY = 8;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int EOBJECT_LITERAL_QUERY__CAN_HAVE_SIDE_EFFECTS = ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int EOBJECT_LITERAL_QUERY__CAN_BE_CACHED = ExtensiblePackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int EOBJECT_LITERAL_QUERY__ELEMENT = ExtensiblePackage.QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>EObject Literal Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int EOBJECT_LITERAL_QUERY_FEATURE_COUNT = ExtensiblePackage.QUERY_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.OperationCallQueryImpl <em>Operation Call Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.OperationCallQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getOperationCallQuery()
+ * @generated
+ * @since 0.2
+ */
+ int OPERATION_CALL_QUERY = 9;
+
+ /**
+ * The feature id for the '<em><b>Can Have Side Effects</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int OPERATION_CALL_QUERY__CAN_HAVE_SIDE_EFFECTS = ExtensiblePackage.QUERY__CAN_HAVE_SIDE_EFFECTS;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int OPERATION_CALL_QUERY__CAN_BE_CACHED = ExtensiblePackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int OPERATION_CALL_QUERY__OPERATION = ExtensiblePackage.QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int OPERATION_CALL_QUERY__ARGUMENTS = ExtensiblePackage.QUERY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Operation Call Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ * @since 0.2
+ */
+ int OPERATION_CALL_QUERY_FEATURE_COUNT = ExtensiblePackage.QUERY_FEATURE_COUNT + 2;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery <em>Navigation Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Navigation Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery
+ * @generated
+ */
+ EClass getNavigationQuery();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery#getPath <em>Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Path</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery#getPath()
+ * @see #getNavigationQuery()
+ * @generated
+ */
+ EReference getNavigationQuery_Path();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery#isFailOnError <em>Fail On Error</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fail On Error</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery#isFailOnError()
+ * @see #getNavigationQuery()
+ * @generated
+ */
+ EAttribute getNavigationQuery_FailOnError();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery <em>Is One Of Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Is One Of Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery
+ * @generated
+ */
+ EClass getIsOneOfQuery();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery#getExpectedEObjects <em>Expected EObjects</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Expected EObjects</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery#getExpectedEObjects()
+ * @see #getIsOneOfQuery()
+ * @generated
+ */
+ EReference getIsOneOfQuery_ExpectedEObjects();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery <em>String Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>String Literal Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery
+ * @generated
+ */
+ EClass getStringLiteralQuery();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery#getValue()
+ * @see #getStringLiteralQuery()
+ * @generated
+ */
+ EAttribute getStringLiteralQuery_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.TrueLiteralQuery <em>True Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>True Literal Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.TrueLiteralQuery
+ * @generated
+ */
+ EClass getTrueLiteralQuery();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FalseLiteralQuery <em>False Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>False Literal Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FalseLiteralQuery
+ * @generated
+ */
+ EClass getFalseLiteralQuery();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NullLiteralQuery <em>Null Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Null Literal Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NullLiteralQuery
+ * @generated
+ */
+ EClass getNullLiteralQuery();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IntegerLiteralQuery <em>Integer Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Integer Literal Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IntegerLiteralQuery
+ * @generated
+ * @since 0.2
+ */
+ EClass getIntegerLiteralQuery();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IntegerLiteralQuery#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IntegerLiteralQuery#getValue()
+ * @see #getIntegerLiteralQuery()
+ * @generated
+ * @since 0.2
+ */
+ EAttribute getIntegerLiteralQuery_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FloatLiteralQuery <em>Float Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Float Literal Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FloatLiteralQuery
+ * @generated
+ * @since 0.2
+ */
+ EClass getFloatLiteralQuery();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FloatLiteralQuery#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FloatLiteralQuery#getValue()
+ * @see #getFloatLiteralQuery()
+ * @generated
+ * @since 0.2
+ */
+ EAttribute getFloatLiteralQuery_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.EObjectLiteralQuery <em>EObject Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EObject Literal Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.EObjectLiteralQuery
+ * @generated
+ * @since 0.2
+ */
+ EClass getEObjectLiteralQuery();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.EObjectLiteralQuery#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.EObjectLiteralQuery#getElement()
+ * @see #getEObjectLiteralQuery()
+ * @generated
+ * @since 0.2
+ */
+ EReference getEObjectLiteralQuery_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery <em>Operation Call Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Operation Call Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery
+ * @generated
+ * @since 0.2
+ */
+ EClass getOperationCallQuery();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery#getOperation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Operation</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery#getOperation()
+ * @see #getOperationCallQuery()
+ * @generated
+ * @since 0.2
+ */
+ EReference getOperationCallQuery_Operation();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery#getArguments <em>Arguments</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Arguments</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery#getArguments()
+ * @see #getOperationCallQuery()
+ * @generated
+ * @since 0.2
+ */
+ EReference getOperationCallQuery_Arguments();
+
+ /**
+ * 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
+ */
+ QueryFactory getQueryFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.NavigationQueryImpl <em>Navigation Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.NavigationQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getNavigationQuery()
+ * @generated
+ */
+ EClass NAVIGATION_QUERY = eINSTANCE.getNavigationQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NAVIGATION_QUERY__PATH = eINSTANCE.getNavigationQuery_Path();
+
+ /**
+ * The meta object literal for the '<em><b>Fail On Error</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NAVIGATION_QUERY__FAIL_ON_ERROR = eINSTANCE.getNavigationQuery_FailOnError();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.IsOneOfQueryImpl <em>Is One Of Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.IsOneOfQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getIsOneOfQuery()
+ * @generated
+ */
+ EClass IS_ONE_OF_QUERY = eINSTANCE.getIsOneOfQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Expected EObjects</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IS_ONE_OF_QUERY__EXPECTED_EOBJECTS = eINSTANCE.getIsOneOfQuery_ExpectedEObjects();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.StringLiteralQueryImpl <em>String Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.StringLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getStringLiteralQuery()
+ * @generated
+ */
+ EClass STRING_LITERAL_QUERY = eINSTANCE.getStringLiteralQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STRING_LITERAL_QUERY__VALUE = eINSTANCE.getStringLiteralQuery_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.TrueLiteralQueryImpl <em>True Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.TrueLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getTrueLiteralQuery()
+ * @generated
+ */
+ EClass TRUE_LITERAL_QUERY = eINSTANCE.getTrueLiteralQuery();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.FalseLiteralQueryImpl <em>False Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.FalseLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getFalseLiteralQuery()
+ * @generated
+ */
+ EClass FALSE_LITERAL_QUERY = eINSTANCE.getFalseLiteralQuery();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.NullLiteralQueryImpl <em>Null Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.NullLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getNullLiteralQuery()
+ * @generated
+ */
+ EClass NULL_LITERAL_QUERY = eINSTANCE.getNullLiteralQuery();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.IntegerLiteralQueryImpl <em>Integer Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.IntegerLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getIntegerLiteralQuery()
+ * @generated
+ * @since 0.2
+ */
+ EClass INTEGER_LITERAL_QUERY = eINSTANCE.getIntegerLiteralQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @since 0.2
+ */
+ EAttribute INTEGER_LITERAL_QUERY__VALUE = eINSTANCE.getIntegerLiteralQuery_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.FloatLiteralQueryImpl <em>Float Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.FloatLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getFloatLiteralQuery()
+ * @generated
+ * @since 0.2
+ */
+ EClass FLOAT_LITERAL_QUERY = eINSTANCE.getFloatLiteralQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @since 0.2
+ */
+ EAttribute FLOAT_LITERAL_QUERY__VALUE = eINSTANCE.getFloatLiteralQuery_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.EObjectLiteralQueryImpl <em>EObject Literal Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.EObjectLiteralQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getEObjectLiteralQuery()
+ * @generated
+ * @since 0.2
+ */
+ EClass EOBJECT_LITERAL_QUERY = eINSTANCE.getEObjectLiteralQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @since 0.2
+ */
+ EReference EOBJECT_LITERAL_QUERY__ELEMENT = eINSTANCE.getEObjectLiteralQuery_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.OperationCallQueryImpl <em>Operation Call Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.OperationCallQueryImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl#getOperationCallQuery()
+ * @generated
+ * @since 0.2
+ */
+ EClass OPERATION_CALL_QUERY = eINSTANCE.getOperationCallQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Operation</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @since 0.2
+ */
+ EReference OPERATION_CALL_QUERY__OPERATION = eINSTANCE.getOperationCallQuery_Operation();
+
+ /**
+ * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @since 0.2
+ */
+ EReference OPERATION_CALL_QUERY__ARGUMENTS = eINSTANCE.getOperationCallQuery_Arguments();
+
+ }
+
+} //QueryPackage
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/StringLiteralQuery.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/StringLiteralQuery.java
new file mode 100644
index 00000000000..cc65f88b170
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/StringLiteralQuery.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>String Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getStringLiteralQuery()
+ * @model
+ * @generated
+ */
+public interface StringLiteralQuery extends Query {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getStringLiteralQuery_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // StringLiteralQuery
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/TrueLiteralQuery.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/TrueLiteralQuery.java
new file mode 100644
index 00000000000..d00d375283c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/TrueLiteralQuery.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>True Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This query retrun true.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#getTrueLiteralQuery()
+ * @model
+ * @generated
+ */
+public interface TrueLiteralQuery extends Query {
+} // TrueLiteralQuery
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/EObjectLiteralQueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/EObjectLiteralQueryImpl.java
new file mode 100644
index 00000000000..2e71aa78db6
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/EObjectLiteralQueryImpl.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright (c) 2011-2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Nicolas Bros (Mia-Software) - Bug 372626 - [Facet] Aggregates
+ * Nicolas Bros (Mia-Software) - Bug 376941 - [EFacet] Facet operation arguments in Facet model
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.EObjectLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EObject Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.EObjectLiteralQueryImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EObjectLiteralQueryImpl extends QueryImpl implements EObjectLiteralQuery {
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject element;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObjectLiteralQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QueryPackage.Literals.EOBJECT_LITERAL_QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getElement() {
+ if (element != null && element.eIsProxy()) {
+ InternalEObject oldElement = (InternalEObject)element;
+ element = eResolveProxy(oldElement);
+ if (element != oldElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QueryPackage.EOBJECT_LITERAL_QUERY__ELEMENT, oldElement, element));
+ }
+ }
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetElement() {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(EObject newElement) {
+ EObject oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QueryPackage.EOBJECT_LITERAL_QUERY__ELEMENT, oldElement, element));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QueryPackage.EOBJECT_LITERAL_QUERY__ELEMENT:
+ if (resolve) return getElement();
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QueryPackage.EOBJECT_LITERAL_QUERY__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QueryPackage.EOBJECT_LITERAL_QUERY__ELEMENT:
+ setElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QueryPackage.EOBJECT_LITERAL_QUERY__ELEMENT:
+ return element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EObjectLiteralQueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/FalseLiteralQueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/FalseLiteralQueryImpl.java
new file mode 100644
index 00000000000..211e380492f
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/FalseLiteralQueryImpl.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FalseLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>False Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class FalseLiteralQueryImpl extends QueryImpl implements FalseLiteralQuery {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FalseLiteralQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QueryPackage.Literals.FALSE_LITERAL_QUERY;
+ }
+
+} //FalseLiteralQueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/FloatLiteralQueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/FloatLiteralQueryImpl.java
new file mode 100644
index 00000000000..6929c50f166
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/FloatLiteralQueryImpl.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright (c) 2011-2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Nicolas Bros (Mia-Software) - Bug 372626 - [Facet] Aggregates
+ * Nicolas Bros (Mia-Software) - Bug 376941 - [EFacet] Facet operation arguments in Facet model
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FloatLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Float Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.FloatLiteralQueryImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FloatLiteralQueryImpl extends QueryImpl implements FloatLiteralQuery {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final float VALUE_EDEFAULT = 0.0F;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected float value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FloatLiteralQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QueryPackage.Literals.FLOAT_LITERAL_QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public float getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(float newValue) {
+ float oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QueryPackage.FLOAT_LITERAL_QUERY__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QueryPackage.FLOAT_LITERAL_QUERY__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QueryPackage.FLOAT_LITERAL_QUERY__VALUE:
+ setValue((Float)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QueryPackage.FLOAT_LITERAL_QUERY__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QueryPackage.FLOAT_LITERAL_QUERY__VALUE:
+ return value != VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FloatLiteralQueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/IntegerLiteralQueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/IntegerLiteralQueryImpl.java
new file mode 100644
index 00000000000..1ad0569fdf6
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/IntegerLiteralQueryImpl.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright (c) 2011-2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Nicolas Bros (Mia-Software) - Bug 372626 - [Facet] Aggregates
+ * Nicolas Bros (Mia-Software) - Bug 376941 - [EFacet] Facet operation arguments in Facet model
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IntegerLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Integer Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.IntegerLiteralQueryImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IntegerLiteralQueryImpl extends QueryImpl implements IntegerLiteralQuery {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final int VALUE_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected int value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntegerLiteralQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QueryPackage.Literals.INTEGER_LITERAL_QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(int newValue) {
+ int oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QueryPackage.INTEGER_LITERAL_QUERY__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QueryPackage.INTEGER_LITERAL_QUERY__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QueryPackage.INTEGER_LITERAL_QUERY__VALUE:
+ setValue((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QueryPackage.INTEGER_LITERAL_QUERY__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QueryPackage.INTEGER_LITERAL_QUERY__VALUE:
+ return value != VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //IntegerLiteralQueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/IsOneOfQueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/IsOneOfQueryImpl.java
new file mode 100644
index 00000000000..16eebd53383
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/IsOneOfQueryImpl.java
@@ -0,0 +1,144 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Is One Of Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.IsOneOfQueryImpl#getExpectedEObjects <em>Expected EObjects</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IsOneOfQueryImpl extends QueryImpl implements IsOneOfQuery {
+ /**
+ * The cached value of the '{@link #getExpectedEObjects() <em>Expected EObjects</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpectedEObjects()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> expectedEObjects;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IsOneOfQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QueryPackage.Literals.IS_ONE_OF_QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getExpectedEObjects() {
+ if (expectedEObjects == null) {
+ expectedEObjects = new EObjectResolvingEList<EObject>(EObject.class, this, QueryPackage.IS_ONE_OF_QUERY__EXPECTED_EOBJECTS);
+ }
+ return expectedEObjects;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QueryPackage.IS_ONE_OF_QUERY__EXPECTED_EOBJECTS:
+ return getExpectedEObjects();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QueryPackage.IS_ONE_OF_QUERY__EXPECTED_EOBJECTS:
+ getExpectedEObjects().clear();
+ getExpectedEObjects().addAll((Collection<? extends EObject>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QueryPackage.IS_ONE_OF_QUERY__EXPECTED_EOBJECTS:
+ getExpectedEObjects().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QueryPackage.IS_ONE_OF_QUERY__EXPECTED_EOBJECTS:
+ return expectedEObjects != null && !expectedEObjects.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //IsOneOfQueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/NavigationQueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/NavigationQueryImpl.java
new file mode 100644
index 00000000000..f411e0b4d9c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/NavigationQueryImpl.java
@@ -0,0 +1,212 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Navigation Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.NavigationQueryImpl#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.NavigationQueryImpl#isFailOnError <em>Fail On Error</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NavigationQueryImpl extends QueryImpl implements NavigationQuery {
+ /**
+ * The cached value of the '{@link #getPath() <em>Path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPath()
+ * @generated
+ * @ordered
+ */
+ protected EList<ETypedElement> path;
+
+ /**
+ * The default value of the '{@link #isFailOnError() <em>Fail On Error</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isFailOnError()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean FAIL_ON_ERROR_EDEFAULT = true;
+ /**
+ * The cached value of the '{@link #isFailOnError() <em>Fail On Error</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isFailOnError()
+ * @generated
+ * @ordered
+ */
+ protected boolean failOnError = FAIL_ON_ERROR_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NavigationQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QueryPackage.Literals.NAVIGATION_QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ETypedElement> getPath() {
+ if (path == null) {
+ path = new EObjectResolvingEList<ETypedElement>(ETypedElement.class, this, QueryPackage.NAVIGATION_QUERY__PATH);
+ }
+ return path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isFailOnError() {
+ return failOnError;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFailOnError(boolean newFailOnError) {
+ boolean oldFailOnError = failOnError;
+ failOnError = newFailOnError;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QueryPackage.NAVIGATION_QUERY__FAIL_ON_ERROR, oldFailOnError, failOnError));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QueryPackage.NAVIGATION_QUERY__PATH:
+ return getPath();
+ case QueryPackage.NAVIGATION_QUERY__FAIL_ON_ERROR:
+ return isFailOnError();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QueryPackage.NAVIGATION_QUERY__PATH:
+ getPath().clear();
+ getPath().addAll((Collection<? extends ETypedElement>)newValue);
+ return;
+ case QueryPackage.NAVIGATION_QUERY__FAIL_ON_ERROR:
+ setFailOnError((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QueryPackage.NAVIGATION_QUERY__PATH:
+ getPath().clear();
+ return;
+ case QueryPackage.NAVIGATION_QUERY__FAIL_ON_ERROR:
+ setFailOnError(FAIL_ON_ERROR_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QueryPackage.NAVIGATION_QUERY__PATH:
+ return path != null && !path.isEmpty();
+ case QueryPackage.NAVIGATION_QUERY__FAIL_ON_ERROR:
+ return failOnError != FAIL_ON_ERROR_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (failOnError: "); //$NON-NLS-1$
+ result.append(failOnError);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NavigationQueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/NullLiteralQueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/NullLiteralQueryImpl.java
new file mode 100644
index 00000000000..ab2c8935288
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/NullLiteralQueryImpl.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NullLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Null Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class NullLiteralQueryImpl extends QueryImpl implements NullLiteralQuery {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NullLiteralQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QueryPackage.Literals.NULL_LITERAL_QUERY;
+ }
+
+} //NullLiteralQueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/OperationCallQueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/OperationCallQueryImpl.java
new file mode 100644
index 00000000000..0493f7a4a93
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/OperationCallQueryImpl.java
@@ -0,0 +1,239 @@
+/**
+ * Copyright (c) 2011-2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Nicolas Bros (Mia-Software) - Bug 372626 - [Facet] Aggregates
+ * Nicolas Bros (Mia-Software) - Bug 376941 - [EFacet] Facet operation arguments in Facet model
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Call Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.OperationCallQueryImpl#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.OperationCallQueryImpl#getArguments <em>Arguments</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OperationCallQueryImpl extends QueryImpl implements OperationCallQuery {
+ /**
+ * The cached value of the '{@link #getOperation() <em>Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperation()
+ * @generated
+ * @ordered
+ */
+ protected EOperation operation;
+
+ /**
+ * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArguments()
+ * @generated
+ * @ordered
+ */
+ protected EList<Query> arguments;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationCallQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QueryPackage.Literals.OPERATION_CALL_QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOperation() {
+ if (operation != null && operation.eIsProxy()) {
+ InternalEObject oldOperation = (InternalEObject)operation;
+ operation = (EOperation)eResolveProxy(oldOperation);
+ if (operation != oldOperation) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QueryPackage.OPERATION_CALL_QUERY__OPERATION, oldOperation, operation));
+ }
+ }
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation basicGetOperation() {
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperation(EOperation newOperation) {
+ EOperation oldOperation = operation;
+ operation = newOperation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QueryPackage.OPERATION_CALL_QUERY__OPERATION, oldOperation, operation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Query> getArguments() {
+ if (arguments == null) {
+ arguments = new EObjectContainmentEList<Query>(Query.class, this, QueryPackage.OPERATION_CALL_QUERY__ARGUMENTS);
+ }
+ return arguments;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QueryPackage.OPERATION_CALL_QUERY__ARGUMENTS:
+ return ((InternalEList<?>)getArguments()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QueryPackage.OPERATION_CALL_QUERY__OPERATION:
+ if (resolve) return getOperation();
+ return basicGetOperation();
+ case QueryPackage.OPERATION_CALL_QUERY__ARGUMENTS:
+ return getArguments();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QueryPackage.OPERATION_CALL_QUERY__OPERATION:
+ setOperation((EOperation)newValue);
+ return;
+ case QueryPackage.OPERATION_CALL_QUERY__ARGUMENTS:
+ getArguments().clear();
+ getArguments().addAll((Collection<? extends Query>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QueryPackage.OPERATION_CALL_QUERY__OPERATION:
+ setOperation((EOperation)null);
+ return;
+ case QueryPackage.OPERATION_CALL_QUERY__ARGUMENTS:
+ getArguments().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QueryPackage.OPERATION_CALL_QUERY__OPERATION:
+ return operation != null;
+ case QueryPackage.OPERATION_CALL_QUERY__ARGUMENTS:
+ return arguments != null && !arguments.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //OperationCallQueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/QueryFactoryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/QueryFactoryImpl.java
new file mode 100644
index 00000000000..bfd169978fe
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/QueryFactoryImpl.java
@@ -0,0 +1,213 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FalseLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NullLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.TrueLiteralQuery;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryFactoryImpl extends EFactoryImpl implements QueryFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static QueryFactory init() {
+ try {
+ QueryFactory theQueryFactory = (QueryFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/query"); //$NON-NLS-1$
+ if (theQueryFactory != null) {
+ return theQueryFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new QueryFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case QueryPackage.NAVIGATION_QUERY: return createNavigationQuery();
+ case QueryPackage.IS_ONE_OF_QUERY: return createIsOneOfQuery();
+ case QueryPackage.STRING_LITERAL_QUERY: return createStringLiteralQuery();
+ case QueryPackage.TRUE_LITERAL_QUERY: return createTrueLiteralQuery();
+ case QueryPackage.FALSE_LITERAL_QUERY: return createFalseLiteralQuery();
+ case QueryPackage.NULL_LITERAL_QUERY: return createNullLiteralQuery();
+ case QueryPackage.INTEGER_LITERAL_QUERY: return createIntegerLiteralQuery();
+ case QueryPackage.FLOAT_LITERAL_QUERY: return createFloatLiteralQuery();
+ case QueryPackage.EOBJECT_LITERAL_QUERY: return createEObjectLiteralQuery();
+ case QueryPackage.OPERATION_CALL_QUERY: return createOperationCallQuery();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NavigationQuery createNavigationQuery() {
+ NavigationQueryImpl navigationQuery = new NavigationQueryImpl();
+ return navigationQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IsOneOfQuery createIsOneOfQuery() {
+ IsOneOfQueryImpl isOneOfQuery = new IsOneOfQueryImpl();
+ return isOneOfQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringLiteralQuery createStringLiteralQuery() {
+ StringLiteralQueryImpl stringLiteralQuery = new StringLiteralQueryImpl();
+ return stringLiteralQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TrueLiteralQuery createTrueLiteralQuery() {
+ TrueLiteralQueryImpl trueLiteralQuery = new TrueLiteralQueryImpl();
+ return trueLiteralQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FalseLiteralQuery createFalseLiteralQuery() {
+ FalseLiteralQueryImpl falseLiteralQuery = new FalseLiteralQueryImpl();
+ return falseLiteralQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NullLiteralQuery createNullLiteralQuery() {
+ NullLiteralQueryImpl nullLiteralQuery = new NullLiteralQueryImpl();
+ return nullLiteralQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntegerLiteralQuery createIntegerLiteralQuery() {
+ IntegerLiteralQueryImpl integerLiteralQuery = new IntegerLiteralQueryImpl();
+ return integerLiteralQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FloatLiteralQuery createFloatLiteralQuery() {
+ FloatLiteralQueryImpl floatLiteralQuery = new FloatLiteralQueryImpl();
+ return floatLiteralQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObjectLiteralQuery createEObjectLiteralQuery() {
+ EObjectLiteralQueryImpl eObjectLiteralQuery = new EObjectLiteralQueryImpl();
+ return eObjectLiteralQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationCallQuery createOperationCallQuery() {
+ OperationCallQueryImpl operationCallQuery = new OperationCallQueryImpl();
+ return operationCallQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryPackage getQueryPackage() {
+ return (QueryPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static QueryPackage getPackage() {
+ return QueryPackage.eINSTANCE;
+ }
+
+} //QueryFactoryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/QueryPackageImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/QueryPackageImpl.java
new file mode 100644
index 00000000000..28cda61977f
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/QueryPackageImpl.java
@@ -0,0 +1,504 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.ExtensiblePackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.EObjectLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FalseLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FloatLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IntegerLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NullLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.TrueLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QueryPackageImpl extends EPackageImpl implements QueryPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass navigationQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass isOneOfQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stringLiteralQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass trueLiteralQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass falseLiteralQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nullLiteralQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass integerLiteralQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass floatLiteralQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eObjectLiteralQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass operationCallQueryEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private QueryPackageImpl() {
+ super(eNS_URI, QueryFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link QueryPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static QueryPackage init() {
+ if (isInited) return (QueryPackage)EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI);
+
+ // Obtain or create and register package
+ QueryPackageImpl theQueryPackage = (QueryPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof QueryPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new QueryPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EFacetPackageImpl theEFacetPackage = (EFacetPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI) instanceof EFacetPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI) : EFacetPackage.eINSTANCE);
+ SerializationPackageImpl theSerializationPackage = (SerializationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SerializationPackage.eNS_URI) instanceof SerializationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SerializationPackage.eNS_URI) : SerializationPackage.eINSTANCE);
+ ExtensiblePackageImpl theExtensiblePackage = (ExtensiblePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI) instanceof ExtensiblePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI) : ExtensiblePackage.eINSTANCE);
+ RuntimePackageImpl theRuntimePackage = (RuntimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RuntimePackage.eNS_URI) instanceof RuntimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RuntimePackage.eNS_URI) : RuntimePackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theQueryPackage.createPackageContents();
+ theEFacetPackage.createPackageContents();
+ theSerializationPackage.createPackageContents();
+ theExtensiblePackage.createPackageContents();
+ theRuntimePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theQueryPackage.initializePackageContents();
+ theEFacetPackage.initializePackageContents();
+ theSerializationPackage.initializePackageContents();
+ theExtensiblePackage.initializePackageContents();
+ theRuntimePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theQueryPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(QueryPackage.eNS_URI, theQueryPackage);
+ return theQueryPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNavigationQuery() {
+ return navigationQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNavigationQuery_Path() {
+ return (EReference)navigationQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNavigationQuery_FailOnError() {
+ return (EAttribute)navigationQueryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIsOneOfQuery() {
+ return isOneOfQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getIsOneOfQuery_ExpectedEObjects() {
+ return (EReference)isOneOfQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStringLiteralQuery() {
+ return stringLiteralQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStringLiteralQuery_Value() {
+ return (EAttribute)stringLiteralQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTrueLiteralQuery() {
+ return trueLiteralQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFalseLiteralQuery() {
+ return falseLiteralQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNullLiteralQuery() {
+ return nullLiteralQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIntegerLiteralQuery() {
+ return integerLiteralQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIntegerLiteralQuery_Value() {
+ return (EAttribute)integerLiteralQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFloatLiteralQuery() {
+ return floatLiteralQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFloatLiteralQuery_Value() {
+ return (EAttribute)floatLiteralQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEObjectLiteralQuery() {
+ return eObjectLiteralQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEObjectLiteralQuery_Element() {
+ return (EReference)eObjectLiteralQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOperationCallQuery() {
+ return operationCallQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperationCallQuery_Operation() {
+ return (EReference)operationCallQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperationCallQuery_Arguments() {
+ return (EReference)operationCallQueryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryFactory getQueryFactory() {
+ return (QueryFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ navigationQueryEClass = createEClass(NAVIGATION_QUERY);
+ createEReference(navigationQueryEClass, NAVIGATION_QUERY__PATH);
+ createEAttribute(navigationQueryEClass, NAVIGATION_QUERY__FAIL_ON_ERROR);
+
+ isOneOfQueryEClass = createEClass(IS_ONE_OF_QUERY);
+ createEReference(isOneOfQueryEClass, IS_ONE_OF_QUERY__EXPECTED_EOBJECTS);
+
+ stringLiteralQueryEClass = createEClass(STRING_LITERAL_QUERY);
+ createEAttribute(stringLiteralQueryEClass, STRING_LITERAL_QUERY__VALUE);
+
+ trueLiteralQueryEClass = createEClass(TRUE_LITERAL_QUERY);
+
+ falseLiteralQueryEClass = createEClass(FALSE_LITERAL_QUERY);
+
+ nullLiteralQueryEClass = createEClass(NULL_LITERAL_QUERY);
+
+ integerLiteralQueryEClass = createEClass(INTEGER_LITERAL_QUERY);
+ createEAttribute(integerLiteralQueryEClass, INTEGER_LITERAL_QUERY__VALUE);
+
+ floatLiteralQueryEClass = createEClass(FLOAT_LITERAL_QUERY);
+ createEAttribute(floatLiteralQueryEClass, FLOAT_LITERAL_QUERY__VALUE);
+
+ eObjectLiteralQueryEClass = createEClass(EOBJECT_LITERAL_QUERY);
+ createEReference(eObjectLiteralQueryEClass, EOBJECT_LITERAL_QUERY__ELEMENT);
+
+ operationCallQueryEClass = createEClass(OPERATION_CALL_QUERY);
+ createEReference(operationCallQueryEClass, OPERATION_CALL_QUERY__OPERATION);
+ createEReference(operationCallQueryEClass, OPERATION_CALL_QUERY__ARGUMENTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ ExtensiblePackage theExtensiblePackage = (ExtensiblePackage)EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ navigationQueryEClass.getESuperTypes().add(theExtensiblePackage.getQuery());
+ isOneOfQueryEClass.getESuperTypes().add(theExtensiblePackage.getQuery());
+ stringLiteralQueryEClass.getESuperTypes().add(theExtensiblePackage.getQuery());
+ trueLiteralQueryEClass.getESuperTypes().add(theExtensiblePackage.getQuery());
+ falseLiteralQueryEClass.getESuperTypes().add(theExtensiblePackage.getQuery());
+ nullLiteralQueryEClass.getESuperTypes().add(theExtensiblePackage.getQuery());
+ integerLiteralQueryEClass.getESuperTypes().add(theExtensiblePackage.getQuery());
+ floatLiteralQueryEClass.getESuperTypes().add(theExtensiblePackage.getQuery());
+ eObjectLiteralQueryEClass.getESuperTypes().add(theExtensiblePackage.getQuery());
+ operationCallQueryEClass.getESuperTypes().add(theExtensiblePackage.getQuery());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(navigationQueryEClass, NavigationQuery.class, "NavigationQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getNavigationQuery_Path(), ecorePackage.getETypedElement(), null, "path", null, 1, -1, NavigationQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getNavigationQuery_FailOnError(), ecorePackage.getEBoolean(), "failOnError", "true", 0, 1, NavigationQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+
+ initEClass(isOneOfQueryEClass, IsOneOfQuery.class, "IsOneOfQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getIsOneOfQuery_ExpectedEObjects(), ecorePackage.getEObject(), null, "expectedEObjects", null, 0, -1, IsOneOfQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(stringLiteralQueryEClass, StringLiteralQuery.class, "StringLiteralQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getStringLiteralQuery_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringLiteralQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(trueLiteralQueryEClass, TrueLiteralQuery.class, "TrueLiteralQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(falseLiteralQueryEClass, FalseLiteralQuery.class, "FalseLiteralQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(nullLiteralQueryEClass, NullLiteralQuery.class, "NullLiteralQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(integerLiteralQueryEClass, IntegerLiteralQuery.class, "IntegerLiteralQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getIntegerLiteralQuery_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntegerLiteralQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(floatLiteralQueryEClass, FloatLiteralQuery.class, "FloatLiteralQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getFloatLiteralQuery_Value(), ecorePackage.getEFloat(), "value", null, 0, 1, FloatLiteralQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(eObjectLiteralQueryEClass, EObjectLiteralQuery.class, "EObjectLiteralQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getEObjectLiteralQuery_Element(), ecorePackage.getEObject(), null, "element", null, 0, 1, EObjectLiteralQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(operationCallQueryEClass, OperationCallQuery.class, "OperationCallQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getOperationCallQuery_Operation(), ecorePackage.getEOperation(), null, "operation", null, 0, 1, OperationCallQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getOperationCallQuery_Arguments(), theExtensiblePackage.getQuery(), null, "arguments", null, 0, -1, OperationCallQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ }
+
+} //QueryPackageImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/StringLiteralQueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/StringLiteralQueryImpl.java
new file mode 100644
index 00000000000..563c5765c8a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/StringLiteralQueryImpl.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.StringLiteralQueryImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StringLiteralQueryImpl extends QueryImpl implements StringLiteralQuery {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringLiteralQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QueryPackage.Literals.STRING_LITERAL_QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QueryPackage.STRING_LITERAL_QUERY__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QueryPackage.STRING_LITERAL_QUERY__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QueryPackage.STRING_LITERAL_QUERY__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QueryPackage.STRING_LITERAL_QUERY__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QueryPackage.STRING_LITERAL_QUERY__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StringLiteralQueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/TrueLiteralQueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/TrueLiteralQueryImpl.java
new file mode 100644
index 00000000000..d9f41c986bb
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/impl/TrueLiteralQueryImpl.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.QueryImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.TrueLiteralQuery;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>True Literal Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class TrueLiteralQueryImpl extends QueryImpl implements TrueLiteralQuery {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TrueLiteralQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QueryPackage.Literals.TRUE_LITERAL_QUERY;
+ }
+
+} //TrueLiteralQueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/util/QueryAdapterFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/util/QueryAdapterFactory.java
new file mode 100644
index 00000000000..51292366c75
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/util/QueryAdapterFactory.java
@@ -0,0 +1,319 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FalseLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NullLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.TrueLiteralQuery;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage
+ * @generated
+ */
+public class QueryAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static QueryPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = QueryPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QuerySwitch<Adapter> modelSwitch =
+ new QuerySwitch<Adapter>() {
+ @Override
+ public Adapter caseNavigationQuery(NavigationQuery object) {
+ return createNavigationQueryAdapter();
+ }
+ @Override
+ public Adapter caseIsOneOfQuery(IsOneOfQuery object) {
+ return createIsOneOfQueryAdapter();
+ }
+ @Override
+ public Adapter caseStringLiteralQuery(StringLiteralQuery object) {
+ return createStringLiteralQueryAdapter();
+ }
+ @Override
+ public Adapter caseTrueLiteralQuery(TrueLiteralQuery object) {
+ return createTrueLiteralQueryAdapter();
+ }
+ @Override
+ public Adapter caseFalseLiteralQuery(FalseLiteralQuery object) {
+ return createFalseLiteralQueryAdapter();
+ }
+ @Override
+ public Adapter caseNullLiteralQuery(NullLiteralQuery object) {
+ return createNullLiteralQueryAdapter();
+ }
+ @Override
+ public Adapter caseIntegerLiteralQuery(IntegerLiteralQuery object) {
+ return createIntegerLiteralQueryAdapter();
+ }
+ @Override
+ public Adapter caseFloatLiteralQuery(FloatLiteralQuery object) {
+ return createFloatLiteralQueryAdapter();
+ }
+ @Override
+ public Adapter caseEObjectLiteralQuery(EObjectLiteralQuery object) {
+ return createEObjectLiteralQueryAdapter();
+ }
+ @Override
+ public Adapter caseOperationCallQuery(OperationCallQuery object) {
+ return createOperationCallQueryAdapter();
+ }
+ @Override
+ public Adapter caseQuery(Query object) {
+ return createQueryAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery <em>Navigation Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery
+ * @generated
+ */
+ public Adapter createNavigationQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery <em>Is One Of Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery
+ * @generated
+ */
+ public Adapter createIsOneOfQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery <em>String Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery
+ * @generated
+ */
+ public Adapter createStringLiteralQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.TrueLiteralQuery <em>True Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.TrueLiteralQuery
+ * @generated
+ */
+ public Adapter createTrueLiteralQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FalseLiteralQuery <em>False Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FalseLiteralQuery
+ * @generated
+ */
+ public Adapter createFalseLiteralQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NullLiteralQuery <em>Null Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NullLiteralQuery
+ * @generated
+ */
+ public Adapter createNullLiteralQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IntegerLiteralQuery <em>Integer Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IntegerLiteralQuery
+ * @generated
+ */
+ public Adapter createIntegerLiteralQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FloatLiteralQuery <em>Float Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FloatLiteralQuery
+ * @generated
+ */
+ public Adapter createFloatLiteralQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.EObjectLiteralQuery <em>EObject Literal Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.EObjectLiteralQuery
+ * @generated
+ */
+ public Adapter createEObjectLiteralQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery <em>Operation Call Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.OperationCallQuery
+ * @generated
+ */
+ public Adapter createOperationCallQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query
+ * @generated
+ */
+ public Adapter createQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //QueryAdapterFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/util/QuerySwitch.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/util/QuerySwitch.java
new file mode 100644
index 00000000000..c1673dd51e1
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/query/util/QuerySwitch.java
@@ -0,0 +1,363 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.FalseLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.IsOneOfQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NavigationQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.NullLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.StringLiteralQuery;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.TrueLiteralQuery;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage
+ * @generated
+ */
+public class QuerySwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static QueryPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QuerySwitch() {
+ if (modelPackage == null) {
+ modelPackage = QueryPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 T 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 T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), 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 T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case QueryPackage.NAVIGATION_QUERY: {
+ NavigationQuery navigationQuery = (NavigationQuery)theEObject;
+ T result = caseNavigationQuery(navigationQuery);
+ if (result == null) result = caseQuery(navigationQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QueryPackage.IS_ONE_OF_QUERY: {
+ IsOneOfQuery isOneOfQuery = (IsOneOfQuery)theEObject;
+ T result = caseIsOneOfQuery(isOneOfQuery);
+ if (result == null) result = caseQuery(isOneOfQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QueryPackage.STRING_LITERAL_QUERY: {
+ StringLiteralQuery stringLiteralQuery = (StringLiteralQuery)theEObject;
+ T result = caseStringLiteralQuery(stringLiteralQuery);
+ if (result == null) result = caseQuery(stringLiteralQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QueryPackage.TRUE_LITERAL_QUERY: {
+ TrueLiteralQuery trueLiteralQuery = (TrueLiteralQuery)theEObject;
+ T result = caseTrueLiteralQuery(trueLiteralQuery);
+ if (result == null) result = caseQuery(trueLiteralQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QueryPackage.FALSE_LITERAL_QUERY: {
+ FalseLiteralQuery falseLiteralQuery = (FalseLiteralQuery)theEObject;
+ T result = caseFalseLiteralQuery(falseLiteralQuery);
+ if (result == null) result = caseQuery(falseLiteralQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QueryPackage.NULL_LITERAL_QUERY: {
+ NullLiteralQuery nullLiteralQuery = (NullLiteralQuery)theEObject;
+ T result = caseNullLiteralQuery(nullLiteralQuery);
+ if (result == null) result = caseQuery(nullLiteralQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QueryPackage.INTEGER_LITERAL_QUERY: {
+ IntegerLiteralQuery integerLiteralQuery = (IntegerLiteralQuery)theEObject;
+ T result = caseIntegerLiteralQuery(integerLiteralQuery);
+ if (result == null) result = caseQuery(integerLiteralQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QueryPackage.FLOAT_LITERAL_QUERY: {
+ FloatLiteralQuery floatLiteralQuery = (FloatLiteralQuery)theEObject;
+ T result = caseFloatLiteralQuery(floatLiteralQuery);
+ if (result == null) result = caseQuery(floatLiteralQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QueryPackage.EOBJECT_LITERAL_QUERY: {
+ EObjectLiteralQuery eObjectLiteralQuery = (EObjectLiteralQuery)theEObject;
+ T result = caseEObjectLiteralQuery(eObjectLiteralQuery);
+ if (result == null) result = caseQuery(eObjectLiteralQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QueryPackage.OPERATION_CALL_QUERY: {
+ OperationCallQuery operationCallQuery = (OperationCallQuery)theEObject;
+ T result = caseOperationCallQuery(operationCallQuery);
+ if (result == null) result = caseQuery(operationCallQuery);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Navigation Query</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>Navigation Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNavigationQuery(NavigationQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Is One Of Query</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>Is One Of Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIsOneOfQuery(IsOneOfQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>String Literal Query</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>String Literal Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStringLiteralQuery(StringLiteralQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>True Literal Query</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>True Literal Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTrueLiteralQuery(TrueLiteralQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>False Literal Query</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>False Literal Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFalseLiteralQuery(FalseLiteralQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Null Literal Query</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>Null Literal Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNullLiteralQuery(NullLiteralQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Integer Literal Query</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>Integer Literal Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIntegerLiteralQuery(IntegerLiteralQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Float Literal Query</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>Float Literal Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFloatLiteralQuery(FloatLiteralQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject Literal Query</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>EObject Literal Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEObjectLiteralQuery(EObjectLiteralQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Operation Call Query</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>Operation Call Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOperationCallQuery(OperationCallQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query</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>Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQuery(Query 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //QuerySwitch
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementEObjectListResult.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementEObjectListResult.java
new file mode 100644
index 00000000000..8f93860ec39
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementEObjectListResult.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>ETyped Element EObject List Result</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This class represents the result of evaluating the value of a multiplicity-many DerivedTypedElement by means of a multi-valued query .
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult#getResultList <em>Result List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementEObjectListResult()
+ * @model
+ * @generated
+ */
+public interface ETypedElementEObjectListResult<T extends EObject> extends ETypedElementResult {
+ /**
+ * Returns the value of the '<em><b>Result List</b></em>' reference list.
+ * The list contents are of type {@link T}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Result List</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Result List</em>' reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementEObjectListResult_ResultList()
+ * @model
+ * @generated
+ */
+ EList<T> getResultList();
+
+} // ETypedElementEObjectListResult
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementEObjectResult.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementEObjectResult.java
new file mode 100644
index 00000000000..bc4f14d0f33
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementEObjectResult.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>ETyped Element EObject Result</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This class represents the result of evaluating the value of a multiplicity-one DerivedTypedElement by means of a single-valued query .
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult#getResult <em>Result</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementEObjectResult()
+ * @model
+ * @generated
+ */
+public interface ETypedElementEObjectResult<T extends EObject> extends ETypedElementResult {
+ /**
+ * Returns the value of the '<em><b>Result</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Result</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Result</em>' reference.
+ * @see #setResult(EObject)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementEObjectResult_Result()
+ * @model
+ * @generated
+ */
+ T getResult();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult#getResult <em>Result</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Result</em>' reference.
+ * @see #getResult()
+ * @generated
+ */
+ void setResult(T value);
+
+} // ETypedElementEObjectResult
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementPrimitiveTypeListResult.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementPrimitiveTypeListResult.java
new file mode 100644
index 00000000000..df72549e240
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementPrimitiveTypeListResult.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>ETyped Element Primitive Type List Result</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This class represents the result of evaluating the value of a multiplicity-many DerivedTypedElement by means of a multi-valued query .
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult#getResultList <em>Result List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementPrimitiveTypeListResult()
+ * @model
+ * @generated
+ */
+public interface ETypedElementPrimitiveTypeListResult<T> extends ETypedElementResult {
+ /**
+ * Returns the value of the '<em><b>Result List</b></em>' attribute list.
+ * The list contents are of type {@link T}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Result List</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Result List</em>' attribute list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementPrimitiveTypeListResult_ResultList()
+ * @model
+ * @generated
+ */
+ EList<T> getResultList();
+
+} // ETypedElementPrimitiveTypeListResult
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementPrimitiveTypeResult.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementPrimitiveTypeResult.java
new file mode 100644
index 00000000000..5c681151ae5
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementPrimitiveTypeResult.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>ETyped Element Primitive Type Result</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This class represents the result of evaluating the value of a multiplicity-one DerivedTypedElement by means of a single-valued query .
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult#getResult <em>Result</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementPrimitiveTypeResult()
+ * @model
+ * @generated
+ */
+public interface ETypedElementPrimitiveTypeResult<T> extends ETypedElementResult {
+ /**
+ * Returns the value of the '<em><b>Result</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Result</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Result</em>' attribute.
+ * @see #setResult(Object)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementPrimitiveTypeResult_Result()
+ * @model
+ * @generated
+ */
+ T getResult();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult#getResult <em>Result</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Result</em>' attribute.
+ * @see #getResult()
+ * @generated
+ */
+ void setResult(T value);
+
+} // ETypedElementPrimitiveTypeResult
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementResult.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementResult.java
new file mode 100644
index 00000000000..5a6e43cc356
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/ETypedElementResult.java
@@ -0,0 +1,143 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>ETyped Element Result</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This class represents the result of evaluating the value of a DerivedTypedElement by means of a query .
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getDerivedTypedElement <em>Derived Typed Element</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getParameterValues <em>Parameter Values</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getException <em>Exception</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementResult()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ETypedElementResult extends EObject {
+ /**
+ * Returns the value of the '<em><b>Derived Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The reference "query" references the executed query.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Derived Typed Element</em>' reference.
+ * @see #setDerivedTypedElement(ETypedElement)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementResult_DerivedTypedElement()
+ * @model required="true"
+ * @generated
+ */
+ ETypedElement getDerivedTypedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getDerivedTypedElement <em>Derived Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Derived Typed Element</em>' reference.
+ * @see #getDerivedTypedElement()
+ * @generated
+ */
+ void setDerivedTypedElement(ETypedElement value);
+
+ /**
+ * Returns the value of the '<em><b>Parameter Values</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This is the list of the values given as parameters for the query execution.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Parameter Values</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementResult_ParameterValues()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ParameterValue> getParameterValues();
+
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source</em>' reference.
+ * @see #setSource(EObject)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementResult_Source()
+ * @model required="true"
+ * @generated
+ */
+ EObject getSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getSource <em>Source</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source</em>' reference.
+ * @see #getSource()
+ * @generated
+ */
+ void setSource(EObject value);
+
+ /**
+ * Returns the value of the '<em><b>Exception</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exception</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exception</em>' attribute.
+ * @see #setException(Throwable)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#getETypedElementResult_Exception()
+ * @model dataType="org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.JavaException" transient="true"
+ * @generated
+ */
+ Throwable getException();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getException <em>Exception</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exception</em>' attribute.
+ * @see #getException()
+ * @generated
+ */
+ void setException(Throwable value);
+
+} // ETypedElementResult
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/RuntimeFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/RuntimeFactory.java
new file mode 100644
index 00000000000..af1f93d7b57
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/RuntimeFactory.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime;
+
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage
+ * @generated
+ */
+public interface RuntimeFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ RuntimeFactory eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimeFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>ETyped Element Primitive Type Result</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>ETyped Element Primitive Type Result</em>'.
+ * @generated
+ */
+ <T> ETypedElementPrimitiveTypeResult<T> createETypedElementPrimitiveTypeResult();
+
+ /**
+ * Returns a new object of class '<em>ETyped Element EObject Result</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>ETyped Element EObject Result</em>'.
+ * @generated
+ */
+ <T extends EObject> ETypedElementEObjectResult<T> createETypedElementEObjectResult();
+
+ /**
+ * Returns a new object of class '<em>ETyped Element Primitive Type List Result</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>ETyped Element Primitive Type List Result</em>'.
+ * @generated
+ */
+ <T> ETypedElementPrimitiveTypeListResult<T> createETypedElementPrimitiveTypeListResult();
+
+ /**
+ * Returns a new object of class '<em>ETyped Element EObject List Result</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>ETyped Element EObject List Result</em>'.
+ * @generated
+ */
+ <T extends EObject> ETypedElementEObjectListResult<T> createETypedElementEObjectListResult();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ RuntimePackage getRuntimePackage();
+
+} //RuntimeFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/RuntimePackage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/RuntimePackage.java
new file mode 100644
index 00000000000..5223e7b168d
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/RuntimePackage.java
@@ -0,0 +1,696 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimeFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface RuntimePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "runtime"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/runtime"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "runtime"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ RuntimePackage eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementResultImpl <em>ETyped Element Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementResultImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getETypedElementResult()
+ * @generated
+ */
+ int ETYPED_ELEMENT_RESULT = 4;
+
+ /**
+ * The feature id for the '<em><b>Derived Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Parameter Values</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_RESULT__PARAMETER_VALUES = 1;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_RESULT__SOURCE = 2;
+
+ /**
+ * The feature id for the '<em><b>Exception</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_RESULT__EXCEPTION = 3;
+
+ /**
+ * The number of structural features of the '<em>ETyped Element Result</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_RESULT_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementPrimitiveTypeResultImpl <em>ETyped Element Primitive Type Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementPrimitiveTypeResultImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getETypedElementPrimitiveTypeResult()
+ * @generated
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT = 0;
+
+ /**
+ * The feature id for the '<em><b>Derived Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__DERIVED_TYPED_ELEMENT = ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Parameter Values</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__PARAMETER_VALUES = ETYPED_ELEMENT_RESULT__PARAMETER_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__SOURCE = ETYPED_ELEMENT_RESULT__SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Exception</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__EXCEPTION = ETYPED_ELEMENT_RESULT__EXCEPTION;
+
+ /**
+ * The feature id for the '<em><b>Result</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__RESULT = ETYPED_ELEMENT_RESULT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>ETyped Element Primitive Type Result</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT_FEATURE_COUNT = ETYPED_ELEMENT_RESULT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementEObjectResultImpl <em>ETyped Element EObject Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementEObjectResultImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getETypedElementEObjectResult()
+ * @generated
+ */
+ int ETYPED_ELEMENT_EOBJECT_RESULT = 1;
+
+ /**
+ * The feature id for the '<em><b>Derived Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_RESULT__DERIVED_TYPED_ELEMENT = ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Parameter Values</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_RESULT__PARAMETER_VALUES = ETYPED_ELEMENT_RESULT__PARAMETER_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_RESULT__SOURCE = ETYPED_ELEMENT_RESULT__SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Exception</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_RESULT__EXCEPTION = ETYPED_ELEMENT_RESULT__EXCEPTION;
+
+ /**
+ * The feature id for the '<em><b>Result</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_RESULT__RESULT = ETYPED_ELEMENT_RESULT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>ETyped Element EObject Result</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_RESULT_FEATURE_COUNT = ETYPED_ELEMENT_RESULT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementPrimitiveTypeListResultImpl <em>ETyped Element Primitive Type List Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementPrimitiveTypeListResultImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getETypedElementPrimitiveTypeListResult()
+ * @generated
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT = 2;
+
+ /**
+ * The feature id for the '<em><b>Derived Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__DERIVED_TYPED_ELEMENT = ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Parameter Values</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__PARAMETER_VALUES = ETYPED_ELEMENT_RESULT__PARAMETER_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__SOURCE = ETYPED_ELEMENT_RESULT__SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Exception</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__EXCEPTION = ETYPED_ELEMENT_RESULT__EXCEPTION;
+
+ /**
+ * The feature id for the '<em><b>Result List</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__RESULT_LIST = ETYPED_ELEMENT_RESULT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>ETyped Element Primitive Type List Result</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT_FEATURE_COUNT = ETYPED_ELEMENT_RESULT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementEObjectListResultImpl <em>ETyped Element EObject List Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementEObjectListResultImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getETypedElementEObjectListResult()
+ * @generated
+ */
+ int ETYPED_ELEMENT_EOBJECT_LIST_RESULT = 3;
+
+ /**
+ * The feature id for the '<em><b>Derived Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_LIST_RESULT__DERIVED_TYPED_ELEMENT = ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Parameter Values</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_LIST_RESULT__PARAMETER_VALUES = ETYPED_ELEMENT_RESULT__PARAMETER_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_LIST_RESULT__SOURCE = ETYPED_ELEMENT_RESULT__SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Exception</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_LIST_RESULT__EXCEPTION = ETYPED_ELEMENT_RESULT__EXCEPTION;
+
+ /**
+ * The feature id for the '<em><b>Result List</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_LIST_RESULT__RESULT_LIST = ETYPED_ELEMENT_RESULT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>ETyped Element EObject List Result</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ETYPED_ELEMENT_EOBJECT_LIST_RESULT_FEATURE_COUNT = ETYPED_ELEMENT_RESULT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '<em>Java Exception</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.Throwable
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getJavaException()
+ * @generated
+ */
+ int JAVA_EXCEPTION = 5;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult <em>ETyped Element Primitive Type Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>ETyped Element Primitive Type Result</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult
+ * @generated
+ */
+ EClass getETypedElementPrimitiveTypeResult();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult#getResult <em>Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Result</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult#getResult()
+ * @see #getETypedElementPrimitiveTypeResult()
+ * @generated
+ */
+ EAttribute getETypedElementPrimitiveTypeResult_Result();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult <em>ETyped Element EObject Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>ETyped Element EObject Result</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult
+ * @generated
+ */
+ EClass getETypedElementEObjectResult();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult#getResult <em>Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Result</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult#getResult()
+ * @see #getETypedElementEObjectResult()
+ * @generated
+ */
+ EReference getETypedElementEObjectResult_Result();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult <em>ETyped Element Primitive Type List Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>ETyped Element Primitive Type List Result</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult
+ * @generated
+ */
+ EClass getETypedElementPrimitiveTypeListResult();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult#getResultList <em>Result List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Result List</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult#getResultList()
+ * @see #getETypedElementPrimitiveTypeListResult()
+ * @generated
+ */
+ EAttribute getETypedElementPrimitiveTypeListResult_ResultList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult <em>ETyped Element EObject List Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>ETyped Element EObject List Result</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult
+ * @generated
+ */
+ EClass getETypedElementEObjectListResult();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult#getResultList <em>Result List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Result List</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult#getResultList()
+ * @see #getETypedElementEObjectListResult()
+ * @generated
+ */
+ EReference getETypedElementEObjectListResult_ResultList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult <em>ETyped Element Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>ETyped Element Result</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult
+ * @generated
+ */
+ EClass getETypedElementResult();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getDerivedTypedElement <em>Derived Typed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Derived Typed Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getDerivedTypedElement()
+ * @see #getETypedElementResult()
+ * @generated
+ */
+ EReference getETypedElementResult_DerivedTypedElement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getParameterValues <em>Parameter Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Parameter Values</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getParameterValues()
+ * @see #getETypedElementResult()
+ * @generated
+ */
+ EReference getETypedElementResult_ParameterValues();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Source</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getSource()
+ * @see #getETypedElementResult()
+ * @generated
+ */
+ EReference getETypedElementResult_Source();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getException <em>Exception</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exception</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult#getException()
+ * @see #getETypedElementResult()
+ * @generated
+ */
+ EAttribute getETypedElementResult_Exception();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.Throwable <em>Java Exception</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Java Exception</em>'.
+ * @see java.lang.Throwable
+ * @model instanceClass="java.lang.Throwable"
+ * @generated
+ */
+ EDataType getJavaException();
+
+ /**
+ * 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
+ */
+ RuntimeFactory getRuntimeFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementPrimitiveTypeResultImpl <em>ETyped Element Primitive Type Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementPrimitiveTypeResultImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getETypedElementPrimitiveTypeResult()
+ * @generated
+ */
+ EClass ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT = eINSTANCE.getETypedElementPrimitiveTypeResult();
+
+ /**
+ * The meta object literal for the '<em><b>Result</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__RESULT = eINSTANCE.getETypedElementPrimitiveTypeResult_Result();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementEObjectResultImpl <em>ETyped Element EObject Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementEObjectResultImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getETypedElementEObjectResult()
+ * @generated
+ */
+ EClass ETYPED_ELEMENT_EOBJECT_RESULT = eINSTANCE.getETypedElementEObjectResult();
+
+ /**
+ * The meta object literal for the '<em><b>Result</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ETYPED_ELEMENT_EOBJECT_RESULT__RESULT = eINSTANCE.getETypedElementEObjectResult_Result();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementPrimitiveTypeListResultImpl <em>ETyped Element Primitive Type List Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementPrimitiveTypeListResultImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getETypedElementPrimitiveTypeListResult()
+ * @generated
+ */
+ EClass ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT = eINSTANCE.getETypedElementPrimitiveTypeListResult();
+
+ /**
+ * The meta object literal for the '<em><b>Result List</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__RESULT_LIST = eINSTANCE.getETypedElementPrimitiveTypeListResult_ResultList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementEObjectListResultImpl <em>ETyped Element EObject List Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementEObjectListResultImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getETypedElementEObjectListResult()
+ * @generated
+ */
+ EClass ETYPED_ELEMENT_EOBJECT_LIST_RESULT = eINSTANCE.getETypedElementEObjectListResult();
+
+ /**
+ * The meta object literal for the '<em><b>Result List</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ETYPED_ELEMENT_EOBJECT_LIST_RESULT__RESULT_LIST = eINSTANCE.getETypedElementEObjectListResult_ResultList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementResultImpl <em>ETyped Element Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementResultImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getETypedElementResult()
+ * @generated
+ */
+ EClass ETYPED_ELEMENT_RESULT = eINSTANCE.getETypedElementResult();
+
+ /**
+ * The meta object literal for the '<em><b>Derived Typed Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT = eINSTANCE.getETypedElementResult_DerivedTypedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Parameter Values</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ETYPED_ELEMENT_RESULT__PARAMETER_VALUES = eINSTANCE.getETypedElementResult_ParameterValues();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ETYPED_ELEMENT_RESULT__SOURCE = eINSTANCE.getETypedElementResult_Source();
+
+ /**
+ * The meta object literal for the '<em><b>Exception</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ETYPED_ELEMENT_RESULT__EXCEPTION = eINSTANCE.getETypedElementResult_Exception();
+
+ /**
+ * The meta object literal for the '<em>Java Exception</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.Throwable
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl#getJavaException()
+ * @generated
+ */
+ EDataType JAVA_EXCEPTION = eINSTANCE.getJavaException();
+
+ }
+
+} //RuntimePackage
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementEObjectListResultImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementEObjectListResultImpl.java
new file mode 100644
index 00000000000..f2357eb6173
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementEObjectListResultImpl.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>ETyped Element EObject List Result</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementEObjectListResultImpl#getResultList <em>Result List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ETypedElementEObjectListResultImpl<T extends EObject> extends ETypedElementResultImpl implements ETypedElementEObjectListResult<T> {
+ /**
+ * The cached value of the '{@link #getResultList() <em>Result List</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResultList()
+ * @generated
+ * @ordered
+ */
+ protected EList<T> resultList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ETypedElementEObjectListResultImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RuntimePackage.Literals.ETYPED_ELEMENT_EOBJECT_LIST_RESULT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<T> getResultList() {
+ if (resultList == null) {
+ resultList = new EObjectResolvingEList<T>(EObject.class, this, RuntimePackage.ETYPED_ELEMENT_EOBJECT_LIST_RESULT__RESULT_LIST);
+ }
+ return resultList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_LIST_RESULT__RESULT_LIST:
+ return getResultList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_LIST_RESULT__RESULT_LIST:
+ getResultList().clear();
+ getResultList().addAll((Collection<? extends T>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_LIST_RESULT__RESULT_LIST:
+ getResultList().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_LIST_RESULT__RESULT_LIST:
+ return resultList != null && !resultList.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ETypedElementEObjectListResultImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementEObjectResultImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementEObjectResultImpl.java
new file mode 100644
index 00000000000..d37ff0336a7
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementEObjectResultImpl.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>ETyped Element EObject Result</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementEObjectResultImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ETypedElementEObjectResultImpl<T extends EObject> extends ETypedElementResultImpl implements ETypedElementEObjectResult<T> {
+ /**
+ * The cached value of the '{@link #getResult() <em>Result</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResult()
+ * @generated
+ * @ordered
+ */
+ protected T result;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ETypedElementEObjectResultImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RuntimePackage.Literals.ETYPED_ELEMENT_EOBJECT_RESULT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public T getResult() {
+ if (result != null && result.eIsProxy()) {
+ InternalEObject oldResult = (InternalEObject)result;
+ result = (T)eResolveProxy(oldResult);
+ if (result != oldResult) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RuntimePackage.ETYPED_ELEMENT_EOBJECT_RESULT__RESULT, oldResult, result));
+ }
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public T basicGetResult() {
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(T newResult) {
+ T oldResult = result;
+ result = newResult;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RuntimePackage.ETYPED_ELEMENT_EOBJECT_RESULT__RESULT, oldResult, result));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_RESULT__RESULT:
+ if (resolve) return getResult();
+ return basicGetResult();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_RESULT__RESULT:
+ setResult((T)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_RESULT__RESULT:
+ setResult((T)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_RESULT__RESULT:
+ return result != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ETypedElementEObjectResultImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementPrimitiveTypeListResultImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementPrimitiveTypeListResultImpl.java
new file mode 100644
index 00000000000..c320f85a486
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementPrimitiveTypeListResultImpl.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>ETyped Element Primitive Type List Result</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementPrimitiveTypeListResultImpl#getResultList <em>Result List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ETypedElementPrimitiveTypeListResultImpl<T> extends ETypedElementResultImpl implements ETypedElementPrimitiveTypeListResult<T> {
+ /**
+ * The cached value of the '{@link #getResultList() <em>Result List</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResultList()
+ * @generated
+ * @ordered
+ */
+ protected EList<T> resultList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ETypedElementPrimitiveTypeListResultImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RuntimePackage.Literals.ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<T> getResultList() {
+ if (resultList == null) {
+ resultList = new EDataTypeUniqueEList<T>(Object.class, this, RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__RESULT_LIST);
+ }
+ return resultList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__RESULT_LIST:
+ return getResultList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__RESULT_LIST:
+ getResultList().clear();
+ getResultList().addAll((Collection<? extends T>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__RESULT_LIST:
+ getResultList().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__RESULT_LIST:
+ return resultList != null && !resultList.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (resultList: "); //$NON-NLS-1$
+ result.append(resultList);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ETypedElementPrimitiveTypeListResultImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementPrimitiveTypeResultImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementPrimitiveTypeResultImpl.java
new file mode 100644
index 00000000000..c5c01ca4a66
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementPrimitiveTypeResultImpl.java
@@ -0,0 +1,167 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>ETyped Element Primitive Type Result</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementPrimitiveTypeResultImpl#getResult <em>Result</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ETypedElementPrimitiveTypeResultImpl<T> extends ETypedElementResultImpl implements ETypedElementPrimitiveTypeResult<T> {
+ /**
+ * The cached value of the '{@link #getResult() <em>Result</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResult()
+ * @generated
+ * @ordered
+ */
+ protected T result;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ETypedElementPrimitiveTypeResultImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RuntimePackage.Literals.ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public T getResult() {
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResult(T newResult) {
+ T oldResult = result;
+ result = newResult;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__RESULT, oldResult, result));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__RESULT:
+ return getResult();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__RESULT:
+ setResult((T)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__RESULT:
+ setResult((T)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__RESULT:
+ return result != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (result: "); //$NON-NLS-1$
+ result.append(result);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ETypedElementPrimitiveTypeResultImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementResultImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementResultImpl.java
new file mode 100644
index 00000000000..cf42a907e39
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/ETypedElementResultImpl.java
@@ -0,0 +1,356 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>ETyped Element Result</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementResultImpl#getDerivedTypedElement <em>Derived Typed Element</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementResultImpl#getParameterValues <em>Parameter Values</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementResultImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.ETypedElementResultImpl#getException <em>Exception</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ETypedElementResultImpl extends EObjectImpl implements ETypedElementResult {
+ /**
+ * The cached value of the '{@link #getDerivedTypedElement() <em>Derived Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDerivedTypedElement()
+ * @generated
+ * @ordered
+ */
+ protected ETypedElement derivedTypedElement;
+
+ /**
+ * The cached value of the '{@link #getParameterValues() <em>Parameter Values</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameterValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<ParameterValue> parameterValues;
+
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected EObject source;
+
+ /**
+ * The default value of the '{@link #getException() <em>Exception</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getException()
+ * @generated
+ * @ordered
+ */
+ protected static final Throwable EXCEPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getException() <em>Exception</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getException()
+ * @generated
+ * @ordered
+ */
+ protected Throwable exception = EXCEPTION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ETypedElementResultImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RuntimePackage.Literals.ETYPED_ELEMENT_RESULT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ETypedElement getDerivedTypedElement() {
+ if (derivedTypedElement != null && derivedTypedElement.eIsProxy()) {
+ InternalEObject oldDerivedTypedElement = (InternalEObject)derivedTypedElement;
+ derivedTypedElement = (ETypedElement)eResolveProxy(oldDerivedTypedElement);
+ if (derivedTypedElement != oldDerivedTypedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RuntimePackage.ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT, oldDerivedTypedElement, derivedTypedElement));
+ }
+ }
+ return derivedTypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ETypedElement basicGetDerivedTypedElement() {
+ return derivedTypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDerivedTypedElement(ETypedElement newDerivedTypedElement) {
+ ETypedElement oldDerivedTypedElement = derivedTypedElement;
+ derivedTypedElement = newDerivedTypedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RuntimePackage.ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT, oldDerivedTypedElement, derivedTypedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParameterValue> getParameterValues() {
+ if (parameterValues == null) {
+ parameterValues = new EObjectContainmentEList<ParameterValue>(ParameterValue.class, this, RuntimePackage.ETYPED_ELEMENT_RESULT__PARAMETER_VALUES);
+ }
+ return parameterValues;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getSource() {
+ if (source != null && source.eIsProxy()) {
+ InternalEObject oldSource = (InternalEObject)source;
+ source = eResolveProxy(oldSource);
+ if (source != oldSource) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RuntimePackage.ETYPED_ELEMENT_RESULT__SOURCE, oldSource, source));
+ }
+ }
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetSource() {
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSource(EObject newSource) {
+ EObject oldSource = source;
+ source = newSource;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RuntimePackage.ETYPED_ELEMENT_RESULT__SOURCE, oldSource, source));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Throwable getException() {
+ return exception;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setException(Throwable newException) {
+ Throwable oldException = exception;
+ exception = newException;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RuntimePackage.ETYPED_ELEMENT_RESULT__EXCEPTION, oldException, exception));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__PARAMETER_VALUES:
+ return ((InternalEList<?>)getParameterValues()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT:
+ if (resolve) return getDerivedTypedElement();
+ return basicGetDerivedTypedElement();
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__PARAMETER_VALUES:
+ return getParameterValues();
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__SOURCE:
+ if (resolve) return getSource();
+ return basicGetSource();
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__EXCEPTION:
+ return getException();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT:
+ setDerivedTypedElement((ETypedElement)newValue);
+ return;
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__PARAMETER_VALUES:
+ getParameterValues().clear();
+ getParameterValues().addAll((Collection<? extends ParameterValue>)newValue);
+ return;
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__SOURCE:
+ setSource((EObject)newValue);
+ return;
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__EXCEPTION:
+ setException((Throwable)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT:
+ setDerivedTypedElement((ETypedElement)null);
+ return;
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__PARAMETER_VALUES:
+ getParameterValues().clear();
+ return;
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__SOURCE:
+ setSource((EObject)null);
+ return;
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__EXCEPTION:
+ setException(EXCEPTION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT:
+ return derivedTypedElement != null;
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__PARAMETER_VALUES:
+ return parameterValues != null && !parameterValues.isEmpty();
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__SOURCE:
+ return source != null;
+ case RuntimePackage.ETYPED_ELEMENT_RESULT__EXCEPTION:
+ return EXCEPTION_EDEFAULT == null ? exception != null : !EXCEPTION_EDEFAULT.equals(exception);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (exception: "); //$NON-NLS-1$
+ result.append(exception);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ETypedElementResultImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/RuntimeFactoryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/RuntimeFactoryImpl.java
new file mode 100644
index 00000000000..416451f74db
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/RuntimeFactoryImpl.java
@@ -0,0 +1,197 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimeFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RuntimeFactoryImpl extends EFactoryImpl implements RuntimeFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static RuntimeFactory init() {
+ try {
+ RuntimeFactory theRuntimeFactory = (RuntimeFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/runtime"); //$NON-NLS-1$
+ if (theRuntimeFactory != null) {
+ return theRuntimeFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new RuntimeFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RuntimeFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT: return createETypedElementPrimitiveTypeResult();
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_RESULT: return createETypedElementEObjectResult();
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT: return createETypedElementPrimitiveTypeListResult();
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_LIST_RESULT: return createETypedElementEObjectListResult();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case RuntimePackage.JAVA_EXCEPTION:
+ return createJavaExceptionFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case RuntimePackage.JAVA_EXCEPTION:
+ return convertJavaExceptionToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <T> ETypedElementPrimitiveTypeResult<T> createETypedElementPrimitiveTypeResult() {
+ ETypedElementPrimitiveTypeResultImpl<T> eTypedElementPrimitiveTypeResult = new ETypedElementPrimitiveTypeResultImpl<T>();
+ return eTypedElementPrimitiveTypeResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <T extends EObject> ETypedElementEObjectResult<T> createETypedElementEObjectResult() {
+ ETypedElementEObjectResultImpl<T> eTypedElementEObjectResult = new ETypedElementEObjectResultImpl<T>();
+ return eTypedElementEObjectResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <T> ETypedElementPrimitiveTypeListResult<T> createETypedElementPrimitiveTypeListResult() {
+ ETypedElementPrimitiveTypeListResultImpl<T> eTypedElementPrimitiveTypeListResult = new ETypedElementPrimitiveTypeListResultImpl<T>();
+ return eTypedElementPrimitiveTypeListResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public <T extends EObject> ETypedElementEObjectListResult<T> createETypedElementEObjectListResult() {
+ ETypedElementEObjectListResultImpl<T> eTypedElementEObjectListResult = new ETypedElementEObjectListResultImpl<T>();
+ return eTypedElementEObjectListResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Throwable createJavaExceptionFromString(EDataType eDataType, String initialValue) {
+ return (Throwable)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertJavaExceptionToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RuntimePackage getRuntimePackage() {
+ return (RuntimePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static RuntimePackage getPackage() {
+ return RuntimePackage.eINSTANCE;
+ }
+
+} //RuntimeFactoryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/RuntimePackageImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/RuntimePackageImpl.java
new file mode 100644
index 00000000000..25d68759cbb
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/impl/RuntimePackageImpl.java
@@ -0,0 +1,421 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EGenericType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.ETypeParameter;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.ExtensiblePackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimeFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RuntimePackageImpl extends EPackageImpl implements RuntimePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eTypedElementPrimitiveTypeResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eTypedElementEObjectResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eTypedElementPrimitiveTypeListResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eTypedElementEObjectListResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eTypedElementResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType javaExceptionEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private RuntimePackageImpl() {
+ super(eNS_URI, RuntimeFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link RuntimePackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static RuntimePackage init() {
+ if (isInited) return (RuntimePackage)EPackage.Registry.INSTANCE.getEPackage(RuntimePackage.eNS_URI);
+
+ // Obtain or create and register package
+ RuntimePackageImpl theRuntimePackage = (RuntimePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof RuntimePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new RuntimePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EFacetPackageImpl theEFacetPackage = (EFacetPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI) instanceof EFacetPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI) : EFacetPackage.eINSTANCE);
+ SerializationPackageImpl theSerializationPackage = (SerializationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SerializationPackage.eNS_URI) instanceof SerializationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SerializationPackage.eNS_URI) : SerializationPackage.eINSTANCE);
+ ExtensiblePackageImpl theExtensiblePackage = (ExtensiblePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI) instanceof ExtensiblePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI) : ExtensiblePackage.eINSTANCE);
+ QueryPackageImpl theQueryPackage = (QueryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI) instanceof QueryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI) : QueryPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theRuntimePackage.createPackageContents();
+ theEFacetPackage.createPackageContents();
+ theSerializationPackage.createPackageContents();
+ theExtensiblePackage.createPackageContents();
+ theQueryPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theRuntimePackage.initializePackageContents();
+ theEFacetPackage.initializePackageContents();
+ theSerializationPackage.initializePackageContents();
+ theExtensiblePackage.initializePackageContents();
+ theQueryPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theRuntimePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(RuntimePackage.eNS_URI, theRuntimePackage);
+ return theRuntimePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getETypedElementPrimitiveTypeResult() {
+ return eTypedElementPrimitiveTypeResultEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getETypedElementPrimitiveTypeResult_Result() {
+ return (EAttribute)eTypedElementPrimitiveTypeResultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getETypedElementEObjectResult() {
+ return eTypedElementEObjectResultEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getETypedElementEObjectResult_Result() {
+ return (EReference)eTypedElementEObjectResultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getETypedElementPrimitiveTypeListResult() {
+ return eTypedElementPrimitiveTypeListResultEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getETypedElementPrimitiveTypeListResult_ResultList() {
+ return (EAttribute)eTypedElementPrimitiveTypeListResultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getETypedElementEObjectListResult() {
+ return eTypedElementEObjectListResultEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getETypedElementEObjectListResult_ResultList() {
+ return (EReference)eTypedElementEObjectListResultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getETypedElementResult() {
+ return eTypedElementResultEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getETypedElementResult_DerivedTypedElement() {
+ return (EReference)eTypedElementResultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getETypedElementResult_ParameterValues() {
+ return (EReference)eTypedElementResultEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getETypedElementResult_Source() {
+ return (EReference)eTypedElementResultEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getETypedElementResult_Exception() {
+ return (EAttribute)eTypedElementResultEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getJavaException() {
+ return javaExceptionEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RuntimeFactory getRuntimeFactory() {
+ return (RuntimeFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ eTypedElementPrimitiveTypeResultEClass = createEClass(ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT);
+ createEAttribute(eTypedElementPrimitiveTypeResultEClass, ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT__RESULT);
+
+ eTypedElementEObjectResultEClass = createEClass(ETYPED_ELEMENT_EOBJECT_RESULT);
+ createEReference(eTypedElementEObjectResultEClass, ETYPED_ELEMENT_EOBJECT_RESULT__RESULT);
+
+ eTypedElementPrimitiveTypeListResultEClass = createEClass(ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT);
+ createEAttribute(eTypedElementPrimitiveTypeListResultEClass, ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT__RESULT_LIST);
+
+ eTypedElementEObjectListResultEClass = createEClass(ETYPED_ELEMENT_EOBJECT_LIST_RESULT);
+ createEReference(eTypedElementEObjectListResultEClass, ETYPED_ELEMENT_EOBJECT_LIST_RESULT__RESULT_LIST);
+
+ eTypedElementResultEClass = createEClass(ETYPED_ELEMENT_RESULT);
+ createEReference(eTypedElementResultEClass, ETYPED_ELEMENT_RESULT__DERIVED_TYPED_ELEMENT);
+ createEReference(eTypedElementResultEClass, ETYPED_ELEMENT_RESULT__PARAMETER_VALUES);
+ createEReference(eTypedElementResultEClass, ETYPED_ELEMENT_RESULT__SOURCE);
+ createEAttribute(eTypedElementResultEClass, ETYPED_ELEMENT_RESULT__EXCEPTION);
+
+ // Create data types
+ javaExceptionEDataType = createEDataType(JAVA_EXCEPTION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EFacetPackage theEFacetPackage = (EFacetPackage)EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI);
+
+ // Create type parameters
+ ETypeParameter eTypedElementPrimitiveTypeResultEClass_T = addETypeParameter(eTypedElementPrimitiveTypeResultEClass, "T"); //$NON-NLS-1$
+ ETypeParameter eTypedElementEObjectResultEClass_T = addETypeParameter(eTypedElementEObjectResultEClass, "T"); //$NON-NLS-1$
+ ETypeParameter eTypedElementPrimitiveTypeListResultEClass_T = addETypeParameter(eTypedElementPrimitiveTypeListResultEClass, "T"); //$NON-NLS-1$
+ ETypeParameter eTypedElementEObjectListResultEClass_T = addETypeParameter(eTypedElementEObjectListResultEClass, "T"); //$NON-NLS-1$
+
+ // Set bounds for type parameters
+ EGenericType g1 = createEGenericType(ecorePackage.getEObject());
+ eTypedElementEObjectResultEClass_T.getEBounds().add(g1);
+ g1 = createEGenericType(ecorePackage.getEObject());
+ eTypedElementEObjectListResultEClass_T.getEBounds().add(g1);
+
+ // Add supertypes to classes
+ eTypedElementPrimitiveTypeResultEClass.getESuperTypes().add(this.getETypedElementResult());
+ eTypedElementEObjectResultEClass.getESuperTypes().add(this.getETypedElementResult());
+ eTypedElementPrimitiveTypeListResultEClass.getESuperTypes().add(this.getETypedElementResult());
+ eTypedElementEObjectListResultEClass.getESuperTypes().add(this.getETypedElementResult());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(eTypedElementPrimitiveTypeResultEClass, ETypedElementPrimitiveTypeResult.class, "ETypedElementPrimitiveTypeResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ g1 = createEGenericType(eTypedElementPrimitiveTypeResultEClass_T);
+ initEAttribute(getETypedElementPrimitiveTypeResult_Result(), g1, "result", null, 0, 1, ETypedElementPrimitiveTypeResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(eTypedElementEObjectResultEClass, ETypedElementEObjectResult.class, "ETypedElementEObjectResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ g1 = createEGenericType(eTypedElementEObjectResultEClass_T);
+ initEReference(getETypedElementEObjectResult_Result(), g1, null, "result", null, 0, 1, ETypedElementEObjectResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(eTypedElementPrimitiveTypeListResultEClass, ETypedElementPrimitiveTypeListResult.class, "ETypedElementPrimitiveTypeListResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ g1 = createEGenericType(eTypedElementPrimitiveTypeListResultEClass_T);
+ initEAttribute(getETypedElementPrimitiveTypeListResult_ResultList(), g1, "resultList", null, 0, -1, ETypedElementPrimitiveTypeListResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(eTypedElementEObjectListResultEClass, ETypedElementEObjectListResult.class, "ETypedElementEObjectListResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ g1 = createEGenericType(eTypedElementEObjectListResultEClass_T);
+ initEReference(getETypedElementEObjectListResult_ResultList(), g1, null, "resultList", null, 0, -1, ETypedElementEObjectListResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(eTypedElementResultEClass, ETypedElementResult.class, "ETypedElementResult", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getETypedElementResult_DerivedTypedElement(), ecorePackage.getETypedElement(), null, "derivedTypedElement", null, 1, 1, ETypedElementResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getETypedElementResult_ParameterValues(), theEFacetPackage.getParameterValue(), null, "parameterValues", null, 0, -1, ETypedElementResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getETypedElementResult_Source(), ecorePackage.getEObject(), null, "source", null, 1, 1, ETypedElementResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getETypedElementResult_Exception(), this.getJavaException(), "exception", null, 0, 1, ETypedElementResult.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ // Initialize data types
+ initEDataType(javaExceptionEDataType, Throwable.class, "JavaException", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ }
+
+} //RuntimePackageImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/util/RuntimeAdapterFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/util/RuntimeAdapterFactory.java
new file mode 100644
index 00000000000..0a895323aab
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/util/RuntimeAdapterFactory.java
@@ -0,0 +1,212 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage
+ * @generated
+ */
+public class RuntimeAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static RuntimePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RuntimeAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = RuntimePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RuntimeSwitch<Adapter> modelSwitch =
+ new RuntimeSwitch<Adapter>() {
+ @Override
+ public <T> Adapter caseETypedElementPrimitiveTypeResult(ETypedElementPrimitiveTypeResult<T> object) {
+ return createETypedElementPrimitiveTypeResultAdapter();
+ }
+ @Override
+ public <T extends EObject> Adapter caseETypedElementEObjectResult(ETypedElementEObjectResult<T> object) {
+ return createETypedElementEObjectResultAdapter();
+ }
+ @Override
+ public <T> Adapter caseETypedElementPrimitiveTypeListResult(ETypedElementPrimitiveTypeListResult<T> object) {
+ return createETypedElementPrimitiveTypeListResultAdapter();
+ }
+ @Override
+ public <T extends EObject> Adapter caseETypedElementEObjectListResult(ETypedElementEObjectListResult<T> object) {
+ return createETypedElementEObjectListResultAdapter();
+ }
+ @Override
+ public Adapter caseETypedElementResult(ETypedElementResult object) {
+ return createETypedElementResultAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult <em>ETyped Element Primitive Type Result</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult
+ * @generated
+ */
+ public Adapter createETypedElementPrimitiveTypeResultAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult <em>ETyped Element EObject Result</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult
+ * @generated
+ */
+ public Adapter createETypedElementEObjectResultAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult <em>ETyped Element Primitive Type List Result</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult
+ * @generated
+ */
+ public Adapter createETypedElementPrimitiveTypeListResultAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult <em>ETyped Element EObject List Result</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult
+ * @generated
+ */
+ public Adapter createETypedElementEObjectListResultAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult <em>ETyped Element Result</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult
+ * @generated
+ */
+ public Adapter createETypedElementResultAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //RuntimeAdapterFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/util/RuntimeSwitch.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/util/RuntimeSwitch.java
new file mode 100644
index 00000000000..574a3daa765
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/runtime/util/RuntimeSwitch.java
@@ -0,0 +1,236 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectListResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementEObjectResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeListResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementPrimitiveTypeResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.ETypedElementResult;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage
+ * @generated
+ */
+public class RuntimeSwitch<T1> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static RuntimePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RuntimeSwitch() {
+ if (modelPackage == null) {
+ modelPackage = RuntimePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 T1 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 T1 doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), 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 T1 doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_RESULT: {
+ ETypedElementPrimitiveTypeResult<?> eTypedElementPrimitiveTypeResult = (ETypedElementPrimitiveTypeResult<?>)theEObject;
+ T1 result = caseETypedElementPrimitiveTypeResult(eTypedElementPrimitiveTypeResult);
+ if (result == null) result = caseETypedElementResult(eTypedElementPrimitiveTypeResult);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_RESULT: {
+ ETypedElementEObjectResult<?> eTypedElementEObjectResult = (ETypedElementEObjectResult<?>)theEObject;
+ T1 result = caseETypedElementEObjectResult(eTypedElementEObjectResult);
+ if (result == null) result = caseETypedElementResult(eTypedElementEObjectResult);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RuntimePackage.ETYPED_ELEMENT_PRIMITIVE_TYPE_LIST_RESULT: {
+ ETypedElementPrimitiveTypeListResult<?> eTypedElementPrimitiveTypeListResult = (ETypedElementPrimitiveTypeListResult<?>)theEObject;
+ T1 result = caseETypedElementPrimitiveTypeListResult(eTypedElementPrimitiveTypeListResult);
+ if (result == null) result = caseETypedElementResult(eTypedElementPrimitiveTypeListResult);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RuntimePackage.ETYPED_ELEMENT_EOBJECT_LIST_RESULT: {
+ ETypedElementEObjectListResult<?> eTypedElementEObjectListResult = (ETypedElementEObjectListResult<?>)theEObject;
+ T1 result = caseETypedElementEObjectListResult(eTypedElementEObjectListResult);
+ if (result == null) result = caseETypedElementResult(eTypedElementEObjectListResult);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RuntimePackage.ETYPED_ELEMENT_RESULT: {
+ ETypedElementResult eTypedElementResult = (ETypedElementResult)theEObject;
+ T1 result = caseETypedElementResult(eTypedElementResult);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ETyped Element Primitive Type Result</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>ETyped Element Primitive Type Result</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public <T> T1 caseETypedElementPrimitiveTypeResult(ETypedElementPrimitiveTypeResult<T> object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ETyped Element EObject Result</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>ETyped Element EObject Result</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public <T extends EObject> T1 caseETypedElementEObjectResult(ETypedElementEObjectResult<T> object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ETyped Element Primitive Type List Result</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>ETyped Element Primitive Type List Result</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public <T> T1 caseETypedElementPrimitiveTypeListResult(ETypedElementPrimitiveTypeListResult<T> object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ETyped Element EObject List Result</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>ETyped Element EObject List Result</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public <T extends EObject> T1 caseETypedElementEObjectListResult(ETypedElementEObjectListResult<T> object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ETyped Element Result</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>ETyped Element Result</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseETypedElementResult(ETypedElementResult 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
+ */
+ public T1 defaultCase(EObject object) {
+ return null;
+ }
+
+} //RuntimeSwitch
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/AbstractAttributeInstance.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/AbstractAttributeInstance.java
new file mode 100644
index 00000000000..96462aa1a37
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/AbstractAttributeInstance.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Attribute Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance#getEAttribute <em>EAttribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getAbstractAttributeInstance()
+ * @model
+ * @generated
+ */
+public interface AbstractAttributeInstance extends EObject {
+ /**
+ * Returns the value of the '<em><b>EAttribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>EAttribute</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>EAttribute</em>' reference.
+ * @see #setEAttribute(EAttribute)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getAbstractAttributeInstance_EAttribute()
+ * @model required="true"
+ * @generated
+ */
+ EAttribute getEAttribute();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance#getEAttribute <em>EAttribute</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>EAttribute</em>' reference.
+ * @see #getEAttribute()
+ * @generated
+ */
+ void setEAttribute(EAttribute value);
+
+} // AbstractAttributeInstance
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/AbstractReferenceInstance.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/AbstractReferenceInstance.java
new file mode 100644
index 00000000000..dfbae0fd59d
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/AbstractReferenceInstance.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Reference Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance#getEReference <em>EReference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getAbstractReferenceInstance()
+ * @model
+ * @generated
+ */
+public interface AbstractReferenceInstance extends EObject {
+ /**
+ * Returns the value of the '<em><b>EReference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>EReference</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>EReference</em>' reference.
+ * @see #setEReference(EReference)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getAbstractReferenceInstance_EReference()
+ * @model required="true"
+ * @generated
+ */
+ EReference getEReference();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance#getEReference <em>EReference</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>EReference</em>' reference.
+ * @see #getEReference()
+ * @generated
+ */
+ void setEReference(EReference value);
+
+} // AbstractReferenceInstance
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/ExtendedEObjectReference.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/ExtendedEObjectReference.java
new file mode 100644
index 00000000000..e68f04b36e8
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/ExtendedEObjectReference.java
@@ -0,0 +1,97 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extended EObject Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference#getExtendedEObject <em>Extended EObject</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference#getAttributeInstances <em>Attribute Instances</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference#getReferenceInstances <em>Reference Instances</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getExtendedEObjectReference()
+ * @model
+ * @generated
+ */
+public interface ExtendedEObjectReference extends EObject {
+ /**
+ * Returns the value of the '<em><b>Extended EObject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extended EObject</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extended EObject</em>' reference.
+ * @see #setExtendedEObject(EObject)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getExtendedEObjectReference_ExtendedEObject()
+ * @model required="true"
+ * @generated
+ */
+ EObject getExtendedEObject();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference#getExtendedEObject <em>Extended EObject</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Extended EObject</em>' reference.
+ * @see #getExtendedEObject()
+ * @generated
+ */
+ void setExtendedEObject(EObject value);
+
+ /**
+ * Returns the value of the '<em><b>Attribute Instances</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attribute Instances</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Attribute Instances</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getExtendedEObjectReference_AttributeInstances()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AbstractAttributeInstance> getAttributeInstances();
+
+ /**
+ * Returns the value of the '<em><b>Reference Instances</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Reference Instances</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Reference Instances</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getExtendedEObjectReference_ReferenceInstances()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AbstractReferenceInstance> getReferenceInstances();
+
+} // ExtendedEObjectReference
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedAttributeInstance.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedAttributeInstance.java
new file mode 100644
index 00000000000..14c19dc02ec
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedAttributeInstance.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multi Valued Attribute Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getMultiValuedAttributeInstance()
+ * @model
+ * @generated
+ */
+public interface MultiValuedAttributeInstance extends AbstractAttributeInstance {
+ /**
+ * Returns the value of the '<em><b>Values</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.Object}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Values</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Values</em>' attribute list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getMultiValuedAttributeInstance_Values()
+ * @model
+ * @generated
+ */
+ EList<Object> getValues();
+
+} // MultiValuedAttributeInstance
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedContainmentReferenceInstance.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedContainmentReferenceInstance.java
new file mode 100644
index 00000000000..be7084da1d4
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedContainmentReferenceInstance.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multi Valued Containment Reference Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance#getOwnedElements <em>Owned Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getMultiValuedContainmentReferenceInstance()
+ * @model
+ * @generated
+ */
+public interface MultiValuedContainmentReferenceInstance extends AbstractReferenceInstance {
+ /**
+ * Returns the value of the '<em><b>Owned Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Elements</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Elements</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getMultiValuedContainmentReferenceInstance_OwnedElements()
+ * @model containment="true"
+ * @generated
+ */
+ EList<EObject> getOwnedElements();
+
+} // MultiValuedContainmentReferenceInstance
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedReferenceInstance.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedReferenceInstance.java
new file mode 100644
index 00000000000..1c7c2d6ddbd
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/MultiValuedReferenceInstance.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multi Valued Reference Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance#getReferencedElements <em>Referenced Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getMultiValuedReferenceInstance()
+ * @model
+ * @generated
+ */
+public interface MultiValuedReferenceInstance extends AbstractReferenceInstance {
+ /**
+ * Returns the value of the '<em><b>Referenced Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referenced Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Referenced Elements</em>' reference list.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getMultiValuedReferenceInstance_ReferencedElements()
+ * @model
+ * @generated
+ */
+ EList<EObject> getReferencedElements();
+
+} // MultiValuedReferenceInstance
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SerializationFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SerializationFactory.java
new file mode 100644
index 00000000000..5ff0f4d3ddb
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SerializationFactory.java
@@ -0,0 +1,127 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage
+ * @generated
+ */
+public interface SerializationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SerializationFactory eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Abstract Reference Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Abstract Reference Instance</em>'.
+ * @generated
+ */
+ AbstractReferenceInstance createAbstractReferenceInstance();
+
+ /**
+ * Returns a new object of class '<em>Multi Valued Containment Reference Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Multi Valued Containment Reference Instance</em>'.
+ * @generated
+ */
+ MultiValuedContainmentReferenceInstance createMultiValuedContainmentReferenceInstance();
+
+ /**
+ * Returns a new object of class '<em>Multi Valued Reference Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Multi Valued Reference Instance</em>'.
+ * @generated
+ */
+ MultiValuedReferenceInstance createMultiValuedReferenceInstance();
+
+ /**
+ * Returns a new object of class '<em>Single Valued Attribute Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Single Valued Attribute Instance</em>'.
+ * @generated
+ */
+ SingleValuedAttributeInstance createSingleValuedAttributeInstance();
+
+ /**
+ * Returns a new object of class '<em>Extended EObject Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Extended EObject Reference</em>'.
+ * @generated
+ */
+ ExtendedEObjectReference createExtendedEObjectReference();
+
+ /**
+ * Returns a new object of class '<em>Single Valued Containment Reference Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Single Valued Containment Reference Instance</em>'.
+ * @generated
+ */
+ SingleValuedContainmentReferenceInstance createSingleValuedContainmentReferenceInstance();
+
+ /**
+ * Returns a new object of class '<em>Single Valued Reference Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Single Valued Reference Instance</em>'.
+ * @generated
+ */
+ SingleValuedReferenceInstance createSingleValuedReferenceInstance();
+
+ /**
+ * Returns a new object of class '<em>Multi Valued Attribute Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Multi Valued Attribute Instance</em>'.
+ * @generated
+ */
+ MultiValuedAttributeInstance createMultiValuedAttributeInstance();
+
+ /**
+ * Returns a new object of class '<em>Abstract Attribute Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Abstract Attribute Instance</em>'.
+ * @generated
+ */
+ AbstractAttributeInstance createAbstractAttributeInstance();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SerializationPackage getSerializationPackage();
+
+} //SerializationFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SerializationPackage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SerializationPackage.java
new file mode 100644
index 00000000000..d75dab6e4f1
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SerializationPackage.java
@@ -0,0 +1,809 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SerializationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "serialization"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/serialization"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "serialization"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SerializationPackage eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.AbstractReferenceInstanceImpl <em>Abstract Reference Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.AbstractReferenceInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getAbstractReferenceInstance()
+ * @generated
+ */
+ int ABSTRACT_REFERENCE_INSTANCE = 0;
+
+ /**
+ * The feature id for the '<em><b>EReference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_REFERENCE_INSTANCE__EREFERENCE = 0;
+
+ /**
+ * The number of structural features of the '<em>Abstract Reference Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_REFERENCE_INSTANCE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedContainmentReferenceInstanceImpl <em>Multi Valued Containment Reference Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedContainmentReferenceInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getMultiValuedContainmentReferenceInstance()
+ * @generated
+ */
+ int MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE = 1;
+
+ /**
+ * The feature id for the '<em><b>EReference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE__EREFERENCE = ABSTRACT_REFERENCE_INSTANCE__EREFERENCE;
+
+ /**
+ * The feature id for the '<em><b>Owned Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENTS = ABSTRACT_REFERENCE_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Multi Valued Containment Reference Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE_FEATURE_COUNT = ABSTRACT_REFERENCE_INSTANCE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedReferenceInstanceImpl <em>Multi Valued Reference Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedReferenceInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getMultiValuedReferenceInstance()
+ * @generated
+ */
+ int MULTI_VALUED_REFERENCE_INSTANCE = 2;
+
+ /**
+ * The feature id for the '<em><b>EReference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_VALUED_REFERENCE_INSTANCE__EREFERENCE = ABSTRACT_REFERENCE_INSTANCE__EREFERENCE;
+
+ /**
+ * The feature id for the '<em><b>Referenced Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENTS = ABSTRACT_REFERENCE_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Multi Valued Reference Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_VALUED_REFERENCE_INSTANCE_FEATURE_COUNT = ABSTRACT_REFERENCE_INSTANCE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.AbstractAttributeInstanceImpl <em>Abstract Attribute Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.AbstractAttributeInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getAbstractAttributeInstance()
+ * @generated
+ */
+ int ABSTRACT_ATTRIBUTE_INSTANCE = 8;
+
+ /**
+ * The feature id for the '<em><b>EAttribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE = 0;
+
+ /**
+ * The number of structural features of the '<em>Abstract Attribute Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_ATTRIBUTE_INSTANCE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedAttributeInstanceImpl <em>Single Valued Attribute Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedAttributeInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getSingleValuedAttributeInstance()
+ * @generated
+ */
+ int SINGLE_VALUED_ATTRIBUTE_INSTANCE = 3;
+
+ /**
+ * The feature id for the '<em><b>EAttribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_VALUED_ATTRIBUTE_INSTANCE__EATTRIBUTE = ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_VALUED_ATTRIBUTE_INSTANCE__VALUE = ABSTRACT_ATTRIBUTE_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Single Valued Attribute Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_VALUED_ATTRIBUTE_INSTANCE_FEATURE_COUNT = ABSTRACT_ATTRIBUTE_INSTANCE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.ExtendedEObjectReferenceImpl <em>Extended EObject Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.ExtendedEObjectReferenceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getExtendedEObjectReference()
+ * @generated
+ */
+ int EXTENDED_EOBJECT_REFERENCE = 4;
+
+ /**
+ * The feature id for the '<em><b>Extended EObject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_EOBJECT_REFERENCE__EXTENDED_EOBJECT = 0;
+
+ /**
+ * The feature id for the '<em><b>Attribute Instances</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_EOBJECT_REFERENCE__ATTRIBUTE_INSTANCES = 1;
+
+ /**
+ * The feature id for the '<em><b>Reference Instances</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_EOBJECT_REFERENCE__REFERENCE_INSTANCES = 2;
+
+ /**
+ * The number of structural features of the '<em>Extended EObject Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENDED_EOBJECT_REFERENCE_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedContainmentReferenceInstanceImpl <em>Single Valued Containment Reference Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedContainmentReferenceInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getSingleValuedContainmentReferenceInstance()
+ * @generated
+ */
+ int SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE = 5;
+
+ /**
+ * The feature id for the '<em><b>EReference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__EREFERENCE = ABSTRACT_REFERENCE_INSTANCE__EREFERENCE;
+
+ /**
+ * The feature id for the '<em><b>Owned Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT = ABSTRACT_REFERENCE_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Single Valued Containment Reference Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE_FEATURE_COUNT = ABSTRACT_REFERENCE_INSTANCE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedReferenceInstanceImpl <em>Single Valued Reference Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedReferenceInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getSingleValuedReferenceInstance()
+ * @generated
+ */
+ int SINGLE_VALUED_REFERENCE_INSTANCE = 6;
+
+ /**
+ * The feature id for the '<em><b>EReference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_VALUED_REFERENCE_INSTANCE__EREFERENCE = ABSTRACT_REFERENCE_INSTANCE__EREFERENCE;
+
+ /**
+ * The feature id for the '<em><b>Referenced Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENT = ABSTRACT_REFERENCE_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Single Valued Reference Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SINGLE_VALUED_REFERENCE_INSTANCE_FEATURE_COUNT = ABSTRACT_REFERENCE_INSTANCE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedAttributeInstanceImpl <em>Multi Valued Attribute Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedAttributeInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getMultiValuedAttributeInstance()
+ * @generated
+ */
+ int MULTI_VALUED_ATTRIBUTE_INSTANCE = 7;
+
+ /**
+ * The feature id for the '<em><b>EAttribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_VALUED_ATTRIBUTE_INSTANCE__EATTRIBUTE = ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Values</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_VALUED_ATTRIBUTE_INSTANCE__VALUES = ABSTRACT_ATTRIBUTE_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Multi Valued Attribute Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_VALUED_ATTRIBUTE_INSTANCE_FEATURE_COUNT = ABSTRACT_ATTRIBUTE_INSTANCE_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance <em>Abstract Reference Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Reference Instance</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance
+ * @generated
+ */
+ EClass getAbstractReferenceInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance#getEReference <em>EReference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>EReference</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance#getEReference()
+ * @see #getAbstractReferenceInstance()
+ * @generated
+ */
+ EReference getAbstractReferenceInstance_EReference();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance <em>Multi Valued Containment Reference Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multi Valued Containment Reference Instance</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance
+ * @generated
+ */
+ EClass getMultiValuedContainmentReferenceInstance();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance#getOwnedElements <em>Owned Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned Elements</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance#getOwnedElements()
+ * @see #getMultiValuedContainmentReferenceInstance()
+ * @generated
+ */
+ EReference getMultiValuedContainmentReferenceInstance_OwnedElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance <em>Multi Valued Reference Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multi Valued Reference Instance</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance
+ * @generated
+ */
+ EClass getMultiValuedReferenceInstance();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance#getReferencedElements <em>Referenced Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Referenced Elements</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance#getReferencedElements()
+ * @see #getMultiValuedReferenceInstance()
+ * @generated
+ */
+ EReference getMultiValuedReferenceInstance_ReferencedElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance <em>Single Valued Attribute Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Single Valued Attribute Instance</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance
+ * @generated
+ */
+ EClass getSingleValuedAttributeInstance();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance#getValue()
+ * @see #getSingleValuedAttributeInstance()
+ * @generated
+ */
+ EAttribute getSingleValuedAttributeInstance_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference <em>Extended EObject Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extended EObject Reference</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference
+ * @generated
+ */
+ EClass getExtendedEObjectReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference#getExtendedEObject <em>Extended EObject</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Extended EObject</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference#getExtendedEObject()
+ * @see #getExtendedEObjectReference()
+ * @generated
+ */
+ EReference getExtendedEObjectReference_ExtendedEObject();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference#getAttributeInstances <em>Attribute Instances</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Attribute Instances</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference#getAttributeInstances()
+ * @see #getExtendedEObjectReference()
+ * @generated
+ */
+ EReference getExtendedEObjectReference_AttributeInstances();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference#getReferenceInstances <em>Reference Instances</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Reference Instances</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference#getReferenceInstances()
+ * @see #getExtendedEObjectReference()
+ * @generated
+ */
+ EReference getExtendedEObjectReference_ReferenceInstances();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance <em>Single Valued Containment Reference Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Single Valued Containment Reference Instance</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance
+ * @generated
+ */
+ EClass getSingleValuedContainmentReferenceInstance();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance#getOwnedElement <em>Owned Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Owned Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance#getOwnedElement()
+ * @see #getSingleValuedContainmentReferenceInstance()
+ * @generated
+ */
+ EReference getSingleValuedContainmentReferenceInstance_OwnedElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance <em>Single Valued Reference Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Single Valued Reference Instance</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance
+ * @generated
+ */
+ EClass getSingleValuedReferenceInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance#getReferencedElement <em>Referenced Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Referenced Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance#getReferencedElement()
+ * @see #getSingleValuedReferenceInstance()
+ * @generated
+ */
+ EReference getSingleValuedReferenceInstance_ReferencedElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance <em>Multi Valued Attribute Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multi Valued Attribute Instance</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance
+ * @generated
+ */
+ EClass getMultiValuedAttributeInstance();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance#getValues <em>Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Values</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance#getValues()
+ * @see #getMultiValuedAttributeInstance()
+ * @generated
+ */
+ EAttribute getMultiValuedAttributeInstance_Values();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance <em>Abstract Attribute Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Attribute Instance</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance
+ * @generated
+ */
+ EClass getAbstractAttributeInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance#getEAttribute <em>EAttribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>EAttribute</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance#getEAttribute()
+ * @see #getAbstractAttributeInstance()
+ * @generated
+ */
+ EReference getAbstractAttributeInstance_EAttribute();
+
+ /**
+ * 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
+ */
+ SerializationFactory getSerializationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.AbstractReferenceInstanceImpl <em>Abstract Reference Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.AbstractReferenceInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getAbstractReferenceInstance()
+ * @generated
+ */
+ EClass ABSTRACT_REFERENCE_INSTANCE = eINSTANCE.getAbstractReferenceInstance();
+
+ /**
+ * The meta object literal for the '<em><b>EReference</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ABSTRACT_REFERENCE_INSTANCE__EREFERENCE = eINSTANCE.getAbstractReferenceInstance_EReference();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedContainmentReferenceInstanceImpl <em>Multi Valued Containment Reference Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedContainmentReferenceInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getMultiValuedContainmentReferenceInstance()
+ * @generated
+ */
+ EClass MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE = eINSTANCE.getMultiValuedContainmentReferenceInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENTS = eINSTANCE.getMultiValuedContainmentReferenceInstance_OwnedElements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedReferenceInstanceImpl <em>Multi Valued Reference Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedReferenceInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getMultiValuedReferenceInstance()
+ * @generated
+ */
+ EClass MULTI_VALUED_REFERENCE_INSTANCE = eINSTANCE.getMultiValuedReferenceInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Referenced Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MULTI_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENTS = eINSTANCE.getMultiValuedReferenceInstance_ReferencedElements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedAttributeInstanceImpl <em>Single Valued Attribute Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedAttributeInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getSingleValuedAttributeInstance()
+ * @generated
+ */
+ EClass SINGLE_VALUED_ATTRIBUTE_INSTANCE = eINSTANCE.getSingleValuedAttributeInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SINGLE_VALUED_ATTRIBUTE_INSTANCE__VALUE = eINSTANCE.getSingleValuedAttributeInstance_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.ExtendedEObjectReferenceImpl <em>Extended EObject Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.ExtendedEObjectReferenceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getExtendedEObjectReference()
+ * @generated
+ */
+ EClass EXTENDED_EOBJECT_REFERENCE = eINSTANCE.getExtendedEObjectReference();
+
+ /**
+ * The meta object literal for the '<em><b>Extended EObject</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTENDED_EOBJECT_REFERENCE__EXTENDED_EOBJECT = eINSTANCE.getExtendedEObjectReference_ExtendedEObject();
+
+ /**
+ * The meta object literal for the '<em><b>Attribute Instances</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTENDED_EOBJECT_REFERENCE__ATTRIBUTE_INSTANCES = eINSTANCE.getExtendedEObjectReference_AttributeInstances();
+
+ /**
+ * The meta object literal for the '<em><b>Reference Instances</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTENDED_EOBJECT_REFERENCE__REFERENCE_INSTANCES = eINSTANCE.getExtendedEObjectReference_ReferenceInstances();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedContainmentReferenceInstanceImpl <em>Single Valued Containment Reference Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedContainmentReferenceInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getSingleValuedContainmentReferenceInstance()
+ * @generated
+ */
+ EClass SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE = eINSTANCE.getSingleValuedContainmentReferenceInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Element</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT = eINSTANCE.getSingleValuedContainmentReferenceInstance_OwnedElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedReferenceInstanceImpl <em>Single Valued Reference Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedReferenceInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getSingleValuedReferenceInstance()
+ * @generated
+ */
+ EClass SINGLE_VALUED_REFERENCE_INSTANCE = eINSTANCE.getSingleValuedReferenceInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Referenced Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SINGLE_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENT = eINSTANCE.getSingleValuedReferenceInstance_ReferencedElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedAttributeInstanceImpl <em>Multi Valued Attribute Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedAttributeInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getMultiValuedAttributeInstance()
+ * @generated
+ */
+ EClass MULTI_VALUED_ATTRIBUTE_INSTANCE = eINSTANCE.getMultiValuedAttributeInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Values</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MULTI_VALUED_ATTRIBUTE_INSTANCE__VALUES = eINSTANCE.getMultiValuedAttributeInstance_Values();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.AbstractAttributeInstanceImpl <em>Abstract Attribute Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.AbstractAttributeInstanceImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SerializationPackageImpl#getAbstractAttributeInstance()
+ * @generated
+ */
+ EClass ABSTRACT_ATTRIBUTE_INSTANCE = eINSTANCE.getAbstractAttributeInstance();
+
+ /**
+ * The meta object literal for the '<em><b>EAttribute</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE = eINSTANCE.getAbstractAttributeInstance_EAttribute();
+
+ }
+
+} //SerializationPackage
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedAttributeInstance.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedAttributeInstance.java
new file mode 100644
index 00000000000..0f2a68d64c6
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedAttributeInstance.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Single Valued Attribute Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getSingleValuedAttributeInstance()
+ * @model
+ * @generated
+ */
+public interface SingleValuedAttributeInstance extends AbstractAttributeInstance {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(Object)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getSingleValuedAttributeInstance_Value()
+ * @model
+ * @generated
+ */
+ Object getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(Object value);
+
+} // SingleValuedAttributeInstance
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedContainmentReferenceInstance.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedContainmentReferenceInstance.java
new file mode 100644
index 00000000000..c3e67a6ec8d
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedContainmentReferenceInstance.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Single Valued Containment Reference Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance#getOwnedElement <em>Owned Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getSingleValuedContainmentReferenceInstance()
+ * @model
+ * @generated
+ */
+public interface SingleValuedContainmentReferenceInstance extends AbstractReferenceInstance {
+ /**
+ * Returns the value of the '<em><b>Owned Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned Element</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Element</em>' containment reference.
+ * @see #setOwnedElement(EObject)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getSingleValuedContainmentReferenceInstance_OwnedElement()
+ * @model containment="true"
+ * @generated
+ */
+ EObject getOwnedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance#getOwnedElement <em>Owned Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owned Element</em>' containment reference.
+ * @see #getOwnedElement()
+ * @generated
+ */
+ void setOwnedElement(EObject value);
+
+} // SingleValuedContainmentReferenceInstance
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedReferenceInstance.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedReferenceInstance.java
new file mode 100644
index 00000000000..9880a0e46e3
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/SingleValuedReferenceInstance.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Single Valued Reference Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance#getReferencedElement <em>Referenced Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getSingleValuedReferenceInstance()
+ * @model
+ * @generated
+ */
+public interface SingleValuedReferenceInstance extends AbstractReferenceInstance {
+ /**
+ * Returns the value of the '<em><b>Referenced Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referenced Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Referenced Element</em>' reference.
+ * @see #setReferencedElement(EObject)
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#getSingleValuedReferenceInstance_ReferencedElement()
+ * @model
+ * @generated
+ */
+ EObject getReferencedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance#getReferencedElement <em>Referenced Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Referenced Element</em>' reference.
+ * @see #getReferencedElement()
+ * @generated
+ */
+ void setReferencedElement(EObject value);
+
+} // SingleValuedReferenceInstance
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/AbstractAttributeInstanceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/AbstractAttributeInstanceImpl.java
new file mode 100644
index 00000000000..059c2eedf90
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/AbstractAttributeInstanceImpl.java
@@ -0,0 +1,166 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Attribute Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.AbstractAttributeInstanceImpl#getEAttribute <em>EAttribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AbstractAttributeInstanceImpl extends EObjectImpl implements AbstractAttributeInstance {
+ /**
+ * The cached value of the '{@link #getEAttribute() <em>EAttribute</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEAttribute()
+ * @generated
+ * @ordered
+ */
+ protected EAttribute eAttribute;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractAttributeInstanceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SerializationPackage.Literals.ABSTRACT_ATTRIBUTE_INSTANCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEAttribute() {
+ if (eAttribute != null && eAttribute.eIsProxy()) {
+ InternalEObject oldEAttribute = (InternalEObject)eAttribute;
+ eAttribute = (EAttribute)eResolveProxy(oldEAttribute);
+ if (eAttribute != oldEAttribute) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SerializationPackage.ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE, oldEAttribute, eAttribute));
+ }
+ }
+ return eAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute basicGetEAttribute() {
+ return eAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEAttribute(EAttribute newEAttribute) {
+ EAttribute oldEAttribute = eAttribute;
+ eAttribute = newEAttribute;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SerializationPackage.ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE, oldEAttribute, eAttribute));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SerializationPackage.ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE:
+ if (resolve) return getEAttribute();
+ return basicGetEAttribute();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SerializationPackage.ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE:
+ setEAttribute((EAttribute)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE:
+ setEAttribute((EAttribute)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE:
+ return eAttribute != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AbstractAttributeInstanceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/AbstractReferenceInstanceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/AbstractReferenceInstanceImpl.java
new file mode 100644
index 00000000000..586be6c1cb1
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/AbstractReferenceInstanceImpl.java
@@ -0,0 +1,166 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Reference Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.AbstractReferenceInstanceImpl#getEReference <em>EReference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AbstractReferenceInstanceImpl extends EObjectImpl implements AbstractReferenceInstance {
+ /**
+ * The cached value of the '{@link #getEReference() <em>EReference</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEReference()
+ * @generated
+ * @ordered
+ */
+ protected EReference eReference;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractReferenceInstanceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SerializationPackage.Literals.ABSTRACT_REFERENCE_INSTANCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEReference() {
+ if (eReference != null && eReference.eIsProxy()) {
+ InternalEObject oldEReference = (InternalEObject)eReference;
+ eReference = (EReference)eResolveProxy(oldEReference);
+ if (eReference != oldEReference) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SerializationPackage.ABSTRACT_REFERENCE_INSTANCE__EREFERENCE, oldEReference, eReference));
+ }
+ }
+ return eReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference basicGetEReference() {
+ return eReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEReference(EReference newEReference) {
+ EReference oldEReference = eReference;
+ eReference = newEReference;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SerializationPackage.ABSTRACT_REFERENCE_INSTANCE__EREFERENCE, oldEReference, eReference));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SerializationPackage.ABSTRACT_REFERENCE_INSTANCE__EREFERENCE:
+ if (resolve) return getEReference();
+ return basicGetEReference();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SerializationPackage.ABSTRACT_REFERENCE_INSTANCE__EREFERENCE:
+ setEReference((EReference)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.ABSTRACT_REFERENCE_INSTANCE__EREFERENCE:
+ setEReference((EReference)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.ABSTRACT_REFERENCE_INSTANCE__EREFERENCE:
+ return eReference != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AbstractReferenceInstanceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/ExtendedEObjectReferenceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/ExtendedEObjectReferenceImpl.java
new file mode 100644
index 00000000000..d5de020e5fa
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/ExtendedEObjectReferenceImpl.java
@@ -0,0 +1,259 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extended EObject Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.ExtendedEObjectReferenceImpl#getExtendedEObject <em>Extended EObject</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.ExtendedEObjectReferenceImpl#getAttributeInstances <em>Attribute Instances</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.ExtendedEObjectReferenceImpl#getReferenceInstances <em>Reference Instances</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExtendedEObjectReferenceImpl extends EObjectImpl implements ExtendedEObjectReference {
+ /**
+ * The cached value of the '{@link #getExtendedEObject() <em>Extended EObject</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtendedEObject()
+ * @generated
+ * @ordered
+ */
+ protected EObject extendedEObject;
+
+ /**
+ * The cached value of the '{@link #getAttributeInstances() <em>Attribute Instances</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributeInstances()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractAttributeInstance> attributeInstances;
+
+ /**
+ * The cached value of the '{@link #getReferenceInstances() <em>Reference Instances</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferenceInstances()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractReferenceInstance> referenceInstances;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedEObjectReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SerializationPackage.Literals.EXTENDED_EOBJECT_REFERENCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getExtendedEObject() {
+ if (extendedEObject != null && extendedEObject.eIsProxy()) {
+ InternalEObject oldExtendedEObject = (InternalEObject)extendedEObject;
+ extendedEObject = eResolveProxy(oldExtendedEObject);
+ if (extendedEObject != oldExtendedEObject) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SerializationPackage.EXTENDED_EOBJECT_REFERENCE__EXTENDED_EOBJECT, oldExtendedEObject, extendedEObject));
+ }
+ }
+ return extendedEObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetExtendedEObject() {
+ return extendedEObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtendedEObject(EObject newExtendedEObject) {
+ EObject oldExtendedEObject = extendedEObject;
+ extendedEObject = newExtendedEObject;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SerializationPackage.EXTENDED_EOBJECT_REFERENCE__EXTENDED_EOBJECT, oldExtendedEObject, extendedEObject));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractAttributeInstance> getAttributeInstances() {
+ if (attributeInstances == null) {
+ attributeInstances = new EObjectContainmentEList<AbstractAttributeInstance>(AbstractAttributeInstance.class, this, SerializationPackage.EXTENDED_EOBJECT_REFERENCE__ATTRIBUTE_INSTANCES);
+ }
+ return attributeInstances;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractReferenceInstance> getReferenceInstances() {
+ if (referenceInstances == null) {
+ referenceInstances = new EObjectContainmentEList<AbstractReferenceInstance>(AbstractReferenceInstance.class, this, SerializationPackage.EXTENDED_EOBJECT_REFERENCE__REFERENCE_INSTANCES);
+ }
+ return referenceInstances;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__ATTRIBUTE_INSTANCES:
+ return ((InternalEList<?>)getAttributeInstances()).basicRemove(otherEnd, msgs);
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__REFERENCE_INSTANCES:
+ return ((InternalEList<?>)getReferenceInstances()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__EXTENDED_EOBJECT:
+ if (resolve) return getExtendedEObject();
+ return basicGetExtendedEObject();
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__ATTRIBUTE_INSTANCES:
+ return getAttributeInstances();
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__REFERENCE_INSTANCES:
+ return getReferenceInstances();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__EXTENDED_EOBJECT:
+ setExtendedEObject((EObject)newValue);
+ return;
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__ATTRIBUTE_INSTANCES:
+ getAttributeInstances().clear();
+ getAttributeInstances().addAll((Collection<? extends AbstractAttributeInstance>)newValue);
+ return;
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__REFERENCE_INSTANCES:
+ getReferenceInstances().clear();
+ getReferenceInstances().addAll((Collection<? extends AbstractReferenceInstance>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__EXTENDED_EOBJECT:
+ setExtendedEObject((EObject)null);
+ return;
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__ATTRIBUTE_INSTANCES:
+ getAttributeInstances().clear();
+ return;
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__REFERENCE_INSTANCES:
+ getReferenceInstances().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__EXTENDED_EOBJECT:
+ return extendedEObject != null;
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__ATTRIBUTE_INSTANCES:
+ return attributeInstances != null && !attributeInstances.isEmpty();
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE__REFERENCE_INSTANCES:
+ return referenceInstances != null && !referenceInstances.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExtendedEObjectReferenceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedAttributeInstanceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedAttributeInstanceImpl.java
new file mode 100644
index 00000000000..47de7485c6a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedAttributeInstanceImpl.java
@@ -0,0 +1,156 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multi Valued Attribute Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedAttributeInstanceImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiValuedAttributeInstanceImpl extends AbstractAttributeInstanceImpl implements MultiValuedAttributeInstance {
+ /**
+ * The cached value of the '{@link #getValues() <em>Values</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<Object> values;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiValuedAttributeInstanceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SerializationPackage.Literals.MULTI_VALUED_ATTRIBUTE_INSTANCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Object> getValues() {
+ if (values == null) {
+ values = new EDataTypeUniqueEList<Object>(Object.class, this, SerializationPackage.MULTI_VALUED_ATTRIBUTE_INSTANCE__VALUES);
+ }
+ return values;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_ATTRIBUTE_INSTANCE__VALUES:
+ return getValues();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_ATTRIBUTE_INSTANCE__VALUES:
+ getValues().clear();
+ getValues().addAll((Collection<? extends Object>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_ATTRIBUTE_INSTANCE__VALUES:
+ getValues().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_ATTRIBUTE_INSTANCE__VALUES:
+ return values != null && !values.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (values: "); //$NON-NLS-1$
+ result.append(values);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MultiValuedAttributeInstanceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedContainmentReferenceInstanceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedContainmentReferenceInstanceImpl.java
new file mode 100644
index 00000000000..75af462e6b4
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedContainmentReferenceInstanceImpl.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multi Valued Containment Reference Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedContainmentReferenceInstanceImpl#getOwnedElements <em>Owned Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiValuedContainmentReferenceInstanceImpl extends AbstractReferenceInstanceImpl implements MultiValuedContainmentReferenceInstance {
+ /**
+ * The cached value of the '{@link #getOwnedElements() <em>Owned Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> ownedElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiValuedContainmentReferenceInstanceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SerializationPackage.Literals.MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getOwnedElements() {
+ if (ownedElements == null) {
+ ownedElements = new EObjectContainmentEList<EObject>(EObject.class, this, SerializationPackage.MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENTS);
+ }
+ return ownedElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENTS:
+ return ((InternalEList<?>)getOwnedElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENTS:
+ return getOwnedElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENTS:
+ getOwnedElements().clear();
+ getOwnedElements().addAll((Collection<? extends EObject>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENTS:
+ getOwnedElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENTS:
+ return ownedElements != null && !ownedElements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MultiValuedContainmentReferenceInstanceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedReferenceInstanceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedReferenceInstanceImpl.java
new file mode 100644
index 00000000000..1effef5185a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/MultiValuedReferenceInstanceImpl.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multi Valued Reference Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.MultiValuedReferenceInstanceImpl#getReferencedElements <em>Referenced Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiValuedReferenceInstanceImpl extends AbstractReferenceInstanceImpl implements MultiValuedReferenceInstance {
+ /**
+ * The cached value of the '{@link #getReferencedElements() <em>Referenced Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferencedElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> referencedElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiValuedReferenceInstanceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SerializationPackage.Literals.MULTI_VALUED_REFERENCE_INSTANCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getReferencedElements() {
+ if (referencedElements == null) {
+ referencedElements = new EObjectResolvingEList<EObject>(EObject.class, this, SerializationPackage.MULTI_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENTS);
+ }
+ return referencedElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENTS:
+ return getReferencedElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENTS:
+ getReferencedElements().clear();
+ getReferencedElements().addAll((Collection<? extends EObject>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENTS:
+ getReferencedElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.MULTI_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENTS:
+ return referencedElements != null && !referencedElements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MultiValuedReferenceInstanceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SerializationFactoryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SerializationFactoryImpl.java
new file mode 100644
index 00000000000..eb179e3499a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SerializationFactoryImpl.java
@@ -0,0 +1,203 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SerializationFactoryImpl extends EFactoryImpl implements SerializationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SerializationFactory init() {
+ try {
+ SerializationFactory theSerializationFactory = (SerializationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/serialization"); //$NON-NLS-1$
+ if (theSerializationFactory != null) {
+ return theSerializationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SerializationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SerializationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SerializationPackage.ABSTRACT_REFERENCE_INSTANCE: return createAbstractReferenceInstance();
+ case SerializationPackage.MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE: return createMultiValuedContainmentReferenceInstance();
+ case SerializationPackage.MULTI_VALUED_REFERENCE_INSTANCE: return createMultiValuedReferenceInstance();
+ case SerializationPackage.SINGLE_VALUED_ATTRIBUTE_INSTANCE: return createSingleValuedAttributeInstance();
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE: return createExtendedEObjectReference();
+ case SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE: return createSingleValuedContainmentReferenceInstance();
+ case SerializationPackage.SINGLE_VALUED_REFERENCE_INSTANCE: return createSingleValuedReferenceInstance();
+ case SerializationPackage.MULTI_VALUED_ATTRIBUTE_INSTANCE: return createMultiValuedAttributeInstance();
+ case SerializationPackage.ABSTRACT_ATTRIBUTE_INSTANCE: return createAbstractAttributeInstance();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractReferenceInstance createAbstractReferenceInstance() {
+ AbstractReferenceInstanceImpl abstractReferenceInstance = new AbstractReferenceInstanceImpl();
+ return abstractReferenceInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiValuedContainmentReferenceInstance createMultiValuedContainmentReferenceInstance() {
+ MultiValuedContainmentReferenceInstanceImpl multiValuedContainmentReferenceInstance = new MultiValuedContainmentReferenceInstanceImpl();
+ return multiValuedContainmentReferenceInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiValuedReferenceInstance createMultiValuedReferenceInstance() {
+ MultiValuedReferenceInstanceImpl multiValuedReferenceInstance = new MultiValuedReferenceInstanceImpl();
+ return multiValuedReferenceInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleValuedAttributeInstance createSingleValuedAttributeInstance() {
+ SingleValuedAttributeInstanceImpl singleValuedAttributeInstance = new SingleValuedAttributeInstanceImpl();
+ return singleValuedAttributeInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedEObjectReference createExtendedEObjectReference() {
+ ExtendedEObjectReferenceImpl extendedEObjectReference = new ExtendedEObjectReferenceImpl();
+ return extendedEObjectReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleValuedContainmentReferenceInstance createSingleValuedContainmentReferenceInstance() {
+ SingleValuedContainmentReferenceInstanceImpl singleValuedContainmentReferenceInstance = new SingleValuedContainmentReferenceInstanceImpl();
+ return singleValuedContainmentReferenceInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SingleValuedReferenceInstance createSingleValuedReferenceInstance() {
+ SingleValuedReferenceInstanceImpl singleValuedReferenceInstance = new SingleValuedReferenceInstanceImpl();
+ return singleValuedReferenceInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiValuedAttributeInstance createMultiValuedAttributeInstance() {
+ MultiValuedAttributeInstanceImpl multiValuedAttributeInstance = new MultiValuedAttributeInstanceImpl();
+ return multiValuedAttributeInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractAttributeInstance createAbstractAttributeInstance() {
+ AbstractAttributeInstanceImpl abstractAttributeInstance = new AbstractAttributeInstanceImpl();
+ return abstractAttributeInstance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SerializationPackage getSerializationPackage() {
+ return (SerializationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SerializationPackage getPackage() {
+ return SerializationPackage.eINSTANCE;
+ }
+
+} //SerializationFactoryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SerializationPackageImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SerializationPackageImpl.java
new file mode 100644
index 00000000000..5321829bc49
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SerializationPackageImpl.java
@@ -0,0 +1,497 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.ExtensiblePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.impl.ExtensiblePackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.impl.EFacetPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.QueryPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.query.impl.QueryPackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.RuntimePackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.runtime.impl.RuntimePackageImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SerializationPackageImpl extends EPackageImpl implements SerializationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractReferenceInstanceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiValuedContainmentReferenceInstanceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiValuedReferenceInstanceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass singleValuedAttributeInstanceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extendedEObjectReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass singleValuedContainmentReferenceInstanceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass singleValuedReferenceInstanceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiValuedAttributeInstanceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractAttributeInstanceEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SerializationPackageImpl() {
+ super(eNS_URI, SerializationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link SerializationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static SerializationPackage init() {
+ if (isInited) return (SerializationPackage)EPackage.Registry.INSTANCE.getEPackage(SerializationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ SerializationPackageImpl theSerializationPackage = (SerializationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SerializationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SerializationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EFacetPackageImpl theEFacetPackage = (EFacetPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI) instanceof EFacetPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI) : EFacetPackage.eINSTANCE);
+ ExtensiblePackageImpl theExtensiblePackage = (ExtensiblePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI) instanceof ExtensiblePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ExtensiblePackage.eNS_URI) : ExtensiblePackage.eINSTANCE);
+ QueryPackageImpl theQueryPackage = (QueryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI) instanceof QueryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI) : QueryPackage.eINSTANCE);
+ RuntimePackageImpl theRuntimePackage = (RuntimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RuntimePackage.eNS_URI) instanceof RuntimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RuntimePackage.eNS_URI) : RuntimePackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theSerializationPackage.createPackageContents();
+ theEFacetPackage.createPackageContents();
+ theExtensiblePackage.createPackageContents();
+ theQueryPackage.createPackageContents();
+ theRuntimePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSerializationPackage.initializePackageContents();
+ theEFacetPackage.initializePackageContents();
+ theExtensiblePackage.initializePackageContents();
+ theQueryPackage.initializePackageContents();
+ theRuntimePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSerializationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SerializationPackage.eNS_URI, theSerializationPackage);
+ return theSerializationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAbstractReferenceInstance() {
+ return abstractReferenceInstanceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAbstractReferenceInstance_EReference() {
+ return (EReference)abstractReferenceInstanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiValuedContainmentReferenceInstance() {
+ return multiValuedContainmentReferenceInstanceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiValuedContainmentReferenceInstance_OwnedElements() {
+ return (EReference)multiValuedContainmentReferenceInstanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiValuedReferenceInstance() {
+ return multiValuedReferenceInstanceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiValuedReferenceInstance_ReferencedElements() {
+ return (EReference)multiValuedReferenceInstanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSingleValuedAttributeInstance() {
+ return singleValuedAttributeInstanceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSingleValuedAttributeInstance_Value() {
+ return (EAttribute)singleValuedAttributeInstanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtendedEObjectReference() {
+ return extendedEObjectReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtendedEObjectReference_ExtendedEObject() {
+ return (EReference)extendedEObjectReferenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtendedEObjectReference_AttributeInstances() {
+ return (EReference)extendedEObjectReferenceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtendedEObjectReference_ReferenceInstances() {
+ return (EReference)extendedEObjectReferenceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSingleValuedContainmentReferenceInstance() {
+ return singleValuedContainmentReferenceInstanceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSingleValuedContainmentReferenceInstance_OwnedElement() {
+ return (EReference)singleValuedContainmentReferenceInstanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSingleValuedReferenceInstance() {
+ return singleValuedReferenceInstanceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSingleValuedReferenceInstance_ReferencedElement() {
+ return (EReference)singleValuedReferenceInstanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiValuedAttributeInstance() {
+ return multiValuedAttributeInstanceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiValuedAttributeInstance_Values() {
+ return (EAttribute)multiValuedAttributeInstanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAbstractAttributeInstance() {
+ return abstractAttributeInstanceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAbstractAttributeInstance_EAttribute() {
+ return (EReference)abstractAttributeInstanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SerializationFactory getSerializationFactory() {
+ return (SerializationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ abstractReferenceInstanceEClass = createEClass(ABSTRACT_REFERENCE_INSTANCE);
+ createEReference(abstractReferenceInstanceEClass, ABSTRACT_REFERENCE_INSTANCE__EREFERENCE);
+
+ multiValuedContainmentReferenceInstanceEClass = createEClass(MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE);
+ createEReference(multiValuedContainmentReferenceInstanceEClass, MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENTS);
+
+ multiValuedReferenceInstanceEClass = createEClass(MULTI_VALUED_REFERENCE_INSTANCE);
+ createEReference(multiValuedReferenceInstanceEClass, MULTI_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENTS);
+
+ singleValuedAttributeInstanceEClass = createEClass(SINGLE_VALUED_ATTRIBUTE_INSTANCE);
+ createEAttribute(singleValuedAttributeInstanceEClass, SINGLE_VALUED_ATTRIBUTE_INSTANCE__VALUE);
+
+ extendedEObjectReferenceEClass = createEClass(EXTENDED_EOBJECT_REFERENCE);
+ createEReference(extendedEObjectReferenceEClass, EXTENDED_EOBJECT_REFERENCE__EXTENDED_EOBJECT);
+ createEReference(extendedEObjectReferenceEClass, EXTENDED_EOBJECT_REFERENCE__ATTRIBUTE_INSTANCES);
+ createEReference(extendedEObjectReferenceEClass, EXTENDED_EOBJECT_REFERENCE__REFERENCE_INSTANCES);
+
+ singleValuedContainmentReferenceInstanceEClass = createEClass(SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE);
+ createEReference(singleValuedContainmentReferenceInstanceEClass, SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT);
+
+ singleValuedReferenceInstanceEClass = createEClass(SINGLE_VALUED_REFERENCE_INSTANCE);
+ createEReference(singleValuedReferenceInstanceEClass, SINGLE_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENT);
+
+ multiValuedAttributeInstanceEClass = createEClass(MULTI_VALUED_ATTRIBUTE_INSTANCE);
+ createEAttribute(multiValuedAttributeInstanceEClass, MULTI_VALUED_ATTRIBUTE_INSTANCE__VALUES);
+
+ abstractAttributeInstanceEClass = createEClass(ABSTRACT_ATTRIBUTE_INSTANCE);
+ createEReference(abstractAttributeInstanceEClass, ABSTRACT_ATTRIBUTE_INSTANCE__EATTRIBUTE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ multiValuedContainmentReferenceInstanceEClass.getESuperTypes().add(this.getAbstractReferenceInstance());
+ multiValuedReferenceInstanceEClass.getESuperTypes().add(this.getAbstractReferenceInstance());
+ singleValuedAttributeInstanceEClass.getESuperTypes().add(this.getAbstractAttributeInstance());
+ singleValuedContainmentReferenceInstanceEClass.getESuperTypes().add(this.getAbstractReferenceInstance());
+ singleValuedReferenceInstanceEClass.getESuperTypes().add(this.getAbstractReferenceInstance());
+ multiValuedAttributeInstanceEClass.getESuperTypes().add(this.getAbstractAttributeInstance());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(abstractReferenceInstanceEClass, AbstractReferenceInstance.class, "AbstractReferenceInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getAbstractReferenceInstance_EReference(), ecorePackage.getEReference(), null, "eReference", null, 1, 1, AbstractReferenceInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(multiValuedContainmentReferenceInstanceEClass, MultiValuedContainmentReferenceInstance.class, "MultiValuedContainmentReferenceInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getMultiValuedContainmentReferenceInstance_OwnedElements(), ecorePackage.getEObject(), null, "ownedElements", null, 0, -1, MultiValuedContainmentReferenceInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(multiValuedReferenceInstanceEClass, MultiValuedReferenceInstance.class, "MultiValuedReferenceInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getMultiValuedReferenceInstance_ReferencedElements(), ecorePackage.getEObject(), null, "referencedElements", null, 0, -1, MultiValuedReferenceInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(singleValuedAttributeInstanceEClass, SingleValuedAttributeInstance.class, "SingleValuedAttributeInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getSingleValuedAttributeInstance_Value(), ecorePackage.getEJavaObject(), "value", null, 0, 1, SingleValuedAttributeInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(extendedEObjectReferenceEClass, ExtendedEObjectReference.class, "ExtendedEObjectReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getExtendedEObjectReference_ExtendedEObject(), ecorePackage.getEObject(), null, "extendedEObject", null, 1, 1, ExtendedEObjectReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getExtendedEObjectReference_AttributeInstances(), this.getAbstractAttributeInstance(), null, "attributeInstances", null, 0, -1, ExtendedEObjectReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getExtendedEObjectReference_ReferenceInstances(), this.getAbstractReferenceInstance(), null, "referenceInstances", null, 0, -1, ExtendedEObjectReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(singleValuedContainmentReferenceInstanceEClass, SingleValuedContainmentReferenceInstance.class, "SingleValuedContainmentReferenceInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getSingleValuedContainmentReferenceInstance_OwnedElement(), ecorePackage.getEObject(), null, "ownedElement", null, 0, 1, SingleValuedContainmentReferenceInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(singleValuedReferenceInstanceEClass, SingleValuedReferenceInstance.class, "SingleValuedReferenceInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getSingleValuedReferenceInstance_ReferencedElement(), ecorePackage.getEObject(), null, "referencedElement", null, 0, 1, SingleValuedReferenceInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(multiValuedAttributeInstanceEClass, MultiValuedAttributeInstance.class, "MultiValuedAttributeInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getMultiValuedAttributeInstance_Values(), ecorePackage.getEJavaObject(), "values", null, 0, -1, MultiValuedAttributeInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(abstractAttributeInstanceEClass, AbstractAttributeInstance.class, "AbstractAttributeInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getAbstractAttributeInstance_EAttribute(), ecorePackage.getEAttribute(), null, "eAttribute", null, 1, 1, AbstractAttributeInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ }
+
+} //SerializationPackageImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedAttributeInstanceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedAttributeInstanceImpl.java
new file mode 100644
index 00000000000..58aed2ad31f
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedAttributeInstanceImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Single Valued Attribute Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedAttributeInstanceImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SingleValuedAttributeInstanceImpl extends AbstractAttributeInstanceImpl implements SingleValuedAttributeInstance {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final Object VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected Object value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SingleValuedAttributeInstanceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SerializationPackage.Literals.SINGLE_VALUED_ATTRIBUTE_INSTANCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(Object newValue) {
+ Object oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SerializationPackage.SINGLE_VALUED_ATTRIBUTE_INSTANCE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_ATTRIBUTE_INSTANCE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_ATTRIBUTE_INSTANCE__VALUE:
+ setValue(newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_ATTRIBUTE_INSTANCE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_ATTRIBUTE_INSTANCE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SingleValuedAttributeInstanceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedContainmentReferenceInstanceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedContainmentReferenceInstanceImpl.java
new file mode 100644
index 00000000000..ee4e80cabec
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedContainmentReferenceInstanceImpl.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Single Valued Containment Reference Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedContainmentReferenceInstanceImpl#getOwnedElement <em>Owned Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SingleValuedContainmentReferenceInstanceImpl extends AbstractReferenceInstanceImpl implements SingleValuedContainmentReferenceInstance {
+ /**
+ * The cached value of the '{@link #getOwnedElement() <em>Owned Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject ownedElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SingleValuedContainmentReferenceInstanceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SerializationPackage.Literals.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getOwnedElement() {
+ return ownedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedElement(EObject newOwnedElement, NotificationChain msgs) {
+ EObject oldOwnedElement = ownedElement;
+ ownedElement = newOwnedElement;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT, oldOwnedElement, newOwnedElement);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedElement(EObject newOwnedElement) {
+ if (newOwnedElement != ownedElement) {
+ NotificationChain msgs = null;
+ if (ownedElement != null)
+ msgs = ((InternalEObject)ownedElement).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT, null, msgs);
+ if (newOwnedElement != null)
+ msgs = ((InternalEObject)newOwnedElement).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT, null, msgs);
+ msgs = basicSetOwnedElement(newOwnedElement, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT, newOwnedElement, newOwnedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT:
+ return basicSetOwnedElement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT:
+ return getOwnedElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT:
+ setOwnedElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT:
+ setOwnedElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE__OWNED_ELEMENT:
+ return ownedElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SingleValuedContainmentReferenceInstanceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedReferenceInstanceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedReferenceInstanceImpl.java
new file mode 100644
index 00000000000..89245abd960
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/impl/SingleValuedReferenceInstanceImpl.java
@@ -0,0 +1,165 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Single Valued Reference Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.impl.SingleValuedReferenceInstanceImpl#getReferencedElement <em>Referenced Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SingleValuedReferenceInstanceImpl extends AbstractReferenceInstanceImpl implements SingleValuedReferenceInstance {
+ /**
+ * The cached value of the '{@link #getReferencedElement() <em>Referenced Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferencedElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject referencedElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SingleValuedReferenceInstanceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SerializationPackage.Literals.SINGLE_VALUED_REFERENCE_INSTANCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getReferencedElement() {
+ if (referencedElement != null && referencedElement.eIsProxy()) {
+ InternalEObject oldReferencedElement = (InternalEObject)referencedElement;
+ referencedElement = eResolveProxy(oldReferencedElement);
+ if (referencedElement != oldReferencedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SerializationPackage.SINGLE_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENT, oldReferencedElement, referencedElement));
+ }
+ }
+ return referencedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetReferencedElement() {
+ return referencedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReferencedElement(EObject newReferencedElement) {
+ EObject oldReferencedElement = referencedElement;
+ referencedElement = newReferencedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SerializationPackage.SINGLE_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENT, oldReferencedElement, referencedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENT:
+ if (resolve) return getReferencedElement();
+ return basicGetReferencedElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENT:
+ setReferencedElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENT:
+ setReferencedElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SerializationPackage.SINGLE_VALUED_REFERENCE_INSTANCE__REFERENCED_ELEMENT:
+ return referencedElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SingleValuedReferenceInstanceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/util/SerializationAdapterFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/util/SerializationAdapterFactory.java
new file mode 100644
index 00000000000..e44ef69e482
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/util/SerializationAdapterFactory.java
@@ -0,0 +1,283 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage
+ * @generated
+ */
+public class SerializationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SerializationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SerializationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SerializationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SerializationSwitch<Adapter> modelSwitch =
+ new SerializationSwitch<Adapter>() {
+ @Override
+ public Adapter caseAbstractReferenceInstance(AbstractReferenceInstance object) {
+ return createAbstractReferenceInstanceAdapter();
+ }
+ @Override
+ public Adapter caseMultiValuedContainmentReferenceInstance(MultiValuedContainmentReferenceInstance object) {
+ return createMultiValuedContainmentReferenceInstanceAdapter();
+ }
+ @Override
+ public Adapter caseMultiValuedReferenceInstance(MultiValuedReferenceInstance object) {
+ return createMultiValuedReferenceInstanceAdapter();
+ }
+ @Override
+ public Adapter caseSingleValuedAttributeInstance(SingleValuedAttributeInstance object) {
+ return createSingleValuedAttributeInstanceAdapter();
+ }
+ @Override
+ public Adapter caseExtendedEObjectReference(ExtendedEObjectReference object) {
+ return createExtendedEObjectReferenceAdapter();
+ }
+ @Override
+ public Adapter caseSingleValuedContainmentReferenceInstance(SingleValuedContainmentReferenceInstance object) {
+ return createSingleValuedContainmentReferenceInstanceAdapter();
+ }
+ @Override
+ public Adapter caseSingleValuedReferenceInstance(SingleValuedReferenceInstance object) {
+ return createSingleValuedReferenceInstanceAdapter();
+ }
+ @Override
+ public Adapter caseMultiValuedAttributeInstance(MultiValuedAttributeInstance object) {
+ return createMultiValuedAttributeInstanceAdapter();
+ }
+ @Override
+ public Adapter caseAbstractAttributeInstance(AbstractAttributeInstance object) {
+ return createAbstractAttributeInstanceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance <em>Abstract Reference Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance
+ * @generated
+ */
+ public Adapter createAbstractReferenceInstanceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance <em>Multi Valued Containment Reference Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance
+ * @generated
+ */
+ public Adapter createMultiValuedContainmentReferenceInstanceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance <em>Multi Valued Reference Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance
+ * @generated
+ */
+ public Adapter createMultiValuedReferenceInstanceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance <em>Single Valued Attribute Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance
+ * @generated
+ */
+ public Adapter createSingleValuedAttributeInstanceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference <em>Extended EObject Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference
+ * @generated
+ */
+ public Adapter createExtendedEObjectReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance <em>Single Valued Containment Reference Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance
+ * @generated
+ */
+ public Adapter createSingleValuedContainmentReferenceInstanceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance <em>Single Valued Reference Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance
+ * @generated
+ */
+ public Adapter createSingleValuedReferenceInstanceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance <em>Multi Valued Attribute Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance
+ * @generated
+ */
+ public Adapter createMultiValuedAttributeInstanceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance <em>Abstract Attribute Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance
+ * @generated
+ */
+ public Adapter createAbstractAttributeInstanceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //SerializationAdapterFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/util/SerializationSwitch.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/util/SerializationSwitch.java
new file mode 100644
index 00000000000..17017572468
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/serialization/util/SerializationSwitch.java
@@ -0,0 +1,325 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.AbstractReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.ExtendedEObjectReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedContainmentReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.MultiValuedReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedAttributeInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedContainmentReferenceInstance;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SingleValuedReferenceInstance;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.serialization.SerializationPackage
+ * @generated
+ */
+public class SerializationSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SerializationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SerializationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SerializationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 T 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 T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), 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 T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case SerializationPackage.ABSTRACT_REFERENCE_INSTANCE: {
+ AbstractReferenceInstance abstractReferenceInstance = (AbstractReferenceInstance)theEObject;
+ T result = caseAbstractReferenceInstance(abstractReferenceInstance);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SerializationPackage.MULTI_VALUED_CONTAINMENT_REFERENCE_INSTANCE: {
+ MultiValuedContainmentReferenceInstance multiValuedContainmentReferenceInstance = (MultiValuedContainmentReferenceInstance)theEObject;
+ T result = caseMultiValuedContainmentReferenceInstance(multiValuedContainmentReferenceInstance);
+ if (result == null) result = caseAbstractReferenceInstance(multiValuedContainmentReferenceInstance);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SerializationPackage.MULTI_VALUED_REFERENCE_INSTANCE: {
+ MultiValuedReferenceInstance multiValuedReferenceInstance = (MultiValuedReferenceInstance)theEObject;
+ T result = caseMultiValuedReferenceInstance(multiValuedReferenceInstance);
+ if (result == null) result = caseAbstractReferenceInstance(multiValuedReferenceInstance);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SerializationPackage.SINGLE_VALUED_ATTRIBUTE_INSTANCE: {
+ SingleValuedAttributeInstance singleValuedAttributeInstance = (SingleValuedAttributeInstance)theEObject;
+ T result = caseSingleValuedAttributeInstance(singleValuedAttributeInstance);
+ if (result == null) result = caseAbstractAttributeInstance(singleValuedAttributeInstance);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SerializationPackage.EXTENDED_EOBJECT_REFERENCE: {
+ ExtendedEObjectReference extendedEObjectReference = (ExtendedEObjectReference)theEObject;
+ T result = caseExtendedEObjectReference(extendedEObjectReference);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SerializationPackage.SINGLE_VALUED_CONTAINMENT_REFERENCE_INSTANCE: {
+ SingleValuedContainmentReferenceInstance singleValuedContainmentReferenceInstance = (SingleValuedContainmentReferenceInstance)theEObject;
+ T result = caseSingleValuedContainmentReferenceInstance(singleValuedContainmentReferenceInstance);
+ if (result == null) result = caseAbstractReferenceInstance(singleValuedContainmentReferenceInstance);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SerializationPackage.SINGLE_VALUED_REFERENCE_INSTANCE: {
+ SingleValuedReferenceInstance singleValuedReferenceInstance = (SingleValuedReferenceInstance)theEObject;
+ T result = caseSingleValuedReferenceInstance(singleValuedReferenceInstance);
+ if (result == null) result = caseAbstractReferenceInstance(singleValuedReferenceInstance);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SerializationPackage.MULTI_VALUED_ATTRIBUTE_INSTANCE: {
+ MultiValuedAttributeInstance multiValuedAttributeInstance = (MultiValuedAttributeInstance)theEObject;
+ T result = caseMultiValuedAttributeInstance(multiValuedAttributeInstance);
+ if (result == null) result = caseAbstractAttributeInstance(multiValuedAttributeInstance);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SerializationPackage.ABSTRACT_ATTRIBUTE_INSTANCE: {
+ AbstractAttributeInstance abstractAttributeInstance = (AbstractAttributeInstance)theEObject;
+ T result = caseAbstractAttributeInstance(abstractAttributeInstance);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Reference Instance</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>Abstract Reference Instance</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractReferenceInstance(AbstractReferenceInstance object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multi Valued Containment Reference Instance</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>Multi Valued Containment Reference Instance</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiValuedContainmentReferenceInstance(MultiValuedContainmentReferenceInstance object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multi Valued Reference Instance</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>Multi Valued Reference Instance</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiValuedReferenceInstance(MultiValuedReferenceInstance object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Single Valued Attribute Instance</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>Single Valued Attribute Instance</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSingleValuedAttributeInstance(SingleValuedAttributeInstance object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extended EObject Reference</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>Extended EObject Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtendedEObjectReference(ExtendedEObjectReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Single Valued Containment Reference Instance</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>Single Valued Containment Reference Instance</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSingleValuedContainmentReferenceInstance(SingleValuedContainmentReferenceInstance object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Single Valued Reference Instance</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>Single Valued Reference Instance</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSingleValuedReferenceInstance(SingleValuedReferenceInstance object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multi Valued Attribute Instance</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>Multi Valued Attribute Instance</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiValuedAttributeInstance(MultiValuedAttributeInstance object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Attribute Instance</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>Abstract Attribute Instance</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractAttributeInstance(AbstractAttributeInstance 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //SerializationSwitch
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/util/EFacetAdapterFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/util/EFacetAdapterFactory.java
new file mode 100644
index 00000000000..22f5a92ddf5
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/util/EFacetAdapterFactory.java
@@ -0,0 +1,474 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetAttribute;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage
+ * @generated
+ */
+public class EFacetAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EFacetPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EFacetAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = EFacetPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EFacetSwitch<Adapter> modelSwitch =
+ new EFacetSwitch<Adapter>() {
+ @Override
+ public Adapter caseFacetAttribute(FacetAttribute object) {
+ return createFacetAttributeAdapter();
+ }
+ @Override
+ public Adapter caseFacetReference(FacetReference object) {
+ return createFacetReferenceAdapter();
+ }
+ @Override
+ public Adapter caseFacetOperation(FacetOperation object) {
+ return createFacetOperationAdapter();
+ }
+ @Override
+ public Adapter caseFacetSet(FacetSet object) {
+ return createFacetSetAdapter();
+ }
+ @Override
+ public Adapter caseFacet(Facet object) {
+ return createFacetAdapter();
+ }
+ @Override
+ public Adapter caseCategory(Category object) {
+ return createCategoryAdapter();
+ }
+ @Override
+ public Adapter caseFacetElement(FacetElement object) {
+ return createFacetElementAdapter();
+ }
+ @Override
+ public Adapter caseDerivedTypedElement(DerivedTypedElement object) {
+ return createDerivedTypedElementAdapter();
+ }
+ @Override
+ public Adapter caseParameterValue(ParameterValue object) {
+ return createParameterValueAdapter();
+ }
+ @Override
+ public Adapter caseDocumentedElement(DocumentedElement object) {
+ return createDocumentedElementAdapter();
+ }
+ @Override
+ public Adapter caseEModelElement(EModelElement object) {
+ return createEModelElementAdapter();
+ }
+ @Override
+ public Adapter caseENamedElement(ENamedElement object) {
+ return createENamedElementAdapter();
+ }
+ @Override
+ public Adapter caseETypedElement(ETypedElement object) {
+ return createETypedElementAdapter();
+ }
+ @Override
+ public Adapter caseEStructuralFeature(EStructuralFeature object) {
+ return createEStructuralFeatureAdapter();
+ }
+ @Override
+ public Adapter caseEAttribute(EAttribute object) {
+ return createEAttributeAdapter();
+ }
+ @Override
+ public Adapter caseEReference(EReference object) {
+ return createEReferenceAdapter();
+ }
+ @Override
+ public Adapter caseEOperation(EOperation object) {
+ return createEOperationAdapter();
+ }
+ @Override
+ public Adapter caseEPackage(EPackage object) {
+ return createEPackageAdapter();
+ }
+ @Override
+ public Adapter caseEClassifier(EClassifier object) {
+ return createEClassifierAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetAttribute <em>Facet Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetAttribute
+ * @generated
+ */
+ public Adapter createFacetAttributeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetReference <em>Facet Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetReference
+ * @generated
+ */
+ public Adapter createFacetReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation <em>Facet Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation
+ * @generated
+ */
+ public Adapter createFacetOperationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet <em>Facet Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet
+ * @generated
+ */
+ public Adapter createFacetSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet <em>Facet</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet
+ * @generated
+ */
+ public Adapter createFacetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category
+ * @generated
+ */
+ public Adapter createCategoryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement <em>Facet Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement
+ * @generated
+ */
+ public Adapter createFacetElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement <em>Derived Typed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement
+ * @generated
+ */
+ public Adapter createDerivedTypedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue <em>Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue
+ * @generated
+ */
+ public Adapter createParameterValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement <em>Documented Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement
+ * @generated
+ */
+ public Adapter createDocumentedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EModelElement <em>EModel Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EModelElement
+ * @generated
+ */
+ public Adapter createEModelElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.ENamedElement <em>ENamed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.ENamedElement
+ * @generated
+ */
+ public Adapter createENamedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.ETypedElement <em>ETyped Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.ETypedElement
+ * @generated
+ */
+ public Adapter createETypedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EStructuralFeature <em>EStructural Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EStructuralFeature
+ * @generated
+ */
+ public Adapter createEStructuralFeatureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EAttribute <em>EAttribute</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EAttribute
+ * @generated
+ */
+ public Adapter createEAttributeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EReference <em>EReference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EReference
+ * @generated
+ */
+ public Adapter createEReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EOperation <em>EOperation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EOperation
+ * @generated
+ */
+ public Adapter createEOperationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EPackage <em>EPackage</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EPackage
+ * @generated
+ */
+ public Adapter createEPackageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EClassifier <em>EClassifier</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EClassifier
+ * @generated
+ */
+ public Adapter createEClassifierAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //EFacetAdapterFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/util/EFacetSwitch.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/util/EFacetSwitch.java
new file mode 100644
index 00000000000..321ef52b19e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacet/util/EFacetSwitch.java
@@ -0,0 +1,529 @@
+/**
+ * Copyright (c) 2011, 2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
+ * Nicolas Bros (Mia-Software) - Bug 361823 - [Restructuring] eFacet2 meta-model
+ * Gregoire Dupe (Mia-Software) - Bug 366055 - NavigationQuery
+ * Gregoire Dupe (Mia-Software) - Bug 369673 - [Facet] IsOneOfQuery
+ * Olivier Remaud (Soft-Maint) - Bug 369824 - Add a simple way to return string literal constants from a customization query
+ * Gregoire Dupe (Mia-software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
+ * Gregoire Dupe (Mia-Software) - Bug 364325 - [Restructuring] The user must be able to navigate into a model using the Facet.
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.*;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Category;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DerivedTypedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.DocumentedElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetAttribute;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetReference;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage
+ * @generated
+ */
+public class EFacetSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EFacetPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EFacetSwitch() {
+ if (modelPackage == null) {
+ modelPackage = EFacetPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 T 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 T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), 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 T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case EFacetPackage.FACET_ATTRIBUTE: {
+ FacetAttribute facetAttribute = (FacetAttribute)theEObject;
+ T result = caseFacetAttribute(facetAttribute);
+ if (result == null) result = caseEAttribute(facetAttribute);
+ if (result == null) result = caseDerivedTypedElement(facetAttribute);
+ if (result == null) result = caseEStructuralFeature(facetAttribute);
+ if (result == null) result = caseFacetElement(facetAttribute);
+ if (result == null) result = caseETypedElement(facetAttribute);
+ if (result == null) result = caseDocumentedElement(facetAttribute);
+ if (result == null) result = caseENamedElement(facetAttribute);
+ if (result == null) result = caseEModelElement(facetAttribute);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.FACET_REFERENCE: {
+ FacetReference facetReference = (FacetReference)theEObject;
+ T result = caseFacetReference(facetReference);
+ if (result == null) result = caseEReference(facetReference);
+ if (result == null) result = caseDerivedTypedElement(facetReference);
+ if (result == null) result = caseEStructuralFeature(facetReference);
+ if (result == null) result = caseFacetElement(facetReference);
+ if (result == null) result = caseETypedElement(facetReference);
+ if (result == null) result = caseDocumentedElement(facetReference);
+ if (result == null) result = caseENamedElement(facetReference);
+ if (result == null) result = caseEModelElement(facetReference);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.FACET_OPERATION: {
+ FacetOperation facetOperation = (FacetOperation)theEObject;
+ T result = caseFacetOperation(facetOperation);
+ if (result == null) result = caseEOperation(facetOperation);
+ if (result == null) result = caseDerivedTypedElement(facetOperation);
+ if (result == null) result = caseFacetElement(facetOperation);
+ if (result == null) result = caseETypedElement(facetOperation);
+ if (result == null) result = caseENamedElement(facetOperation);
+ if (result == null) result = caseDocumentedElement(facetOperation);
+ if (result == null) result = caseEModelElement(facetOperation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.FACET_SET: {
+ FacetSet facetSet = (FacetSet)theEObject;
+ T result = caseFacetSet(facetSet);
+ if (result == null) result = caseEPackage(facetSet);
+ if (result == null) result = caseDocumentedElement(facetSet);
+ if (result == null) result = caseENamedElement(facetSet);
+ if (result == null) result = caseEModelElement(facetSet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.FACET: {
+ Facet facet = (Facet)theEObject;
+ T result = caseFacet(facet);
+ if (result == null) result = caseEClassifier(facet);
+ if (result == null) result = caseDocumentedElement(facet);
+ if (result == null) result = caseENamedElement(facet);
+ if (result == null) result = caseEModelElement(facet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.CATEGORY: {
+ Category category = (Category)theEObject;
+ T result = caseCategory(category);
+ if (result == null) result = caseENamedElement(category);
+ if (result == null) result = caseDocumentedElement(category);
+ if (result == null) result = caseEModelElement(category);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.FACET_ELEMENT: {
+ FacetElement facetElement = (FacetElement)theEObject;
+ T result = caseFacetElement(facetElement);
+ if (result == null) result = caseETypedElement(facetElement);
+ if (result == null) result = caseDocumentedElement(facetElement);
+ if (result == null) result = caseENamedElement(facetElement);
+ if (result == null) result = caseEModelElement(facetElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.DERIVED_TYPED_ELEMENT: {
+ DerivedTypedElement derivedTypedElement = (DerivedTypedElement)theEObject;
+ T result = caseDerivedTypedElement(derivedTypedElement);
+ if (result == null) result = caseFacetElement(derivedTypedElement);
+ if (result == null) result = caseETypedElement(derivedTypedElement);
+ if (result == null) result = caseDocumentedElement(derivedTypedElement);
+ if (result == null) result = caseENamedElement(derivedTypedElement);
+ if (result == null) result = caseEModelElement(derivedTypedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.PARAMETER_VALUE: {
+ ParameterValue parameterValue = (ParameterValue)theEObject;
+ T result = caseParameterValue(parameterValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.DOCUMENTED_ELEMENT: {
+ DocumentedElement documentedElement = (DocumentedElement)theEObject;
+ T result = caseDocumentedElement(documentedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Attribute</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>Facet Attribute</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetAttribute(FacetAttribute object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Reference</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>Facet Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetReference(FacetReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Operation</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>Facet Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetOperation(FacetOperation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Set</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>Facet Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetSet(FacetSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet</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>Facet</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacet(Facet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Category</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>Category</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCategory(Category object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Facet Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetElement(FacetElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Derived Typed Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Derived Typed Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDerivedTypedElement(DerivedTypedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Parameter Value</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>Parameter Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParameterValue(ParameterValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Documented Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Documented Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentedElement(DocumentedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EModel Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EModel Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEModelElement(EModelElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ENamed Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ENamed Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseENamedElement(ENamedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ETyped Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ETyped Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseETypedElement(ETypedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EStructural Feature</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>EStructural Feature</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEStructuralFeature(EStructuralFeature object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EAttribute</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>EAttribute</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAttribute(EAttribute object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EReference</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>EReference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEReference(EReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EOperation</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>EOperation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEOperation(EOperation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EPackage</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>EPackage</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEPackage(EPackage object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EClassifier</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>EClassifier</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEClassifier(EClassifier 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //EFacetSwitch
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/EfacetcatalogFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/EfacetcatalogFactory.java
new file mode 100644
index 00000000000..b87daa428d8
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/EfacetcatalogFactory.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) 2011,2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non-derived facet structural features and save their values.
+ * Nicolas Bros (Mia-Software) - Bug 370110 - Rename efacetcatalog2.ecore
+ * Grégoire Dupé (Mia-Software) - Bug 361817 - [Restructuring] Dynamic load to the facet catalog
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.EfacetcatalogPackage
+ * @generated
+ */
+public interface EfacetcatalogFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EfacetcatalogFactory eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl.EfacetcatalogFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Facet Set Catalog</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet Set Catalog</em>'.
+ * @generated
+ */
+ FacetSetCatalog createFacetSetCatalog();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ EfacetcatalogPackage getEfacetcatalogPackage();
+
+} //EfacetcatalogFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/EfacetcatalogPackage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/EfacetcatalogPackage.java
new file mode 100644
index 00000000000..3502cdfa25d
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/EfacetcatalogPackage.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright (c) 2011,2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non-derived facet structural features and save their values.
+ * Nicolas Bros (Mia-Software) - Bug 370110 - Rename efacetcatalog2.ecore
+ * Grégoire Dupé (Mia-Software) - Bug 361817 - [Restructuring] Dynamic load to the facet catalog
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.facet.util.emf.catalog.CatalogPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.EfacetcatalogFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface EfacetcatalogPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "efacetcatalog"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacetcatalog"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "efacetcatalog"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EfacetcatalogPackage eINSTANCE = org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl.EfacetcatalogPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl.FacetSetCatalogImpl <em>Facet Set Catalog</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl.FacetSetCatalogImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl.EfacetcatalogPackageImpl#getFacetSetCatalog()
+ * @generated
+ */
+ int FACET_SET_CATALOG = 0;
+
+ /**
+ * The feature id for the '<em><b>Installed Entries</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET_CATALOG__INSTALLED_ENTRIES = CatalogPackage.CATALOG__INSTALLED_ENTRIES;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET_CATALOG__NAME = CatalogPackage.CATALOG__NAME;
+
+ /**
+ * The number of structural features of the '<em>Facet Set Catalog</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FACET_SET_CATALOG_FEATURE_COUNT = CatalogPackage.CATALOG_FEATURE_COUNT + 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.FacetSetCatalog <em>Facet Set Catalog</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Set Catalog</em>'.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.FacetSetCatalog
+ * @generated
+ */
+ EClass getFacetSetCatalog();
+
+ /**
+ * 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
+ */
+ EfacetcatalogFactory getEfacetcatalogFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl.FacetSetCatalogImpl <em>Facet Set Catalog</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl.FacetSetCatalogImpl
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl.EfacetcatalogPackageImpl#getFacetSetCatalog()
+ * @generated
+ */
+ EClass FACET_SET_CATALOG = eINSTANCE.getFacetSetCatalog();
+
+ }
+
+} //EfacetcatalogPackage
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/FacetSetCatalog.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/FacetSetCatalog.java
new file mode 100644
index 00000000000..d5a9d4b5206
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/FacetSetCatalog.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2011,2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non-derived facet structural features and save their values.
+ * Nicolas Bros (Mia-Software) - Bug 370110 - Rename efacetcatalog2.ecore
+ * Grégoire Dupé (Mia-Software) - Bug 361817 - [Restructuring] Dynamic load to the facet catalog
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+
+import org.eclipse.emf.facet.util.emf.catalog.Catalog;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Set Catalog</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A FacetSetCatalog aims at referencing EMF Facet FacetSet.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.EfacetcatalogPackage#getFacetSetCatalog()
+ * @model
+ * @generated
+ */
+public interface FacetSetCatalog extends Catalog {
+
+} // FacetSetCatalog
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/EfacetcatalogFactoryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/EfacetcatalogFactoryImpl.java
new file mode 100644
index 00000000000..8a0ac0d948e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/EfacetcatalogFactoryImpl.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2011,2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non-derived facet structural features and save their values.
+ * Nicolas Bros (Mia-Software) - Bug 370110 - Rename efacetcatalog2.ecore
+ * Grégoire Dupé (Mia-Software) - Bug 361817 - [Restructuring] Dynamic load to the facet catalog
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EfacetcatalogFactoryImpl extends EFactoryImpl implements EfacetcatalogFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EfacetcatalogFactory init() {
+ try {
+ EfacetcatalogFactory theEfacetcatalogFactory = (EfacetcatalogFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacetcatalog"); //$NON-NLS-1$
+ if (theEfacetcatalogFactory != null) {
+ return theEfacetcatalogFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EfacetcatalogFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EfacetcatalogFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case EfacetcatalogPackage.FACET_SET_CATALOG: return createFacetSetCatalog();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FacetSetCatalog createFacetSetCatalog() {
+ FacetSetCatalogImpl facetSetCatalog = new FacetSetCatalogImpl();
+ return facetSetCatalog;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EfacetcatalogPackage getEfacetcatalogPackage() {
+ return (EfacetcatalogPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static EfacetcatalogPackage getPackage() {
+ return EfacetcatalogPackage.eINSTANCE;
+ }
+
+} //EfacetcatalogFactoryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/EfacetcatalogPackageImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/EfacetcatalogPackageImpl.java
new file mode 100644
index 00000000000..8a5f02bec13
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/EfacetcatalogPackageImpl.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright (c) 2011,2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non-derived facet structural features and save their values.
+ * Nicolas Bros (Mia-Software) - Bug 370110 - Rename efacetcatalog2.ecore
+ * Grégoire Dupé (Mia-Software) - Bug 361817 - [Restructuring] Dynamic load to the facet catalog
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.EFacetPackage;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.EfacetcatalogFactory;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.EfacetcatalogPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.FacetSetCatalog;
+
+import org.eclipse.emf.facet.util.emf.catalog.CatalogPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EfacetcatalogPackageImpl extends EPackageImpl implements EfacetcatalogPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass facetSetCatalogEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.EfacetcatalogPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private EfacetcatalogPackageImpl() {
+ super(eNS_URI, EfacetcatalogFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link EfacetcatalogPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static EfacetcatalogPackage init() {
+ if (isInited) return (EfacetcatalogPackage)EPackage.Registry.INSTANCE.getEPackage(EfacetcatalogPackage.eNS_URI);
+
+ // Obtain or create and register package
+ EfacetcatalogPackageImpl theEfacetcatalogPackage = (EfacetcatalogPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EfacetcatalogPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EfacetcatalogPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ CatalogPackage.eINSTANCE.eClass();
+ EFacetPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theEfacetcatalogPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theEfacetcatalogPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theEfacetcatalogPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(EfacetcatalogPackage.eNS_URI, theEfacetcatalogPackage);
+ return theEfacetcatalogPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFacetSetCatalog() {
+ return facetSetCatalogEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EfacetcatalogFactory getEfacetcatalogFactory() {
+ return (EfacetcatalogFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ facetSetCatalogEClass = createEClass(FACET_SET_CATALOG);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ CatalogPackage theCatalogPackage = (CatalogPackage)EPackage.Registry.INSTANCE.getEPackage(CatalogPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ facetSetCatalogEClass.getESuperTypes().add(theCatalogPackage.getCatalog());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(facetSetCatalogEClass, FacetSetCatalog.class, "FacetSetCatalog", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //EfacetcatalogPackageImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/FacetSetCatalogImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/FacetSetCatalogImpl.java
new file mode 100644
index 00000000000..a5bf3e8164e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/impl/FacetSetCatalogImpl.java
@@ -0,0 +1,214 @@
+/**
+ * Copyright (c) 2011,2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non-derived facet structural features and save their values.
+ * Nicolas Bros (Mia-Software) - Bug 370110 - Rename efacetcatalog2.ecore
+ * Grégoire Dupé (Mia-Software) - Bug 361817 - [Restructuring] Dynamic load to the facet catalog
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.EfacetcatalogPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.FacetSetCatalog;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Set Catalog</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl.FacetSetCatalogImpl#getInstalledEntries <em>Installed Entries</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.impl.FacetSetCatalogImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FacetSetCatalogImpl extends EObjectImpl implements FacetSetCatalog {
+ /**
+ * The cached value of the '{@link #getInstalledEntries() <em>Installed Entries</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInstalledEntries()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> installedEntries;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FacetSetCatalogImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EfacetcatalogPackage.Literals.FACET_SET_CATALOG;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getInstalledEntries() {
+ if (installedEntries == null) {
+ installedEntries = new EObjectResolvingEList<EObject>(EObject.class, this, EfacetcatalogPackage.FACET_SET_CATALOG__INSTALLED_ENTRIES);
+ }
+ return installedEntries;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(final String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EfacetcatalogPackage.FACET_SET_CATALOG__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EfacetcatalogPackage.FACET_SET_CATALOG__INSTALLED_ENTRIES:
+ return getInstalledEntries();
+ case EfacetcatalogPackage.FACET_SET_CATALOG__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EfacetcatalogPackage.FACET_SET_CATALOG__INSTALLED_ENTRIES:
+ getInstalledEntries().clear();
+ getInstalledEntries().addAll((Collection<? extends EObject>)newValue);
+ return;
+ case EfacetcatalogPackage.FACET_SET_CATALOG__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EfacetcatalogPackage.FACET_SET_CATALOG__INSTALLED_ENTRIES:
+ getInstalledEntries().clear();
+ return;
+ case EfacetcatalogPackage.FACET_SET_CATALOG__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EfacetcatalogPackage.FACET_SET_CATALOG__INSTALLED_ENTRIES:
+ return installedEntries != null && !installedEntries.isEmpty();
+ case EfacetcatalogPackage.FACET_SET_CATALOG__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FacetSetCatalogImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/util/EfacetcatalogAdapterFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/util/EfacetcatalogAdapterFactory.java
new file mode 100644
index 00000000000..8a5afdc977c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/util/EfacetcatalogAdapterFactory.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright (c) 2011,2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non-derived facet structural features and save their values.
+ * Nicolas Bros (Mia-Software) - Bug 370110 - Rename efacetcatalog2.ecore
+ * Grégoire Dupé (Mia-Software) - Bug 361817 - [Restructuring] Dynamic load to the facet catalog
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.*;
+
+import org.eclipse.emf.facet.util.emf.catalog.Catalog;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.EfacetcatalogPackage
+ * @generated
+ */
+public class EfacetcatalogAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EfacetcatalogPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EfacetcatalogAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = EfacetcatalogPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EfacetcatalogSwitch<Adapter> modelSwitch =
+ new EfacetcatalogSwitch<Adapter>() {
+ @Override
+ public Adapter caseFacetSetCatalog(FacetSetCatalog object) {
+ return createFacetSetCatalogAdapter();
+ }
+ @Override
+ public Adapter caseCatalog(Catalog object) {
+ return createCatalogAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.FacetSetCatalog <em>Facet Set Catalog</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.FacetSetCatalog
+ * @generated
+ */
+ public Adapter createFacetSetCatalogAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.util.emf.catalog.Catalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.util.emf.catalog.Catalog
+ * @generated
+ */
+ public Adapter createCatalogAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //EfacetcatalogAdapterFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/util/EfacetcatalogSwitch.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/util/EfacetcatalogSwitch.java
new file mode 100644
index 00000000000..d305496b80d
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.metamodel/src/org/eclipse/emf/facet/efacet/metamodel/v0_2_0/efacetcatalog/util/EfacetcatalogSwitch.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2011,2012 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non-derived facet structural features and save their values.
+ * Nicolas Bros (Mia-Software) - Bug 370110 - Rename efacetcatalog2.ecore
+ * Grégoire Dupé (Mia-Software) - Bug 361817 - [Restructuring] Dynamic load to the facet catalog
+ *
+ */
+package org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.*;
+
+import org.eclipse.emf.facet.util.emf.catalog.Catalog;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacetcatalog.EfacetcatalogPackage
+ * @generated
+ */
+public class EfacetcatalogSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EfacetcatalogPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EfacetcatalogSwitch() {
+ if (modelPackage == null) {
+ modelPackage = EfacetcatalogPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 T 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 T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), 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 T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case EfacetcatalogPackage.FACET_SET_CATALOG: {
+ FacetSetCatalog facetSetCatalog = (FacetSetCatalog)theEObject;
+ T result = caseFacetSetCatalog(facetSetCatalog);
+ if (result == null) result = caseCatalog(facetSetCatalog);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Set Catalog</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>Facet Set Catalog</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetSetCatalog(FacetSetCatalog object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Catalog</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>Catalog</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCatalog(Catalog 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //EfacetcatalogSwitch
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.checkstyle b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.checkstyle
new file mode 100644
index 00000000000..364388738a3
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.checkstyle
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2011 Mia-Software.
+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:
+ Nicolas Guyomar (Mia-Software) - initial API and implementation
+-->
+<fileset-config file-format-version="1.2.0" simple-config="true">
+ <local-check-config name="EmfFacet" location="../org.eclipse.emf.facet.archi.tech.rules/checkstyle/EmfFacet.checkstyle" type="project" description=""/>
+ <fileset name="all" enabled="true" check-config-name="EmfFacet" local="true">
+ <file-match-pattern match-pattern="." include-pattern="true"/>
+ <file-match-pattern match-pattern="Messages.java" include-pattern="false"/>
+ </fileset>
+ <filter name="FilesFromPackage" enabled="true">
+ <filter-data value="src/org/eclipse/emf/facet/efacet"/>
+ </filter>
+</fileset-config>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.classpath b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.classpath
new file mode 100644
index 00000000000..45f024e850e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.project b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.project
new file mode 100644
index 00000000000..b5ccfe9db75
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.emf.facet.efacet</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.settings/org.eclipse.core.resources.prefs b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..7a5d03c68de
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,14 @@
+###########################################################################
+# Copyright (c) 2011 Mia-Software.
+#
+# 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:
+# Nicolas Guyomar (Mia-Software)
+###########################################################################
+#Fri Jan 07 10:54:39 CET 2011
+eclipse.preferences.version=1
+encoding//model/efacet.ecorediag=UTF-8
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.settings/org.eclipse.jdt.core.prefs b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f1b777daa7e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,74 @@
+#Thu Jan 13 10:03:26 CET 2011
+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.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..4f4b49527c7
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.efacet;singleton:=true
+Bundle-Version: 0.4.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %Bundle-Vendor
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.emf.facet.efacet.plugin.Activator
+Bundle-Name: %Bundle-Name
+Export-Package: org.eclipse.emf.facet.efacet,
+ org.eclipse.emf.facet.efacet.impl;x-friends:="org.eclipse.emf.facet.query.java",
+ org.eclipse.emf.facet.efacet.util;x-friends:="org.eclipse.emf.facet.query.java.edit"
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/OSGI-INF/l10n/bundle.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 00000000000..ea8f255193b
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,14 @@
+############################################################################
+# Copyright (c) 2011 Mia-Software.
+#
+# 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:
+# Gregoire Dupe (Mia-Software) - design
+# Nicolas Guyomar (Mia-Software) - implementation
+############################################################################
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = EMF Facet Model (Deprecated) (Incubation) \ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/about.html b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/about.html
new file mode 100644
index 00000000000..d1714826b27
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>January 4, 2011</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/build.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/build.properties
new file mode 100644
index 00000000000..45e08e997b3
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/build.properties
@@ -0,0 +1,22 @@
+############################################################################
+# Copyright (c) 2011 Mia-Software.
+#
+# 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:
+# Gregoire Dupe (Mia-Software) - design
+# Nicolas Guyomar (Mia-Software) - implementation
+############################################################################
+bin.includes = .,\
+ model/,\
+ plugin.xml,\
+ META-INF/,\
+ OSGI-INF/,\
+ about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.ecore b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.ecore
new file mode 100644
index 00000000000..2816e8cf6b5
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.ecore
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="efacet"
+ nsURI="http://www.eclipse.org/emf/facet/efacet/0.1.incubation" nsPrefix="efacet">
+ <eClassifiers xsi:type="ecore:EClass" name="FacetAttribute" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EAttribute #//QueryFacetElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A facetAttribute is a virtual attribute added to all the eObjets which are conform to the facet owning the &quot;facetAttribute&quot;."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FacetReference" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EReference #//QueryFacetElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A &quot;facetReference&quot; is a virtual reference added to all the eObjets which are conform to the facet owning the &quot;facetReference&quot;."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FacetOperation" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EOperation #//QueryFacetElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A &quot;facetOperation&quot; is a virtual operation added to all the eObjets which are conform to the facet owning the facetOperation&quot;."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FacetSet" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EPackage">
+ <eAnnotations source="GenModel">
+ <details key="documentation" value="A &quot;FacetSet&quot; is the root element of a facet model. It contains a list of &quot;Facet&quot;."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="facets" upperBound="-1"
+ eType="#//Facet" containment="true" eOpposite="#//Facet/facetSet"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="categories" upperBound="-1"
+ eType="#//Category" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extendedEPackage" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Facet" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EClassifier">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="validationDelegates" value="( self.query.scope = self.facet.extendedMetaClass ) and ( self.query.name = self.name )"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A facet is a virtual sub type of an existing EClass. A Facet cannot be instantiated."/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="validationDelegates" value="self.conformanceQuery.scope = self.extendedMetaClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="facetSet" eType="#//FacetSet"
+ eOpposite="#//FacetSet/facets"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="conformanceQuery" eType="#//Query"
+ containment="true">
+ <eAnnotations source="GenModel">
+ <details key="documentation" value="The &quot;conformanceQuery&quot; references points to the ModelQuery class. The model queries pointed to by the &quot;conformanceQuery&quot; reference must return a Boolean. Those queries are used to specify how to decide whether an instance conforms to a facet. If the &quot;conditionQuery&quot; is empty then all the instances of the class referred to by the facet instance through the eSuperType reference conform to this facet. "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extendedMetaclass" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass">
+ <eAnnotations source="GenModel">
+ <details key="documentation" value="The &quot;extendedMetaclass&quot; reference references the virtually subtyped EClass."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="facetElements" upperBound="-1"
+ eType="#//FacetElement" containment="true" eOpposite="#//FacetElement/facet">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This composite reference contains virtual attributes, references and operations."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Query" abstract="true" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A query is the abstract representation of the concept query. This class has to be sub-classed for each existing query language (Java, OCL,)"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="scope" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The query's scope defines the type of model elements a query can be applied on."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hasSideEffect" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This attribute has to be true if the query modify the model."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="canBeCached" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The attribute &quot;canBeCached&quot; has to be true if calling a query on the same model element will always return the same result."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
+ eType="#//Parameter" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QueryResult">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class represents the result of a query execution."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="#//Query">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The reference &quot;query&quot; references the executed query."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="scope" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The scope references the model elements on which the query has been applied."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameterValues" upperBound="-1"
+ eType="#//ParameterValue" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is the list of the values given as parameters for the query execution."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is the result returned by the query execution."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="exception" eType="#//JavaException"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Category"/>
+ <eClassifiers xsi:type="ecore:EClass" name="FacetElement" abstract="true" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A facet element is owned by a facet. It can be a facet reference, a facet attribute or a facet operation."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="categories" upperBound="-1"
+ eType="#//Category"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="facet" lowerBound="1" eType="#//Facet"
+ eOpposite="#//Facet/facetElements"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="override" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QueryFacetElement" abstract="true" eSuperTypes="#//FacetElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value=" A query facet element is a virtual structural feature which value is computed using a query."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="query" eType="#//Query"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OppositeReference" eSuperTypes="#//FacetElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is a virtual opposite reference of an existing reference."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fOpposite" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QuerySet">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="validationDelegates" value="not(self.queries->exists(q1|self.queries->exists(q2|q2&amp;lt;>q1 and q2.name = q1.name and q2.scope=q1.scope and q2.parameters = q1.parameters) and self.queries->forAll(q|q.scope = null)"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="queries" upperBound="-1"
+ eType="#//Query" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Literal" eSuperTypes="#//Query">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value=" A query return a static literal."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The literal value is stored in a string."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TypedElementRef" eSuperTypes="#//Query">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This query can result in content of another attribute, reference or operation."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typedElement" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is the declaration of a query parameter."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ParameterValue">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is the value given as a parameter to execute a query."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
+ eType="#//Parameter"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QueryContext">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is a class used to evaluate a query on every given model element."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selectedModelElements"
+ upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="selectedModels" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EResource"
+ transient="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="JavaException" instanceClassName="java.lang.Exception"/>
+</ecore:EPackage>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.ecorediag b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.ecorediag
new file mode 100644
index 00000000000..da036644a6c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.ecorediag
@@ -0,0 +1,624 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_IkrKYRpEEeCJ48ST48m98A" type="EcoreTools" name="efacet.ecorediag" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_ImTiEBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_IosHsBpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Io_psBpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Io_psRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Io_pshpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Io_psxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Io_ptBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Io_ptRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Io_pthpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Io_ptxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_ImTiERpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//FacetAttribute"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ImTiEhpEEeCJ48ST48m98A" x="145" y="295"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ip4agBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ip4agxpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ip4ahBpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ip4ahRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ip4ahhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ip4ahxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ip4aiBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ip4aiRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ip4aihpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ip4aixpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ip4agRpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//FacetReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ip4aghpEEeCJ48ST48m98A" x="270" y="295"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ip4ajBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ip4ajxpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ip4akBpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ip4akRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ip4akhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ip4akxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ip4alBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ip4alRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ip4alhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ip4alxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ip4ajRpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//FacetOperation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ip4ajhpEEeCJ48ST48m98A" x="395" y="295"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ip4amBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ip4amxpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ip4anBpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ip4anRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ip4anhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ip4anxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ip4aoBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ip4aoRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ip4aohpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ip4aoxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ip4amRpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//FacetSet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ip4amhpEEeCJ48ST48m98A" x="-5" y="-35"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ip4apBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ip4apxpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ip4aqBpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ip4aqRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ip4aqhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ip4aqxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ip4arBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ip4arRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ip4arhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ip4arxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ip4apRpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//Facet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ip4aphpEEeCJ48ST48m98A" x="-10" y="90"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IqCLgBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_IqCLgxpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_IqCLhBpEEeCJ48ST48m98A" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_Ivi9ohpEEeCJ48ST48m98A" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet.ecore#//Query/hasSideEffect"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ivi9oxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9pBpEEeCJ48ST48m98A" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet.ecore#//Query/canBeCached"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ivi9pRpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IqCLhRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IqCLhhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IqCLhxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IqCLiBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IqCLiRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IqCLihpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IqCLixpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_IqCLgRpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//Query"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IqCLghpEEeCJ48ST48m98A" x="580" y="170"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9phpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ivi9qRpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9qhpEEeCJ48ST48m98A" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_Ivi9shpEEeCJ48ST48m98A" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet.ecore#//QueryResult/result"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ivi9sxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivi9qxpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivi9rBpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivi9rRpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9rhpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivi9rxpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivi9sBpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivi9sRpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ivi9pxpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//QueryResult"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ivi9qBpEEeCJ48ST48m98A" x="940" y="355"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9tBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ivi9txpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9uBpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivi9uRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivi9uhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivi9uxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9vBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivi9vRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivi9vhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivi9vxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ivi9tRpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//Category"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ivi9thpEEeCJ48ST48m98A" x="195" y="-30"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9wBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ivi9wxpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9xBpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivi9xRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivi9xhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivi9xxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9yBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivi9yRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivi9yhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivi9yxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ivi9wRpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//FacetElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ivi9whpEEeCJ48ST48m98A" x="295" y="90"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivi9zBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ivi9zxpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ivi90BpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivi90RpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivi90hpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivi90xpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivi91BpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivi91RpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivi91hpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivi91xpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ivi9zRpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//QueryFacetElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ivi9zhpEEeCJ48ST48m98A" x="320" y="180"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivi92BpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ivi92xpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_IvsuoBpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IvsuoRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IvsuohpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IvsuoxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IvsupBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IvsupRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IvsuphpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IvsupxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ivi92RpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//OppositeReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ivi92hpEEeCJ48ST48m98A" x="135" y="185"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IvsuqBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_IvsuqxpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_IvsurBpEEeCJ48ST48m98A" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_IvsutBpEEeCJ48ST48m98A" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet.ecore#//QuerySet/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IvsutRpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IvsurRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IvsurhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IvsurxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IvsusBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IvsusRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IvsushpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IvsusxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_IvsuqRpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//QuerySet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IvsuqhpEEeCJ48ST48m98A" x="610" y="10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IvsuthpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_IvsuuRpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_IvsuuhpEEeCJ48ST48m98A" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_IvsuwhpEEeCJ48ST48m98A" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet.ecore#//Literal/value"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IvsuwxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IvsuuxpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IvsuvBpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IvsuvRpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IvsuvhpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IvsuvxpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IvsuwBpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IvsuwRpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_IvsutxpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//Literal"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IvsuuBpEEeCJ48ST48m98A" x="770" y="355"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IvsuxBpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_IvsuxxpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_IvsuyBpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IvsuyRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IvsuyhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IvsuyxpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IvsuzBpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_IvsuzRpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IvsuzhpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IvsuzxpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_IvsuxRpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//TypedElementRef"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IvsuxhpEEeCJ48ST48m98A" x="610" y="360"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivsu0BpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ivsu0xpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ivsu1BpEEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivsu1RpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivsu1hpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivsu1xpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivsu2BpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivsu2RpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivsu2hpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivsu2xpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ivsu0RpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//Parameter"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ivsu0hpEEeCJ48ST48m98A" x="880" y="150"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivsu3BpEEeCJ48ST48m98A" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ivsu3xpEEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ivsu4BpEEeCJ48ST48m98A" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_Ivsu6BpEEeCJ48ST48m98A" type="2001">
+ <element xmi:type="ecore:EAttribute" href="efacet.ecore#//ParameterValue/value"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ivsu6RpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivsu4RpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivsu4hpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivsu4xpEEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ivsu5BpEEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ivsu5RpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ivsu5hpEEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ivsu5xpEEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ivsu3RpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="efacet.ecore#//ParameterValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ivsu3hpEEeCJ48ST48m98A" x="1210" y="350"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kPKa0BpMEeCJ48ST48m98A" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kPwQsBpMEeCJ48ST48m98A" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kPwQsRpMEeCJ48ST48m98A" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_kPTkwBpMEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_kPTkwRpMEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_kPTkwhpMEeCJ48ST48m98A" collapsed="true"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kPTkwxpMEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kPTkxBpMEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kPTkxRpMEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_kPTkxhpMEeCJ48ST48m98A" collapsed="true"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kPTkxxpMEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kPTkyBpMEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_kPKa0RpMEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kPKa0hpMEeCJ48ST48m98A" x="515" y="465"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_o-OVgBpNEeCJ48ST48m98A" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o-hQcBpNEeCJ48ST48m98A" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o-hQcRpNEeCJ48ST48m98A" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_o-YGgBpNEeCJ48ST48m98A" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_o-YGgRpNEeCJ48ST48m98A" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_o-YGghpNEeCJ48ST48m98A" collapsed="true"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_o-YGgxpNEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_o-YGhBpNEeCJ48ST48m98A"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_o-YGhRpNEeCJ48ST48m98A" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_o-YGhhpNEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_o-YGhxpNEeCJ48ST48m98A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_o-YGiBpNEeCJ48ST48m98A"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_o-OVgRpNEeCJ48ST48m98A" fontColor="4210752" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ETypedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o-OVghpNEeCJ48ST48m98A" x="260" y="-205" width="159"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_IkrKYhpEEeCJ48ST48m98A"/>
+ <element xmi:type="ecore:EPackage" href="efacet.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_IwJakBpEEeCJ48ST48m98A" type="3003" source="_ImTiEBpEEeCJ48ST48m98A" target="_Ivi9zBpEEeCJ48ST48m98A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwJakRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwJakhpEEeCJ48ST48m98A"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwJakxpEEeCJ48ST48m98A" points="[8, 0, -150, 75]$[8, -35, -150, 40]$[190, -35, 32, 40]$[190, -75, 32, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVSBpEEeCJ48ST48m98A" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVSRpEEeCJ48ST48m98A" id="(0.24812030075187969,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwJalBpEEeCJ48ST48m98A" type="3003" source="_Ip4agBpEEeCJ48ST48m98A" target="_Ivi9zBpEEeCJ48ST48m98A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwJalRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwJalhpEEeCJ48ST48m98A"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwJalxpEEeCJ48ST48m98A" points="[33, 0, -29, 75]$[33, -35, -29, 40]$[61, -35, -1, 40]$[61, -75, -1, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVUhpEEeCJ48ST48m98A" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVUxpEEeCJ48ST48m98A" id="(0.49624060150375937,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwJamBpEEeCJ48ST48m98A" type="3003" source="_Ip4ajBpEEeCJ48ST48m98A" target="_Ivi9zBpEEeCJ48ST48m98A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwJamRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwJamhpEEeCJ48ST48m98A"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwJamxpEEeCJ48ST48m98A" points="[35, 0, 64, 75]$[35, -35, 64, 40]$[-63, -35, -34, 40]$[-63, -75, -34, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVOBpEEeCJ48ST48m98A" id="(0.4954128440366973,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVORpEEeCJ48ST48m98A" id="(0.7443609022556391,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwJanBpEEeCJ48ST48m98A" type="3002" source="_Ip4amBpEEeCJ48ST48m98A" target="_Ip4apBpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwJaoBpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwJaoRpEEeCJ48ST48m98A" x="1" y="-22"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwmGgBpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGgRpEEeCJ48ST48m98A" x="1" y="14"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwJanRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwJanhpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//FacetSet/facets"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwJanxpEEeCJ48ST48m98A" points="[5, 40, -17, -125]$[5, 125, -17, -40]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9foEYhpKEeCJ48ST48m98A" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9foEYxpKEeCJ48ST48m98A" id="(0.7745098039215687,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwmGghpEEeCJ48ST48m98A" type="3002" source="_Ip4amBpEEeCJ48ST48m98A" target="_Ivi9tBpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwmGhhpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGhxpEEeCJ48ST48m98A" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwmGiBpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGiRpEEeCJ48ST48m98A" x="1" y="9"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwmGgxpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwmGhBpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//FacetSet/categories"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwmGhRpEEeCJ48ST48m98A" points="[26, 19, -149, -26]$[126, 19, -49, -26]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVVhpEEeCJ48ST48m98A" id="(0.7450980392156863,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JL3GMBpEEeCJ48ST48m98A" id="(0.49019607843137253,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwmGihpEEeCJ48ST48m98A" type="3002" source="_Ip4apBpEEeCJ48ST48m98A" target="_Ip4amBpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwmGjhpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGjxpEEeCJ48ST48m98A" x="-5" y="-26"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwmGkBpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGkRpEEeCJ48ST48m98A" x="-5" y="16"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwmGixpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwmGjBpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//Facet/facetSet"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwmGjRpEEeCJ48ST48m98A" points="[-17, -40, 5, 125]$[-17, -125, 5, 40]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVMhpEEeCJ48ST48m98A" id="(0.7745098039215687,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVMxpEEeCJ48ST48m98A" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwmGkhpEEeCJ48ST48m98A" type="3002" source="_Ip4apBpEEeCJ48ST48m98A" target="_IqCLgBpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwmGlhpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGlxpEEeCJ48ST48m98A" x="112" y="-16"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwmGmBpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGmRpEEeCJ48ST48m98A" x="95" y="21"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwmGkxpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwmGlBpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//Facet/conformanceQuery"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwmGlRpEEeCJ48ST48m98A" points="[-12, 40, -548, -104]$[-12, 304, -548, 160]$[476, 304, -60, 160]$[476, 132, -60, -12]$[516, 132, -20, -12]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVNBpEEeCJ48ST48m98A" id="(0.7450980392156863,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVNRpEEeCJ48ST48m98A" id="(0.1206896551724138,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwmGmhpEEeCJ48ST48m98A" type="3002" source="_Ip4apBpEEeCJ48ST48m98A" target="_Ivi9wBpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwmGnhpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGnxpEEeCJ48ST48m98A" x="-18" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwmGoBpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGoRpEEeCJ48ST48m98A" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwmGmxpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwmGnBpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//Facet/facetElements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwmGnRpEEeCJ48ST48m98A" points="[50, 30, -255, -10]$[255, 30, -50, -10]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_122NwhpNEeCJ48ST48m98A" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_122NwxpNEeCJ48ST48m98A" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwmGohpEEeCJ48ST48m98A" type="3002" source="_IqCLgBpEEeCJ48ST48m98A" target="_Ivsu0BpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwmGphpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGpxpEEeCJ48ST48m98A" x="-18" y="-9"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwmGqBpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGqRpEEeCJ48ST48m98A" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwmGoxpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwmGpBpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//Query/parameters"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwmGpRpEEeCJ48ST48m98A" points="[86, 6, -161, -14]$[214, 6, -33, -14]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVUBpEEeCJ48ST48m98A" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVURpEEeCJ48ST48m98A" id="(0.3333333333333333,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwmGqhpEEeCJ48ST48m98A" type="3002" source="_Ivi9phpEEeCJ48ST48m98A" target="_IqCLgBpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwmGrhpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGrxpEEeCJ48ST48m98A" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwmGsBpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGsRpEEeCJ48ST48m98A" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwmGqxpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwmGrBpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//QueryResult/query"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwmGrRpEEeCJ48ST48m98A" points="[8, 0, 272, 121]$[8, -130, 272, -9]$[-235, -130, 29, -9]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVRhpEEeCJ48ST48m98A" id="(0.3287671232876712,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVRxpEEeCJ48ST48m98A" id="(0.8333333333333334,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwmGshpEEeCJ48ST48m98A" type="3002" source="_Ivi9phpEEeCJ48ST48m98A" target="_Ivsu3BpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwmGthpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGtxpEEeCJ48ST48m98A" x="-32" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwmGuBpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwmGuRpEEeCJ48ST48m98A" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwmGsxpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwmGtBpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//QueryResult/parameterValues"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwmGtRpEEeCJ48ST48m98A" points="[49, 25, -197, -17]$[175, 25, -71, -17]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVRBpEEeCJ48ST48m98A" id="(0.6643835616438356,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVRRpEEeCJ48ST48m98A" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwvQcBpEEeCJ48ST48m98A" type="3002" source="_Ivi9wBpEEeCJ48ST48m98A" target="_Ivi9tBpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwvQdBpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwvQdRpEEeCJ48ST48m98A" x="1" y="-35"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwvQdhpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwvQdxpEEeCJ48ST48m98A" x="-16" y="-19"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwvQcRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwvQchpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//FacetElement/categories"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwvQcxpEEeCJ48ST48m98A" points="[-95, -6, 76, 91]$[-150, -6, 21, 91]$[-150, -97, 21, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVQhpEEeCJ48ST48m98A" id="(0.9509803921568627,0.42857142857142855)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVQxpEEeCJ48ST48m98A" id="(0.24509803921568626,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwvQeBpEEeCJ48ST48m98A" type="3002" source="_Ivi9wBpEEeCJ48ST48m98A" target="_Ip4apBpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwvQfBpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwvQfRpEEeCJ48ST48m98A" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwvQfhpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwvQfxpEEeCJ48ST48m98A" x="3" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwvQeRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwvQehpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//FacetElement/facet"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwvQexpEEeCJ48ST48m98A" points="[-50, -10, 255, 30]$[-255, -10, 50, 30]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVQBpEEeCJ48ST48m98A" id="(0.5,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVQRpEEeCJ48ST48m98A" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwvQgBpEEeCJ48ST48m98A" type="3002" source="_Ivi9zBpEEeCJ48ST48m98A" target="_IqCLgBpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwvQhBpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwvQhRpEEeCJ48ST48m98A" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwvQhhpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwvQhxpEEeCJ48ST48m98A" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwvQgRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwvQghpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//QueryFacetElement/query"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwvQgxpEEeCJ48ST48m98A" points="[46, 11, -168, -42]$[172, 11, -42, -42]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVTBpEEeCJ48ST48m98A" id="(0.6616541353383458,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVTRpEEeCJ48ST48m98A" id="(0.2471264367816092,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwvQiBpEEeCJ48ST48m98A" type="3003" source="_Ivi9zBpEEeCJ48ST48m98A" target="_Ivi9wBpEEeCJ48ST48m98A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwvQiRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwvQihpEEeCJ48ST48m98A"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwvQixpEEeCJ48ST48m98A" points="[51, 0, 106, 50]$[51, -15, 106, 35]$[-89, -15, -34, 35]$[-89, -50, -34, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVShpEEeCJ48ST48m98A" id="(0.3308270676691729,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVSxpEEeCJ48ST48m98A" id="(0.7450980392156863,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwvQjBpEEeCJ48ST48m98A" type="3003" source="_Ivi92BpEEeCJ48ST48m98A" target="_Ivi9wBpEEeCJ48ST48m98A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwvQjRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwvQjhpEEeCJ48ST48m98A"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwvQjxpEEeCJ48ST48m98A" points="[-30, 0, -91, 55]$[-30, -20, -91, 35]$[77, -20, 16, 35]$[77, -55, 16, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVOhpEEeCJ48ST48m98A" id="(0.49612403100775193,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVOxpEEeCJ48ST48m98A" id="(0.24509803921568626,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwvQkBpEEeCJ48ST48m98A" type="3002" source="_IvsuqBpEEeCJ48ST48m98A" target="_IqCLgBpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwvQlBpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwvQlRpEEeCJ48ST48m98A" x="-9" y="24"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwvQlhpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwvQlxpEEeCJ48ST48m98A" x="5" y="17"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwvQkRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwvQkhpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//QuerySet/queries"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwvQkxpEEeCJ48ST48m98A" points="[-5, 47, 19, -192]$[-5, 160, 19, -79]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVNhpEEeCJ48ST48m98A" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVNxpEEeCJ48ST48m98A" id="(0.3735632183908046,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwvQmBpEEeCJ48ST48m98A" type="3003" source="_IvsuthpEEeCJ48ST48m98A" target="_IqCLgBpEEeCJ48ST48m98A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwvQmRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwvQmhpEEeCJ48ST48m98A"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwvQmxpEEeCJ48ST48m98A" points="[0, 0, 161, 122]$[0, -55, 161, 67]$[-133, -55, 28, 67]$[-133, -122, 28, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVPhpEEeCJ48ST48m98A" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVPxpEEeCJ48ST48m98A" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwvQnBpEEeCJ48ST48m98A" type="3003" source="_IvsuxBpEEeCJ48ST48m98A" target="_IqCLgBpEEeCJ48ST48m98A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwvQnRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwvQnhpEEeCJ48ST48m98A"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwvQnxpEEeCJ48ST48m98A" points="[0, 0, -25, 127]$[0, -60, -25, 67]$[25, -60, 0, 67]$[25, -127, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVVBpEEeCJ48ST48m98A" id="(0.49645390070921985,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVVRpEEeCJ48ST48m98A" id="(0.6666666666666666,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_IwvQoBpEEeCJ48ST48m98A" type="3002" source="_Ivsu3BpEEeCJ48ST48m98A" target="_Ivsu0BpEEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_IwvQpBpEEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwvQpRpEEeCJ48ST48m98A" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_IwvQphpEEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IwvQpxpEEeCJ48ST48m98A" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_IwvQoRpEEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IwvQohpEEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//ParameterValue/parameter"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IwvQoxpEEeCJ48ST48m98A" points="[0, 0, 335, 160]$[0, -185, 335, -25]$[-301, -185, 34, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVPBpEEeCJ48ST48m98A" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JLtVPRpEEeCJ48ST48m98A" id="(0.6666666666666666,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_kPmfwBpMEeCJ48ST48m98A" type="3002" source="_Ip4apBpEEeCJ48ST48m98A" target="_kPKa0BpMEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_kPmfxBpMEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kPmfxRpMEeCJ48ST48m98A" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kPmfxhpMEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kPmfxxpMEeCJ48ST48m98A" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_kPmfwRpMEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kPmfwhpMEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//Facet/extendedMetaclass"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kPmfwxpMEeCJ48ST48m98A" points="[-26, 20, -551, -363]$[-26, 379, -551, -4]$[475, 379, -50, -4]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_kPmfyBpMEeCJ48ST48m98A" type="3002" source="_IqCLgBpEEeCJ48ST48m98A" target="_kPKa0BpMEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_kPmfzBpMEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kPmfzRpMEeCJ48ST48m98A" x="-5" y="-18"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kPmfzhpMEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kPmfzxpMEeCJ48ST48m98A" x="15" y="-18"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_kPmfyRpMEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kPmfyhpMEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//Query/scope"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kPmfyxpMEeCJ48ST48m98A" points="[-73, 40, 28, -244]$[-73, 256, 28, -28]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_o-YGlRpNEeCJ48ST48m98A" type="3002" source="_Ivi9wBpEEeCJ48ST48m98A" target="_o-OVgBpNEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_o-YGmRpNEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_o-YGmhpNEeCJ48ST48m98A" x="-1" y="30"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_o-YGmxpNEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_o-YGnBpNEeCJ48ST48m98A" x="19" y="18"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_o-YGlhpNEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_o-YGlxpNEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//FacetElement/override"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_o-YGmBpNEeCJ48ST48m98A" points="[-31, -20, -28, 177]$[-31, -169, -28, 28]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_o-YGnRpNEeCJ48ST48m98A" type="3003" source="_Ivi9wBpEEeCJ48ST48m98A" target="_o-OVgBpNEeCJ48ST48m98A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_o-YGnhpNEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_o-YGnxpNEeCJ48ST48m98A"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_o-YGoBpNEeCJ48ST48m98A" points="[24, -20, 31, 267]$[24, -259, 31, 28]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_-PIHUBpNEeCJ48ST48m98A" type="3003" source="_IqCLgBpEEeCJ48ST48m98A" target="_o-OVgBpNEeCJ48ST48m98A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_-PIHURpNEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-PIHUhpNEeCJ48ST48m98A"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-PIHUxpNEeCJ48ST48m98A" points="[-13, -9, 265, 333]$[-13, -275, 265, 67]$[-232, -275, 46, 67]$[-232, -328, 46, 14]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-PIHVBpNEeCJ48ST48m98A" id="(0.12643678160919541,0.14814814814814814)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-PIHVRpNEeCJ48ST48m98A" id="(0.4025157232704403,0.7586206896551724)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_j9rXXBpOEeCJ48ST48m98A" type="3002" source="_IvsuxBpEEeCJ48ST48m98A" target="_o-OVgBpNEeCJ48ST48m98A">
+ <children xmi:type="notation:Node" xmi:id="_j9rXYBpOEeCJ48ST48m98A" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j9rXYRpOEeCJ48ST48m98A" x="162" y="-34"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_j9rXYhpOEeCJ48ST48m98A" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j9rXYxpOEeCJ48ST48m98A" x="154" y="-15"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_j9rXXRpOEeCJ48ST48m98A" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_j9rXXhpOEeCJ48ST48m98A" fontColor="4210752" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="efacet.ecore#//TypedElementRef/typedElement"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_j9rXXxpOEeCJ48ST48m98A" points="[25, 20, 321, 581]$[25, 60, 321, 621]$[701, 60, 997, 621]$[701, -556, 997, 5]$[-262, -556, 34, 5]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Uh37MBpPEeCJ48ST48m98A" id="(0.7861635220125787,0.43103448275862066)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.genmodel b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.genmodel
new file mode 100644
index 00000000000..a03408dbbc6
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/model/efacet.genmodel
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText=" Copyright (c) 2011 Mia-Software.&#xD;&#xA; &#xD;&#xA; All rights reserved. This program and the accompanying materials&#xD;&#xA; are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; which accompanies this distribution, and is available at&#xD;&#xA; http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; &#xD;&#xA; Contributors:&#xD;&#xA;&#x9;Gregoire Dupe (Mia-Software) - Design&#xD;&#xA;&#x9;Nicolas Guyomar (Mia-Software) - Implementation&#xD;&#xA; "
+ modelDirectory="/org.eclipse.emf.facet.efacet/src" modelPluginID="org.eclipse.emf.facet.efacet"
+ modelName="Efacet" nonNLSMarkers="true" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false" runtimeVersion="2.6" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
+ <foreignModel>efacet.ecore</foreignModel>
+ <genPackages prefix="EFacet" basePackage="org.eclipse.emf.facet" disposableProviderFactory="true"
+ extensibleProviderFactory="true" ecorePackage="efacet.ecore#/">
+ <genDataTypes ecoreDataType="efacet.ecore#//JavaException"/>
+ <genClasses ecoreClass="efacet.ecore#//FacetAttribute"/>
+ <genClasses ecoreClass="efacet.ecore#//FacetReference"/>
+ <genClasses ecoreClass="efacet.ecore#//FacetOperation"/>
+ <genClasses ecoreClass="efacet.ecore#//FacetSet">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet.ecore#//FacetSet/facets"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet.ecore#//FacetSet/categories"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//FacetSet/extendedEPackage"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//Facet">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference efacet.ecore#//Facet/facetSet"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet.ecore#//Facet/conformanceQuery"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//Facet/extendedMetaclass"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet.ecore#//Facet/facetElements"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//Query">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//Query/scope"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet.ecore#//Query/hasSideEffect"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet.ecore#//Query/canBeCached"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet.ecore#//Query/parameters"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//QueryResult">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//QueryResult/query"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//QueryResult/scope"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet.ecore#//QueryResult/parameterValues"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet.ecore#//QueryResult/result"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet.ecore#//QueryResult/exception"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//QueryResult/source"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//Category"/>
+ <genClasses ecoreClass="efacet.ecore#//FacetElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//FacetElement/categories"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference efacet.ecore#//FacetElement/facet"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//FacetElement/override"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//QueryFacetElement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet.ecore#//QueryFacetElement/query"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//OppositeReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//OppositeReference/fOpposite"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//QuerySet">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference efacet.ecore#//QuerySet/queries"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet.ecore#//QuerySet/name"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//Literal">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet.ecore#//Literal/value"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//TypedElementRef">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//TypedElementRef/typedElement"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//Parameter"/>
+ <genClasses ecoreClass="efacet.ecore#//ParameterValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//ParameterValue/parameter"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet.ecore#//ParameterValue/value"/>
+ </genClasses>
+ <genClasses ecoreClass="efacet.ecore#//QueryContext">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference efacet.ecore#//QueryContext/selectedModelElements"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute efacet.ecore#//QueryContext/selectedModels"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/plugin.xml b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/plugin.xml
new file mode 100644
index 00000000000..3b685c8a208
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2011 Mia-Software.
+
+ 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:
+ Gregoire Dupe (Mia-Software) - design
+ Nicolas Guyomar (Mia-Software) - implementation
+
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/emf/facet/efacet/0.1.incubation"
+ class="org.eclipse.emf.facet.efacet.EFacetPackage"
+ genModel="model/efacet.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Category.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Category.java
new file mode 100644
index 00000000000..bbe827c198f
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Category.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Category</b></em>'. <!--
+ * end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getCategory()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface Category extends EObject {
+} // Category
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/EFacetFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/EFacetFactory.java
new file mode 100644
index 00000000000..5353fb30c7a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/EFacetFactory.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface EFacetFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EFacetFactory eINSTANCE = org.eclipse.emf.facet.efacet.impl.EFacetFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Facet Attribute</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet Attribute</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ FacetAttribute createFacetAttribute();
+
+ /**
+ * Returns a new object of class '<em>Facet Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet Reference</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ FacetReference createFacetReference();
+
+ /**
+ * Returns a new object of class '<em>Facet Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet Operation</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ FacetOperation createFacetOperation();
+
+ /**
+ * Returns a new object of class '<em>Facet Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet Set</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ FacetSet createFacetSet();
+
+ /**
+ * Returns a new object of class '<em>Facet</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Facet</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Facet createFacet();
+
+ /**
+ * Returns a new object of class '<em>Query Result</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Query Result</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ QueryResult createQueryResult();
+
+ /**
+ * Returns a new object of class '<em>Category</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Category</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Category createCategory();
+
+ /**
+ * Returns a new object of class '<em>Opposite Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Opposite Reference</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ OppositeReference createOppositeReference();
+
+ /**
+ * Returns a new object of class '<em>Query Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Query Set</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ QuerySet createQuerySet();
+
+ /**
+ * Returns a new object of class '<em>Literal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Literal</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Literal createLiteral();
+
+ /**
+ * Returns a new object of class '<em>Typed Element Ref</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Typed Element Ref</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ TypedElementRef createTypedElementRef();
+
+ /**
+ * Returns a new object of class '<em>Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Parameter</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Parameter createParameter();
+
+ /**
+ * Returns a new object of class '<em>Parameter Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Parameter Value</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ ParameterValue createParameterValue();
+
+ /**
+ * Returns a new object of class '<em>Query Context</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Query Context</em>'.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ QueryContext createQueryContext();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EFacetPackage getEFacetPackage();
+
+} //EFacetFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/EFacetPackage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/EFacetPackage.java
new file mode 100644
index 00000000000..d194a2522bc
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/EFacetPackage.java
@@ -0,0 +1,3848 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.EFacetFactory
+ * @model kind="package"
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface EFacetPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ String eNAME = "efacet"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ String eNS_URI = "http://www.eclipse.org/emf/facet/efacet/0.1.incubation"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ String eNS_PREFIX = "efacet"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EFacetPackage eINSTANCE = org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.FacetAttributeImpl <em>Facet Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetAttributeImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacetAttribute()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE = 0;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__EANNOTATIONS = EcorePackage.EATTRIBUTE__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__NAME = EcorePackage.EATTRIBUTE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__ORDERED = EcorePackage.EATTRIBUTE__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__UNIQUE = EcorePackage.EATTRIBUTE__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__LOWER_BOUND = EcorePackage.EATTRIBUTE__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__UPPER_BOUND = EcorePackage.EATTRIBUTE__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__MANY = EcorePackage.EATTRIBUTE__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__REQUIRED = EcorePackage.EATTRIBUTE__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__ETYPE = EcorePackage.EATTRIBUTE__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__EGENERIC_TYPE = EcorePackage.EATTRIBUTE__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Changeable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__CHANGEABLE = EcorePackage.EATTRIBUTE__CHANGEABLE;
+
+ /**
+ * The feature id for the '<em><b>Volatile</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__VOLATILE = EcorePackage.EATTRIBUTE__VOLATILE;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__TRANSIENT = EcorePackage.EATTRIBUTE__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Default Value Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__DEFAULT_VALUE_LITERAL = EcorePackage.EATTRIBUTE__DEFAULT_VALUE_LITERAL;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__DEFAULT_VALUE = EcorePackage.EATTRIBUTE__DEFAULT_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Unsettable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__UNSETTABLE = EcorePackage.EATTRIBUTE__UNSETTABLE;
+
+ /**
+ * The feature id for the '<em><b>Derived</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__DERIVED = EcorePackage.EATTRIBUTE__DERIVED;
+
+ /**
+ * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__ECONTAINING_CLASS = EcorePackage.EATTRIBUTE__ECONTAINING_CLASS;
+
+ /**
+ * The feature id for the '<em><b>ID</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__ID = EcorePackage.EATTRIBUTE__ID;
+
+ /**
+ * The feature id for the '<em><b>EAttribute Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__EATTRIBUTE_TYPE = EcorePackage.EATTRIBUTE__EATTRIBUTE_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__CATEGORIES = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Facet</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__FACET = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__OVERRIDE = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE__QUERY = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Facet Attribute</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ATTRIBUTE_FEATURE_COUNT = EcorePackage.EATTRIBUTE_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.FacetReferenceImpl <em>Facet Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetReferenceImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacetReference()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int FACET_REFERENCE = 1;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__EANNOTATIONS = EcorePackage.EREFERENCE__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__NAME = EcorePackage.EREFERENCE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__ORDERED = EcorePackage.EREFERENCE__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__UNIQUE = EcorePackage.EREFERENCE__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__LOWER_BOUND = EcorePackage.EREFERENCE__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__UPPER_BOUND = EcorePackage.EREFERENCE__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__MANY = EcorePackage.EREFERENCE__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__REQUIRED = EcorePackage.EREFERENCE__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__ETYPE = EcorePackage.EREFERENCE__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__EGENERIC_TYPE = EcorePackage.EREFERENCE__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Changeable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__CHANGEABLE = EcorePackage.EREFERENCE__CHANGEABLE;
+
+ /**
+ * The feature id for the '<em><b>Volatile</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__VOLATILE = EcorePackage.EREFERENCE__VOLATILE;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__TRANSIENT = EcorePackage.EREFERENCE__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Default Value Literal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__DEFAULT_VALUE_LITERAL = EcorePackage.EREFERENCE__DEFAULT_VALUE_LITERAL;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__DEFAULT_VALUE = EcorePackage.EREFERENCE__DEFAULT_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Unsettable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__UNSETTABLE = EcorePackage.EREFERENCE__UNSETTABLE;
+
+ /**
+ * The feature id for the '<em><b>Derived</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__DERIVED = EcorePackage.EREFERENCE__DERIVED;
+
+ /**
+ * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__ECONTAINING_CLASS = EcorePackage.EREFERENCE__ECONTAINING_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Containment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__CONTAINMENT = EcorePackage.EREFERENCE__CONTAINMENT;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__CONTAINER = EcorePackage.EREFERENCE__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Resolve Proxies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__RESOLVE_PROXIES = EcorePackage.EREFERENCE__RESOLVE_PROXIES;
+
+ /**
+ * The feature id for the '<em><b>EOpposite</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__EOPPOSITE = EcorePackage.EREFERENCE__EOPPOSITE;
+
+ /**
+ * The feature id for the '<em><b>EReference Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__EREFERENCE_TYPE = EcorePackage.EREFERENCE__EREFERENCE_TYPE;
+
+ /**
+ * The feature id for the '<em><b>EKeys</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__EKEYS = EcorePackage.EREFERENCE__EKEYS;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__CATEGORIES = EcorePackage.EREFERENCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Facet</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__FACET = EcorePackage.EREFERENCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__OVERRIDE = EcorePackage.EREFERENCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE__QUERY = EcorePackage.EREFERENCE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Facet Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_REFERENCE_FEATURE_COUNT = EcorePackage.EREFERENCE_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.FacetOperationImpl <em>Facet Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetOperationImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacetOperation()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int FACET_OPERATION = 2;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__EANNOTATIONS = EcorePackage.EOPERATION__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__NAME = EcorePackage.EOPERATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__ORDERED = EcorePackage.EOPERATION__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__UNIQUE = EcorePackage.EOPERATION__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__LOWER_BOUND = EcorePackage.EOPERATION__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__UPPER_BOUND = EcorePackage.EOPERATION__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__MANY = EcorePackage.EOPERATION__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__REQUIRED = EcorePackage.EOPERATION__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__ETYPE = EcorePackage.EOPERATION__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__EGENERIC_TYPE = EcorePackage.EOPERATION__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__ECONTAINING_CLASS = EcorePackage.EOPERATION__ECONTAINING_CLASS;
+
+ /**
+ * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__ETYPE_PARAMETERS = EcorePackage.EOPERATION__ETYPE_PARAMETERS;
+
+ /**
+ * The feature id for the '<em><b>EParameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__EPARAMETERS = EcorePackage.EOPERATION__EPARAMETERS;
+
+ /**
+ * The feature id for the '<em><b>EExceptions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__EEXCEPTIONS = EcorePackage.EOPERATION__EEXCEPTIONS;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Exceptions</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__EGENERIC_EXCEPTIONS = EcorePackage.EOPERATION__EGENERIC_EXCEPTIONS;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__CATEGORIES = EcorePackage.EOPERATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Facet</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__FACET = EcorePackage.EOPERATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__OVERRIDE = EcorePackage.EOPERATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION__QUERY = EcorePackage.EOPERATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Facet Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_OPERATION_FEATURE_COUNT = EcorePackage.EOPERATION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.FacetSetImpl <em>Facet Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetSetImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacetSet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int FACET_SET = 3;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__EANNOTATIONS = EcorePackage.EPACKAGE__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__NAME = EcorePackage.EPACKAGE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ns URI</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__NS_URI = EcorePackage.EPACKAGE__NS_URI;
+
+ /**
+ * The feature id for the '<em><b>Ns Prefix</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__NS_PREFIX = EcorePackage.EPACKAGE__NS_PREFIX;
+
+ /**
+ * The feature id for the '<em><b>EFactory Instance</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__EFACTORY_INSTANCE = EcorePackage.EPACKAGE__EFACTORY_INSTANCE;
+
+ /**
+ * The feature id for the '<em><b>EClassifiers</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__ECLASSIFIERS = EcorePackage.EPACKAGE__ECLASSIFIERS;
+
+ /**
+ * The feature id for the '<em><b>ESubpackages</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__ESUBPACKAGES = EcorePackage.EPACKAGE__ESUBPACKAGES;
+
+ /**
+ * The feature id for the '<em><b>ESuper Package</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__ESUPER_PACKAGE = EcorePackage.EPACKAGE__ESUPER_PACKAGE;
+
+ /**
+ * The feature id for the '<em><b>Facets</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__FACETS = EcorePackage.EPACKAGE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__CATEGORIES = EcorePackage.EPACKAGE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Extended EPackage</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET__EXTENDED_EPACKAGE = EcorePackage.EPACKAGE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Facet Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_SET_FEATURE_COUNT = EcorePackage.EPACKAGE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.FacetImpl <em>Facet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int FACET = 4;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__EANNOTATIONS = EcorePackage.ECLASSIFIER__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__NAME = EcorePackage.ECLASSIFIER__NAME;
+
+ /**
+ * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__INSTANCE_CLASS_NAME = EcorePackage.ECLASSIFIER__INSTANCE_CLASS_NAME;
+
+ /**
+ * The feature id for the '<em><b>Instance Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__INSTANCE_CLASS = EcorePackage.ECLASSIFIER__INSTANCE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__DEFAULT_VALUE = EcorePackage.ECLASSIFIER__DEFAULT_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Instance Type Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__INSTANCE_TYPE_NAME = EcorePackage.ECLASSIFIER__INSTANCE_TYPE_NAME;
+
+ /**
+ * The feature id for the '<em><b>EPackage</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__EPACKAGE = EcorePackage.ECLASSIFIER__EPACKAGE;
+
+ /**
+ * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__ETYPE_PARAMETERS = EcorePackage.ECLASSIFIER__ETYPE_PARAMETERS;
+
+ /**
+ * The feature id for the '<em><b>Facet Set</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__FACET_SET = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Conformance Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__CONFORMANCE_QUERY = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Extended Metaclass</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__EXTENDED_METACLASS = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Facet Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET__FACET_ELEMENTS = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Facet</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_FEATURE_COUNT = EcorePackage.ECLASSIFIER_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.QueryImpl <em>Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.QueryImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int QUERY = 5;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__EANNOTATIONS = EcorePackage.ETYPED_ELEMENT__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__NAME = EcorePackage.ETYPED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__ORDERED = EcorePackage.ETYPED_ELEMENT__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__UNIQUE = EcorePackage.ETYPED_ELEMENT__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__LOWER_BOUND = EcorePackage.ETYPED_ELEMENT__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__UPPER_BOUND = EcorePackage.ETYPED_ELEMENT__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__MANY = EcorePackage.ETYPED_ELEMENT__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__REQUIRED = EcorePackage.ETYPED_ELEMENT__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__ETYPE = EcorePackage.ETYPED_ELEMENT__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__EGENERIC_TYPE = EcorePackage.ETYPED_ELEMENT__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__SCOPE = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Has Side Effect</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__HAS_SIDE_EFFECT = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__CAN_BE_CACHED = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY__PARAMETERS = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FEATURE_COUNT = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.QueryResultImpl <em>Query Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.QueryResultImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getQueryResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int QUERY_RESULT = 6;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_RESULT__QUERY = 0;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_RESULT__SCOPE = 1;
+
+ /**
+ * The feature id for the '<em><b>Parameter Values</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_RESULT__PARAMETER_VALUES = 2;
+
+ /**
+ * The feature id for the '<em><b>Result</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_RESULT__RESULT = 3;
+
+ /**
+ * The feature id for the '<em><b>Exception</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_RESULT__EXCEPTION = 4;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_RESULT__SOURCE = 5;
+
+ /**
+ * The number of structural features of the '<em>Query Result</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_RESULT_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.CategoryImpl <em>Category</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.CategoryImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getCategory()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int CATEGORY = 7;
+
+ /**
+ * The number of structural features of the '<em>Category</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int CATEGORY_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.FacetElementImpl <em>Facet Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetElementImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacetElement()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int FACET_ELEMENT = 8;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__EANNOTATIONS = EcorePackage.ETYPED_ELEMENT__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__NAME = EcorePackage.ETYPED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__ORDERED = EcorePackage.ETYPED_ELEMENT__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__UNIQUE = EcorePackage.ETYPED_ELEMENT__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__LOWER_BOUND = EcorePackage.ETYPED_ELEMENT__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__UPPER_BOUND = EcorePackage.ETYPED_ELEMENT__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__MANY = EcorePackage.ETYPED_ELEMENT__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__REQUIRED = EcorePackage.ETYPED_ELEMENT__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__ETYPE = EcorePackage.ETYPED_ELEMENT__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__EGENERIC_TYPE = EcorePackage.ETYPED_ELEMENT__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__CATEGORIES = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Facet</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__FACET = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT__OVERRIDE = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Facet Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int FACET_ELEMENT_FEATURE_COUNT = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.QueryFacetElementImpl <em>Query Facet Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.QueryFacetElementImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getQueryFacetElement()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT = 9;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__EANNOTATIONS = EFacetPackage.FACET_ELEMENT__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__NAME = EFacetPackage.FACET_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__ORDERED = EFacetPackage.FACET_ELEMENT__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__UNIQUE = EFacetPackage.FACET_ELEMENT__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__LOWER_BOUND = EFacetPackage.FACET_ELEMENT__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__UPPER_BOUND = EFacetPackage.FACET_ELEMENT__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__MANY = EFacetPackage.FACET_ELEMENT__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__REQUIRED = EFacetPackage.FACET_ELEMENT__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__ETYPE = EFacetPackage.FACET_ELEMENT__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__EGENERIC_TYPE = EFacetPackage.FACET_ELEMENT__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__CATEGORIES = EFacetPackage.FACET_ELEMENT__CATEGORIES;
+
+ /**
+ * The feature id for the '<em><b>Facet</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__FACET = EFacetPackage.FACET_ELEMENT__FACET;
+
+ /**
+ * The feature id for the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__OVERRIDE = EFacetPackage.FACET_ELEMENT__OVERRIDE;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT__QUERY = EFacetPackage.FACET_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Query Facet Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_FACET_ELEMENT_FEATURE_COUNT = EFacetPackage.FACET_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.OppositeReferenceImpl <em>Opposite Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.OppositeReferenceImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getOppositeReference()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE = 10;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__EANNOTATIONS = EFacetPackage.FACET_ELEMENT__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__NAME = EFacetPackage.FACET_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__ORDERED = EFacetPackage.FACET_ELEMENT__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__UNIQUE = EFacetPackage.FACET_ELEMENT__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__LOWER_BOUND = EFacetPackage.FACET_ELEMENT__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__UPPER_BOUND = EFacetPackage.FACET_ELEMENT__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__MANY = EFacetPackage.FACET_ELEMENT__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__REQUIRED = EFacetPackage.FACET_ELEMENT__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__ETYPE = EFacetPackage.FACET_ELEMENT__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__EGENERIC_TYPE = EFacetPackage.FACET_ELEMENT__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Categories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__CATEGORIES = EFacetPackage.FACET_ELEMENT__CATEGORIES;
+
+ /**
+ * The feature id for the '<em><b>Facet</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__FACET = EFacetPackage.FACET_ELEMENT__FACET;
+
+ /**
+ * The feature id for the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__OVERRIDE = EFacetPackage.FACET_ELEMENT__OVERRIDE;
+
+ /**
+ * The feature id for the '<em><b>FOpposite</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE__FOPPOSITE = EFacetPackage.FACET_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Opposite Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int OPPOSITE_REFERENCE_FEATURE_COUNT = EFacetPackage.FACET_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.QuerySetImpl <em>Query Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.QuerySetImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getQuerySet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int QUERY_SET = 11;
+
+ /**
+ * The feature id for the '<em><b>Queries</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_SET__QUERIES = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_SET__NAME = 1;
+
+ /**
+ * The number of structural features of the '<em>Query Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_SET_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.LiteralImpl <em>Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.LiteralImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getLiteral()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int LITERAL = 12;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__EANNOTATIONS = EFacetPackage.QUERY__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__NAME = EFacetPackage.QUERY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__ORDERED = EFacetPackage.QUERY__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__UNIQUE = EFacetPackage.QUERY__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__LOWER_BOUND = EFacetPackage.QUERY__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__UPPER_BOUND = EFacetPackage.QUERY__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__MANY = EFacetPackage.QUERY__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__REQUIRED = EFacetPackage.QUERY__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__ETYPE = EFacetPackage.QUERY__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__EGENERIC_TYPE = EFacetPackage.QUERY__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__SCOPE = EFacetPackage.QUERY__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Has Side Effect</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__HAS_SIDE_EFFECT = EFacetPackage.QUERY__HAS_SIDE_EFFECT;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__CAN_BE_CACHED = EFacetPackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__PARAMETERS = EFacetPackage.QUERY__PARAMETERS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL__VALUE = EFacetPackage.QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Literal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int LITERAL_FEATURE_COUNT = EFacetPackage.QUERY_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.TypedElementRefImpl <em>Typed Element Ref</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.TypedElementRefImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getTypedElementRef()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF = 13;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__EANNOTATIONS = EFacetPackage.QUERY__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__NAME = EFacetPackage.QUERY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__ORDERED = EFacetPackage.QUERY__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__UNIQUE = EFacetPackage.QUERY__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__LOWER_BOUND = EFacetPackage.QUERY__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__UPPER_BOUND = EFacetPackage.QUERY__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__MANY = EFacetPackage.QUERY__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__REQUIRED = EFacetPackage.QUERY__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__ETYPE = EFacetPackage.QUERY__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__EGENERIC_TYPE = EFacetPackage.QUERY__EGENERIC_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__SCOPE = EFacetPackage.QUERY__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Has Side Effect</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__HAS_SIDE_EFFECT = EFacetPackage.QUERY__HAS_SIDE_EFFECT;
+
+ /**
+ * The feature id for the '<em><b>Can Be Cached</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__CAN_BE_CACHED = EFacetPackage.QUERY__CAN_BE_CACHED;
+
+ /**
+ * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__PARAMETERS = EFacetPackage.QUERY__PARAMETERS;
+
+ /**
+ * The feature id for the '<em><b>Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF__TYPED_ELEMENT = EFacetPackage.QUERY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Typed Element Ref</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int TYPED_ELEMENT_REF_FEATURE_COUNT = EFacetPackage.QUERY_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.ParameterImpl <em>Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.ParameterImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getParameter()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int PARAMETER = 14;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER__EANNOTATIONS = EcorePackage.ETYPED_ELEMENT__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER__NAME = EcorePackage.ETYPED_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER__ORDERED = EcorePackage.ETYPED_ELEMENT__ORDERED;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER__UNIQUE = EcorePackage.ETYPED_ELEMENT__UNIQUE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER__LOWER_BOUND = EcorePackage.ETYPED_ELEMENT__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER__UPPER_BOUND = EcorePackage.ETYPED_ELEMENT__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Many</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER__MANY = EcorePackage.ETYPED_ELEMENT__MANY;
+
+ /**
+ * The feature id for the '<em><b>Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER__REQUIRED = EcorePackage.ETYPED_ELEMENT__REQUIRED;
+
+ /**
+ * The feature id for the '<em><b>EType</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER__ETYPE = EcorePackage.ETYPED_ELEMENT__ETYPE;
+
+ /**
+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER__EGENERIC_TYPE = EcorePackage.ETYPED_ELEMENT__EGENERIC_TYPE;
+
+ /**
+ * The number of structural features of the '<em>Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER_FEATURE_COUNT = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.ParameterValueImpl <em>Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.ParameterValueImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getParameterValue()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int PARAMETER_VALUE = 15;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER_VALUE__PARAMETER = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER_VALUE__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Parameter Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int PARAMETER_VALUE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.facet.efacet.impl.QueryContextImpl <em>Query Context</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.QueryContextImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getQueryContext()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int QUERY_CONTEXT = 16;
+
+ /**
+ * The feature id for the '<em><b>Selected Model Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_CONTEXT__SELECTED_MODEL_ELEMENTS = 0;
+
+ /**
+ * The feature id for the '<em><b>Selected Models</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_CONTEXT__SELECTED_MODELS = 1;
+
+ /**
+ * The number of structural features of the '<em>Query Context</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ int QUERY_CONTEXT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '<em>Java Exception</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.Exception
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getJavaException()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ int JAVA_EXCEPTION = 17;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.FacetAttribute <em>Facet Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Attribute</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetAttribute
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getFacetAttribute();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.FacetReference <em>Facet Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Reference</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetReference
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getFacetReference();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.FacetOperation <em>Facet Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Operation</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetOperation
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getFacetOperation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.FacetSet <em>Facet Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Set</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetSet
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getFacetSet();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.FacetSet#getFacets <em>Facets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Facets</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetSet#getFacets()
+ * @see #getFacetSet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFacetSet_Facets();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.FacetSet#getCategories <em>Categories</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Categories</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetSet#getCategories()
+ * @see #getFacetSet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFacetSet_Categories();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.FacetSet#getExtendedEPackage <em>Extended EPackage</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Extended EPackage</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetSet#getExtendedEPackage()
+ * @see #getFacetSet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFacetSet_ExtendedEPackage();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.Facet <em>Facet</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet</em>'.
+ * @see org.eclipse.emf.facet.efacet.Facet
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getFacet();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.facet.efacet.Facet#getFacetSet <em>Facet Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Facet Set</em>'.
+ * @see org.eclipse.emf.facet.efacet.Facet#getFacetSet()
+ * @see #getFacet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFacet_FacetSet();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.facet.efacet.Facet#getConformanceQuery <em>Conformance Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Conformance Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.Facet#getConformanceQuery()
+ * @see #getFacet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFacet_ConformanceQuery();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.Facet#getExtendedMetaclass <em>Extended Metaclass</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Extended Metaclass</em>'.
+ * @see org.eclipse.emf.facet.efacet.Facet#getExtendedMetaclass()
+ * @see #getFacet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFacet_ExtendedMetaclass();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.Facet#getFacetElements <em>Facet Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Facet Elements</em>'.
+ * @see org.eclipse.emf.facet.efacet.Facet#getFacetElements()
+ * @see #getFacet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFacet_FacetElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.Query <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.Query
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getQuery();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.Query#getScope <em>Scope</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Scope</em>'.
+ * @see org.eclipse.emf.facet.efacet.Query#getScope()
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getQuery_Scope();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.Query#isHasSideEffect <em>Has Side Effect</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Has Side Effect</em>'.
+ * @see org.eclipse.emf.facet.efacet.Query#isHasSideEffect()
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute getQuery_HasSideEffect();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.Query#isCanBeCached <em>Can Be Cached</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Can Be Cached</em>'.
+ * @see org.eclipse.emf.facet.efacet.Query#isCanBeCached()
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute getQuery_CanBeCached();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.Query#getParameters <em>Parameters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Parameters</em>'.
+ * @see org.eclipse.emf.facet.efacet.Query#getParameters()
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getQuery_Parameters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.QueryResult <em>Query Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query Result</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryResult
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getQueryResult();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.QueryResult#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryResult#getQuery()
+ * @see #getQueryResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getQueryResult_Query();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.QueryResult#getScope <em>Scope</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Scope</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryResult#getScope()
+ * @see #getQueryResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getQueryResult_Scope();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.QueryResult#getParameterValues <em>Parameter Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Parameter Values</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryResult#getParameterValues()
+ * @see #getQueryResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getQueryResult_ParameterValues();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.QueryResult#getResult <em>Result</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Result</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryResult#getResult()
+ * @see #getQueryResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute getQueryResult_Result();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.QueryResult#getException <em>Exception</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exception</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryResult#getException()
+ * @see #getQueryResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute getQueryResult_Exception();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.QueryResult#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Source</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryResult#getSource()
+ * @see #getQueryResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getQueryResult_Source();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.Category <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Category</em>'.
+ * @see org.eclipse.emf.facet.efacet.Category
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getCategory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.FacetElement <em>Facet Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Facet Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetElement
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getFacetElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.facet.efacet.FacetElement#getCategories <em>Categories</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Categories</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetElement#getCategories()
+ * @see #getFacetElement()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFacetElement_Categories();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.facet.efacet.FacetElement#getFacet <em>Facet</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Facet</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetElement#getFacet()
+ * @see #getFacetElement()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFacetElement_Facet();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.FacetElement#getOverride <em>Override</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Override</em>'.
+ * @see org.eclipse.emf.facet.efacet.FacetElement#getOverride()
+ * @see #getFacetElement()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFacetElement_Override();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.QueryFacetElement <em>Query Facet Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query Facet Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryFacetElement
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getQueryFacetElement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.facet.efacet.QueryFacetElement#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Query</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryFacetElement#getQuery()
+ * @see #getQueryFacetElement()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getQueryFacetElement_Query();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.OppositeReference <em>Opposite Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Opposite Reference</em>'.
+ * @see org.eclipse.emf.facet.efacet.OppositeReference
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getOppositeReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.OppositeReference#getFOpposite <em>FOpposite</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>FOpposite</em>'.
+ * @see org.eclipse.emf.facet.efacet.OppositeReference#getFOpposite()
+ * @see #getOppositeReference()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getOppositeReference_FOpposite();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.QuerySet <em>Query Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query Set</em>'.
+ * @see org.eclipse.emf.facet.efacet.QuerySet
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getQuerySet();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.facet.efacet.QuerySet#getQueries <em>Queries</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Queries</em>'.
+ * @see org.eclipse.emf.facet.efacet.QuerySet#getQueries()
+ * @see #getQuerySet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getQuerySet_Queries();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.QuerySet#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.facet.efacet.QuerySet#getName()
+ * @see #getQuerySet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute getQuerySet_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.Literal <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Literal</em>'.
+ * @see org.eclipse.emf.facet.efacet.Literal
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getLiteral();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.facet.efacet.Literal#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.facet.efacet.Literal#getValue()
+ * @see #getLiteral()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute getLiteral_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.TypedElementRef <em>Typed Element Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Typed Element Ref</em>'.
+ * @see org.eclipse.emf.facet.efacet.TypedElementRef
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getTypedElementRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.TypedElementRef#getTypedElement <em>Typed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Typed Element</em>'.
+ * @see org.eclipse.emf.facet.efacet.TypedElementRef#getTypedElement()
+ * @see #getTypedElementRef()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getTypedElementRef_TypedElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.Parameter <em>Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Parameter</em>'.
+ * @see org.eclipse.emf.facet.efacet.Parameter
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getParameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.ParameterValue <em>Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Parameter Value</em>'.
+ * @see org.eclipse.emf.facet.efacet.ParameterValue
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getParameterValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.facet.efacet.ParameterValue#getParameter <em>Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Parameter</em>'.
+ * @see org.eclipse.emf.facet.efacet.ParameterValue#getParameter()
+ * @see #getParameterValue()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getParameterValue_Parameter();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.facet.efacet.ParameterValue#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Value</em>'.
+ * @see org.eclipse.emf.facet.efacet.ParameterValue#getValue()
+ * @see #getParameterValue()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute getParameterValue_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.facet.efacet.QueryContext <em>Query Context</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query Context</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryContext
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getQueryContext();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.facet.efacet.QueryContext#getSelectedModelElements <em>Selected Model Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Selected Model Elements</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryContext#getSelectedModelElements()
+ * @see #getQueryContext()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getQueryContext_SelectedModelElements();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.facet.efacet.QueryContext#getSelectedModels <em>Selected Models</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Selected Models</em>'.
+ * @see org.eclipse.emf.facet.efacet.QueryContext#getSelectedModels()
+ * @see #getQueryContext()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute getQueryContext_SelectedModels();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.Exception <em>Java Exception</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Java Exception</em>'.
+ * @see java.lang.Exception
+ * @model instanceClass="java.lang.Exception"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EDataType getJavaException();
+
+ /**
+ * 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
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EFacetFactory getEFacetFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.FacetAttributeImpl <em>Facet Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetAttributeImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacetAttribute()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass FACET_ATTRIBUTE = EFacetPackage.eINSTANCE.getFacetAttribute();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.FacetReferenceImpl <em>Facet Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetReferenceImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacetReference()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass FACET_REFERENCE = EFacetPackage.eINSTANCE.getFacetReference();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.FacetOperationImpl <em>Facet Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetOperationImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacetOperation()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass FACET_OPERATION = EFacetPackage.eINSTANCE.getFacetOperation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.FacetSetImpl <em>Facet Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetSetImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacetSet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass FACET_SET = EFacetPackage.eINSTANCE.getFacetSet();
+
+ /**
+ * The meta object literal for the '<em><b>Facets</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference FACET_SET__FACETS = EFacetPackage.eINSTANCE.getFacetSet_Facets();
+
+ /**
+ * The meta object literal for the '<em><b>Categories</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference FACET_SET__CATEGORIES = EFacetPackage.eINSTANCE.getFacetSet_Categories();
+
+ /**
+ * The meta object literal for the '<em><b>Extended EPackage</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference FACET_SET__EXTENDED_EPACKAGE = EFacetPackage.eINSTANCE.getFacetSet_ExtendedEPackage();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.FacetImpl <em>Facet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass FACET = EFacetPackage.eINSTANCE.getFacet();
+
+ /**
+ * The meta object literal for the '<em><b>Facet Set</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference FACET__FACET_SET = EFacetPackage.eINSTANCE.getFacet_FacetSet();
+
+ /**
+ * The meta object literal for the '<em><b>Conformance Query</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference FACET__CONFORMANCE_QUERY = EFacetPackage.eINSTANCE.getFacet_ConformanceQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Extended Metaclass</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference FACET__EXTENDED_METACLASS = EFacetPackage.eINSTANCE.getFacet_ExtendedMetaclass();
+
+ /**
+ * The meta object literal for the '<em><b>Facet Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference FACET__FACET_ELEMENTS = EFacetPackage.eINSTANCE.getFacet_FacetElements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.QueryImpl <em>Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.QueryImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass QUERY = EFacetPackage.eINSTANCE.getQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Scope</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference QUERY__SCOPE = EFacetPackage.eINSTANCE.getQuery_Scope();
+
+ /**
+ * The meta object literal for the '<em><b>Has Side Effect</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute QUERY__HAS_SIDE_EFFECT = EFacetPackage.eINSTANCE.getQuery_HasSideEffect();
+
+ /**
+ * The meta object literal for the '<em><b>Can Be Cached</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute QUERY__CAN_BE_CACHED = EFacetPackage.eINSTANCE.getQuery_CanBeCached();
+
+ /**
+ * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference QUERY__PARAMETERS = EFacetPackage.eINSTANCE.getQuery_Parameters();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.QueryResultImpl <em>Query Result</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.QueryResultImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getQueryResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass QUERY_RESULT = EFacetPackage.eINSTANCE.getQueryResult();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference QUERY_RESULT__QUERY = EFacetPackage.eINSTANCE.getQueryResult_Query();
+
+ /**
+ * The meta object literal for the '<em><b>Scope</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference QUERY_RESULT__SCOPE = EFacetPackage.eINSTANCE.getQueryResult_Scope();
+
+ /**
+ * The meta object literal for the '<em><b>Parameter Values</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference QUERY_RESULT__PARAMETER_VALUES = EFacetPackage.eINSTANCE.getQueryResult_ParameterValues();
+
+ /**
+ * The meta object literal for the '<em><b>Result</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute QUERY_RESULT__RESULT = EFacetPackage.eINSTANCE.getQueryResult_Result();
+
+ /**
+ * The meta object literal for the '<em><b>Exception</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute QUERY_RESULT__EXCEPTION = EFacetPackage.eINSTANCE.getQueryResult_Exception();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference QUERY_RESULT__SOURCE = EFacetPackage.eINSTANCE.getQueryResult_Source();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.CategoryImpl <em>Category</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.CategoryImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getCategory()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass CATEGORY = EFacetPackage.eINSTANCE.getCategory();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.FacetElementImpl <em>Facet Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.FacetElementImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getFacetElement()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass FACET_ELEMENT = EFacetPackage.eINSTANCE.getFacetElement();
+
+ /**
+ * The meta object literal for the '<em><b>Categories</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference FACET_ELEMENT__CATEGORIES = EFacetPackage.eINSTANCE.getFacetElement_Categories();
+
+ /**
+ * The meta object literal for the '<em><b>Facet</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference FACET_ELEMENT__FACET = EFacetPackage.eINSTANCE.getFacetElement_Facet();
+
+ /**
+ * The meta object literal for the '<em><b>Override</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference FACET_ELEMENT__OVERRIDE = EFacetPackage.eINSTANCE.getFacetElement_Override();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.QueryFacetElementImpl <em>Query Facet Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.QueryFacetElementImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getQueryFacetElement()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass QUERY_FACET_ELEMENT = EFacetPackage.eINSTANCE.getQueryFacetElement();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference QUERY_FACET_ELEMENT__QUERY = EFacetPackage.eINSTANCE.getQueryFacetElement_Query();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.OppositeReferenceImpl <em>Opposite Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.OppositeReferenceImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getOppositeReference()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass OPPOSITE_REFERENCE = EFacetPackage.eINSTANCE.getOppositeReference();
+
+ /**
+ * The meta object literal for the '<em><b>FOpposite</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference OPPOSITE_REFERENCE__FOPPOSITE = EFacetPackage.eINSTANCE.getOppositeReference_FOpposite();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.QuerySetImpl <em>Query Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.QuerySetImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getQuerySet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass QUERY_SET = EFacetPackage.eINSTANCE.getQuerySet();
+
+ /**
+ * The meta object literal for the '<em><b>Queries</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference QUERY_SET__QUERIES = EFacetPackage.eINSTANCE.getQuerySet_Queries();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute QUERY_SET__NAME = EFacetPackage.eINSTANCE.getQuerySet_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.LiteralImpl <em>Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.LiteralImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getLiteral()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass LITERAL = EFacetPackage.eINSTANCE.getLiteral();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute LITERAL__VALUE = EFacetPackage.eINSTANCE.getLiteral_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.TypedElementRefImpl <em>Typed Element Ref</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.TypedElementRefImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getTypedElementRef()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass TYPED_ELEMENT_REF = EFacetPackage.eINSTANCE.getTypedElementRef();
+
+ /**
+ * The meta object literal for the '<em><b>Typed Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference TYPED_ELEMENT_REF__TYPED_ELEMENT = EFacetPackage.eINSTANCE.getTypedElementRef_TypedElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.ParameterImpl <em>Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.ParameterImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getParameter()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass PARAMETER = EFacetPackage.eINSTANCE.getParameter();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.ParameterValueImpl <em>Parameter Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.ParameterValueImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getParameterValue()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass PARAMETER_VALUE = EFacetPackage.eINSTANCE.getParameterValue();
+
+ /**
+ * The meta object literal for the '<em><b>Parameter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference PARAMETER_VALUE__PARAMETER = EFacetPackage.eINSTANCE.getParameterValue_Parameter();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute PARAMETER_VALUE__VALUE = EFacetPackage.eINSTANCE.getParameterValue_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.facet.efacet.impl.QueryContextImpl <em>Query Context</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.impl.QueryContextImpl
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getQueryContext()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass QUERY_CONTEXT = EFacetPackage.eINSTANCE.getQueryContext();
+
+ /**
+ * The meta object literal for the '<em><b>Selected Model Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference QUERY_CONTEXT__SELECTED_MODEL_ELEMENTS = EFacetPackage.eINSTANCE.getQueryContext_SelectedModelElements();
+
+ /**
+ * The meta object literal for the '<em><b>Selected Models</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EAttribute QUERY_CONTEXT__SELECTED_MODELS = EFacetPackage.eINSTANCE.getQueryContext_SelectedModels();
+
+ /**
+ * The meta object literal for the '<em>Java Exception</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.Exception
+ * @see org.eclipse.emf.facet.efacet.impl.EFacetPackageImpl#getJavaException()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EDataType JAVA_EXCEPTION = EFacetPackage.eINSTANCE.getJavaException();
+
+ }
+
+} //EFacetPackage
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Facet.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Facet.java
new file mode 100644
index 00000000000..ce0bf172970
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Facet.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A facet is a virtual sub type of an existing EClass. A Facet cannot be instantiated.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.Facet#getFacetSet <em>Facet Set</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.Facet#getConformanceQuery <em>Conformance Query</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.Facet#getExtendedMetaclass <em>Extended Metaclass</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.Facet#getFacetElements <em>Facet Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacet()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore validationDelegates='( self.query.scope = self.facet.extendedMetaClass ) and ( self.query.name = self.name )'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore validationDelegates='self.conformanceQuery.scope = self.extendedMetaClass'"
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface Facet extends EClassifier {
+ /**
+ * Returns the value of the '<em><b>Facet Set</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.facet.efacet.FacetSet#getFacets <em>Facets</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Facet Set</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Facet Set</em>' container reference.
+ * @see #setFacetSet(FacetSet)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacet_FacetSet()
+ * @see org.eclipse.emf.facet.efacet.FacetSet#getFacets
+ * @model opposite="facets" transient="false"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ FacetSet getFacetSet();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.Facet#getFacetSet <em>Facet Set</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Facet Set</em>' container reference.
+ * @see #getFacetSet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setFacetSet(FacetSet value);
+
+ /**
+ * Returns the value of the '<em><b>Conformance Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Conformance Query</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Conformance Query</em>' containment reference.
+ * @see #setConformanceQuery(Query)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacet_ConformanceQuery()
+ * @model containment="true"
+ * annotation="GenModel documentation='The \"conformanceQuery\" references points to the ModelQuery class. The model queries pointed to by the \"conformanceQuery\" reference must return a Boolean. Those queries are used to specify how to decide whether an instance conforms to a facet. If the \"conditionQuery\" is empty then all the instances of the class referred to by the facet instance through the eSuperType reference conform to this facet. '"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Query getConformanceQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.Facet#getConformanceQuery <em>Conformance Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Conformance Query</em>' containment reference.
+ * @see #getConformanceQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setConformanceQuery(Query value);
+
+ /**
+ * Returns the value of the '<em><b>Extended Metaclass</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extended Metaclass</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extended Metaclass</em>' reference.
+ * @see #setExtendedMetaclass(EClass)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacet_ExtendedMetaclass()
+ * @model annotation="GenModel documentation='The \"extendedMetaclass\" reference references the virtually subtyped EClass.'"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getExtendedMetaclass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.Facet#getExtendedMetaclass <em>Extended Metaclass</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Extended Metaclass</em>' reference.
+ * @see #getExtendedMetaclass()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setExtendedMetaclass(EClass value);
+
+ /**
+ * Returns the value of the '<em><b>Facet Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.FacetElement}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.facet.efacet.FacetElement#getFacet <em>Facet</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This composite reference contains virtual attributes, references and operations.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Facet Elements</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacet_FacetElements()
+ * @see org.eclipse.emf.facet.efacet.FacetElement#getFacet
+ * @model opposite="facet" containment="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EList<FacetElement> getFacetElements();
+
+} // Facet
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetAttribute.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetAttribute.java
new file mode 100644
index 00000000000..da948e6c04e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetAttribute.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.ecore.EAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A facetAttribute is a virtual attribute added to all the eObjets which are conform to the facet owning the "facetAttribute".
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetAttribute()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface FacetAttribute extends EAttribute, QueryFacetElement {
+} // FacetAttribute
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetElement.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetElement.java
new file mode 100644
index 00000000000..32748d54cd7
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetElement.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.ETypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A facet element is owned by a facet. It can be a facet reference, a facet attribute or a facet operation.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.FacetElement#getCategories <em>Categories</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.FacetElement#getFacet <em>Facet</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.FacetElement#getOverride <em>Override</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetElement()
+ * @model abstract="true"
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface FacetElement extends ETypedElement {
+ /**
+ * Returns the value of the '<em><b>Categories</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.Category}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Categories</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Categories</em>' reference list.
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetElement_Categories()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EList<Category> getCategories();
+
+ /**
+ * Returns the value of the '<em><b>Facet</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.facet.efacet.Facet#getFacetElements <em>Facet Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Facet</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Facet</em>' container reference.
+ * @see #setFacet(Facet)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetElement_Facet()
+ * @see org.eclipse.emf.facet.efacet.Facet#getFacetElements
+ * @model opposite="facetElements" required="true" transient="false"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Facet getFacet();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.FacetElement#getFacet <em>Facet</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Facet</em>' container reference.
+ * @see #getFacet()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setFacet(Facet value);
+
+ /**
+ * Returns the value of the '<em><b>Override</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Override</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Override</em>' reference.
+ * @see #setOverride(ETypedElement)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetElement_Override()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ ETypedElement getOverride();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.FacetElement#getOverride <em>Override</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Override</em>' reference.
+ * @see #getOverride()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setOverride(ETypedElement value);
+
+} // FacetElement
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetOperation.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetOperation.java
new file mode 100644
index 00000000000..159861f2fbf
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetOperation.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.ecore.EOperation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A "facetOperation" is a virtual operation added to all the eObjets which are conform to the facet owning the facetOperation".
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetOperation()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface FacetOperation extends EOperation, QueryFacetElement {
+} // FacetOperation
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetReference.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetReference.java
new file mode 100644
index 00000000000..39e5579fdc7
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetReference.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A "facetReference" is a virtual reference added to all the eObjets which are conform to the facet owning the "facetReference".
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetReference()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface FacetReference extends EReference, QueryFacetElement {
+} // FacetReference
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetSet.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetSet.java
new file mode 100644
index 00000000000..878e3b68500
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/FacetSet.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Facet Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.FacetSet#getFacets <em>Facets</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.FacetSet#getCategories <em>Categories</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.FacetSet#getExtendedEPackage <em>Extended EPackage</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetSet()
+ * @model annotation="GenModel documentation='A \"FacetSet\" is the root element of a facet model. It contains a list of \"Facet\".'"
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface FacetSet extends EPackage {
+ /**
+ * Returns the value of the '<em><b>Facets</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.Facet}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.facet.efacet.Facet#getFacetSet <em>Facet Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Facets</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Facets</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetSet_Facets()
+ * @see org.eclipse.emf.facet.efacet.Facet#getFacetSet
+ * @model opposite="facetSet" containment="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EList<Facet> getFacets();
+
+ /**
+ * Returns the value of the '<em><b>Categories</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.Category}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Categories</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Categories</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetSet_Categories()
+ * @model containment="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EList<Category> getCategories();
+
+ /**
+ * Returns the value of the '<em><b>Extended EPackage</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extended EPackage</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extended EPackage</em>' reference.
+ * @see #setExtendedEPackage(EPackage)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getFacetSet_ExtendedEPackage()
+ * @model required="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EPackage getExtendedEPackage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.FacetSet#getExtendedEPackage <em>Extended EPackage</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Extended EPackage</em>' reference.
+ * @see #getExtendedEPackage()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setExtendedEPackage(EPackage value);
+
+} // FacetSet
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Literal.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Literal.java
new file mode 100644
index 00000000000..cd91d64672b
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Literal.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A query return a static literal.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.Literal#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getLiteral()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface Literal extends Query {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The literal value is stored in a string.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getLiteral_Value()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.Literal#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setValue(String value);
+
+} // Literal
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/OppositeReference.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/OppositeReference.java
new file mode 100644
index 00000000000..0e2eabb96ed
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/OppositeReference.java
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Opposite Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This is a virtual opposite reference of an existing reference.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.OppositeReference#getFOpposite <em>FOpposite</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getOppositeReference()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface OppositeReference extends FacetElement {
+ /**
+ * Returns the value of the '<em><b>FOpposite</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>FOpposite</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>FOpposite</em>' reference.
+ * @see #setFOpposite(EReference)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getOppositeReference_FOpposite()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EReference getFOpposite();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.OppositeReference#getFOpposite <em>FOpposite</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>FOpposite</em>' reference.
+ * @see #getFOpposite()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setFOpposite(EReference value);
+
+} // OppositeReference
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Parameter.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Parameter.java
new file mode 100644
index 00000000000..97c421bf98a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Parameter.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.ecore.ETypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This is the declaration of a query parameter.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getParameter()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface Parameter extends ETypedElement {
+} // Parameter
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/ParameterValue.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/ParameterValue.java
new file mode 100644
index 00000000000..c0096b48296
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/ParameterValue.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This is the value given as a parameter to execute a query.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.ParameterValue#getParameter <em>Parameter</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.ParameterValue#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getParameterValue()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface ParameterValue extends EObject {
+ /**
+ * Returns the value of the '<em><b>Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameter</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameter</em>' reference.
+ * @see #setParameter(Parameter)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getParameterValue_Parameter()
+ * @model required="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Parameter getParameter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.ParameterValue#getParameter <em>Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parameter</em>' reference.
+ * @see #getParameter()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setParameter(Parameter value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.Object}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute list.
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getParameterValue_Value()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EList<Object> getValue();
+
+} // ParameterValue
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Query.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Query.java
new file mode 100644
index 00000000000..e3d477cc6f5
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/Query.java
@@ -0,0 +1,155 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ETypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A query is the abstract representation of the concept query. This class has to be sub-classed for each existing query language (Java, OCL,...)
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.Query#getScope <em>Scope</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.Query#isHasSideEffect <em>Has Side Effect</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.Query#isCanBeCached <em>Can Be Cached</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.Query#getParameters <em>Parameters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQuery()
+ * @model abstract="true"
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface Query extends ETypedElement {
+ /**
+ * Returns the value of the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The query's scope defines the type of model elements a query can be applied on.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Scope</em>' reference.
+ * @see #setScope(EClass)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQuery_Scope()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EClass getScope();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.Query#getScope <em>Scope</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Scope</em>' reference.
+ * @see #getScope()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setScope(EClass value);
+
+ /**
+ * Returns the value of the '<em><b>Has Side Effect</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This attribute has to be true if the query modify the model.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Has Side Effect</em>' attribute.
+ * @see #setHasSideEffect(boolean)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQuery_HasSideEffect()
+ * @model default="false"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ boolean isHasSideEffect();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.Query#isHasSideEffect <em>Has Side Effect</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Has Side Effect</em>' attribute.
+ * @see #isHasSideEffect()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setHasSideEffect(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Can Be Cached</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The attribute "canBeCached" has to be true if calling a query on the same model element will always return the same result.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Can Be Cached</em>' attribute.
+ * @see #setCanBeCached(boolean)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQuery_CanBeCached()
+ * @model default="false"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ boolean isCanBeCached();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.Query#isCanBeCached <em>Can Be Cached</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Can Be Cached</em>' attribute.
+ * @see #isCanBeCached()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setCanBeCached(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.Parameter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameters</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameters</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQuery_Parameters()
+ * @model containment="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EList<Parameter> getParameters();
+
+} // Query
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryContext.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryContext.java
new file mode 100644
index 00000000000..6042d4ec869
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryContext.java
@@ -0,0 +1,83 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query Context</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This is a class used to evaluate a query on every given model element.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.QueryContext#getSelectedModelElements <em>Selected Model Elements</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.QueryContext#getSelectedModels <em>Selected Models</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryContext()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface QueryContext extends EObject {
+ /**
+ * Returns the value of the '<em><b>Selected Model Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Selected Model Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Selected Model Elements</em>' reference list.
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryContext_SelectedModelElements()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EList<EObject> getSelectedModelElements();
+
+ /**
+ * Returns the value of the '<em><b>Selected Models</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.resource.Resource}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Selected Models</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Selected Models</em>' attribute list.
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryContext_SelectedModels()
+ * @model transient="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EList<Resource> getSelectedModels();
+
+} // QueryContext
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryFacetElement.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryFacetElement.java
new file mode 100644
index 00000000000..cd8cdfcc670
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryFacetElement.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query Facet Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A query facet element is a virtual structural feature which value is computed using a query.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.QueryFacetElement#getQuery <em>Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryFacetElement()
+ * @model abstract="true"
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface QueryFacetElement extends FacetElement {
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' containment reference.
+ * @see #setQuery(Query)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryFacetElement_Query()
+ * @model containment="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Query getQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.QueryFacetElement#getQuery <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Query</em>' containment reference.
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setQuery(Query value);
+
+} // QueryFacetElement
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryResult.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryResult.java
new file mode 100644
index 00000000000..68b3b5e36b0
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QueryResult.java
@@ -0,0 +1,213 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query Result</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This class represents the result of a query execution.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.QueryResult#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.QueryResult#getScope <em>Scope</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.QueryResult#getParameterValues <em>Parameter Values</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.QueryResult#getResult <em>Result</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.QueryResult#getException <em>Exception</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.QueryResult#getSource <em>Source</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryResult()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface QueryResult extends EObject {
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The reference "query" references the executed query.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Query</em>' reference.
+ * @see #setQuery(Query)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryResult_Query()
+ * @model required="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Query getQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.QueryResult#getQuery <em>Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Query</em>' reference.
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setQuery(Query value);
+
+ /**
+ * Returns the value of the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The scope references the model elements on which the query has been applied.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Scope</em>' reference.
+ * @see #setScope(EObject)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryResult_Scope()
+ * @model required="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EObject getScope();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.QueryResult#getScope <em>Scope</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Scope</em>' reference.
+ * @see #getScope()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setScope(EObject value);
+
+ /**
+ * Returns the value of the '<em><b>Parameter Values</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.ParameterValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This is the list of the values given as parameters for the query execution.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Parameter Values</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryResult_ParameterValues()
+ * @model containment="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EList<ParameterValue> getParameterValues();
+
+ /**
+ * Returns the value of the '<em><b>Result</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This is the result returned by the query execution.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Result</em>' attribute.
+ * @see #setResult(Object)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryResult_Result()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Object getResult();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.QueryResult#getResult <em>Result</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Result</em>' attribute.
+ * @see #getResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setResult(Object value);
+
+ /**
+ * Returns the value of the '<em><b>Exception</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exception</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exception</em>' attribute.
+ * @see #setException(Exception)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryResult_Exception()
+ * @model dataType="org.eclipse.emf.facet.efacet.JavaException"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ Exception getException();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.QueryResult#getException <em>Exception</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exception</em>' attribute.
+ * @see #getException()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setException(Exception value);
+
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source</em>' reference.
+ * @see #setSource(EObject)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQueryResult_Source()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EObject getSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.QueryResult#getSource <em>Source</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source</em>' reference.
+ * @see #getSource()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setSource(EObject value);
+
+} // QueryResult
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QuerySet.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QuerySet.java
new file mode 100644
index 00000000000..1fa03dd9c2c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/QuerySet.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.QuerySet#getQueries <em>Queries</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.QuerySet#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQuerySet()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore validationDelegates='not(self.queries->exists(q1|self.queries->exists(q2|q2&lt;>q1 and q2.name = q1.name and q2.scope=q1.scope and q2.parameters = q1.parameters) and self.queries->forAll(q|q.scope = null)'"
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface QuerySet extends EObject {
+ /**
+ * Returns the value of the '<em><b>Queries</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.Query}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Queries</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Queries</em>' containment reference list.
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQuerySet_Queries()
+ * @model containment="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ EList<Query> getQueries();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getQuerySet_Name()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.QuerySet#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setName(String value);
+
+} // QuerySet
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/TypedElementRef.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/TypedElementRef.java
new file mode 100644
index 00000000000..02b43c4f822
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/TypedElementRef.java
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet;
+
+import org.eclipse.emf.ecore.ETypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Typed Element Ref</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This query can result in content of another attribute, reference or operation.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.TypedElementRef#getTypedElement <em>Typed Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getTypedElementRef()
+ * @model
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public interface TypedElementRef extends Query {
+ /**
+ * Returns the value of the '<em><b>Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Typed Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Typed Element</em>' reference.
+ * @see #setTypedElement(ETypedElement)
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#getTypedElementRef_TypedElement()
+ * @model required="true"
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ ETypedElement getTypedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.facet.efacet.TypedElementRef#getTypedElement <em>Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Typed Element</em>' reference.
+ * @see #getTypedElement()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ void setTypedElement(ETypedElement value);
+
+} // TypedElementRef
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/CategoryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/CategoryImpl.java
new file mode 100644
index 00000000000..86d73035f72
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/CategoryImpl.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.facet.efacet.Category;
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Category</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class CategoryImpl extends EObjectImpl implements Category {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected CategoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.CATEGORY;
+ }
+
+} //CategoryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/EFacetFactoryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/EFacetFactoryImpl.java
new file mode 100644
index 00000000000..df613d32bfa
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/EFacetFactoryImpl.java
@@ -0,0 +1,346 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.facet.efacet.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class EFacetFactoryImpl extends EFactoryImpl implements EFacetFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public static EFacetFactory init() {
+ try {
+ EFacetFactory theEFacetFactory = (EFacetFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/facet/efacet/0.1.incubation"); //$NON-NLS-1$
+ if (theEFacetFactory != null) {
+ return theEFacetFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EFacetFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EFacetFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public EObject create(final EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case EFacetPackage.FACET_ATTRIBUTE: return createFacetAttribute();
+ case EFacetPackage.FACET_REFERENCE: return createFacetReference();
+ case EFacetPackage.FACET_OPERATION: return createFacetOperation();
+ case EFacetPackage.FACET_SET: return createFacetSet();
+ case EFacetPackage.FACET: return createFacet();
+ case EFacetPackage.QUERY_RESULT: return createQueryResult();
+ case EFacetPackage.CATEGORY: return createCategory();
+ case EFacetPackage.OPPOSITE_REFERENCE: return createOppositeReference();
+ case EFacetPackage.QUERY_SET: return createQuerySet();
+ case EFacetPackage.LITERAL: return createLiteral();
+ case EFacetPackage.TYPED_ELEMENT_REF: return createTypedElementRef();
+ case EFacetPackage.PARAMETER: return createParameter();
+ case EFacetPackage.PARAMETER_VALUE: return createParameterValue();
+ case EFacetPackage.QUERY_CONTEXT: return createQueryContext();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object createFromString(final EDataType eDataType, final String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case EFacetPackage.JAVA_EXCEPTION:
+ return createJavaExceptionFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public String convertToString(final EDataType eDataType, final Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case EFacetPackage.JAVA_EXCEPTION:
+ return convertJavaExceptionToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public FacetAttribute createFacetAttribute() {
+ FacetAttributeImpl facetAttribute = new FacetAttributeImpl();
+ return facetAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public FacetReference createFacetReference() {
+ FacetReferenceImpl facetReference = new FacetReferenceImpl();
+ return facetReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public FacetOperation createFacetOperation() {
+ FacetOperationImpl facetOperation = new FacetOperationImpl();
+ return facetOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public FacetSet createFacetSet() {
+ FacetSetImpl facetSet = new FacetSetImpl();
+ return facetSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Facet createFacet() {
+ FacetImpl facet = new FacetImpl();
+ return facet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public QueryResult createQueryResult() {
+ QueryResultImpl queryResult = new QueryResultImpl();
+ return queryResult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Category createCategory() {
+ CategoryImpl category = new CategoryImpl();
+ return category;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public OppositeReference createOppositeReference() {
+ OppositeReferenceImpl oppositeReference = new OppositeReferenceImpl();
+ return oppositeReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public QuerySet createQuerySet() {
+ QuerySetImpl querySet = new QuerySetImpl();
+ return querySet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Literal createLiteral() {
+ LiteralImpl literal = new LiteralImpl();
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public TypedElementRef createTypedElementRef() {
+ TypedElementRefImpl typedElementRef = new TypedElementRefImpl();
+ return typedElementRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Parameter createParameter() {
+ ParameterImpl parameter = new ParameterImpl();
+ return parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ParameterValue createParameterValue() {
+ ParameterValueImpl parameterValue = new ParameterValueImpl();
+ return parameterValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public QueryContext createQueryContext() {
+ QueryContextImpl queryContext = new QueryContextImpl();
+ return queryContext;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Exception createJavaExceptionFromString(final EDataType eDataType, final String initialValue) {
+ return (Exception)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public String convertJavaExceptionToString(final EDataType eDataType, final Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EFacetPackage getEFacetPackage() {
+ return (EFacetPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public static EFacetPackage getPackage() {
+ return EFacetPackage.eINSTANCE;
+ }
+
+} //EFacetFactoryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/EFacetPackageImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/EFacetPackageImpl.java
new file mode 100644
index 00000000000..8214b683d83
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/EFacetPackageImpl.java
@@ -0,0 +1,1109 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.facet.efacet.Category;
+import org.eclipse.emf.facet.efacet.EFacetFactory;
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Facet;
+import org.eclipse.emf.facet.efacet.FacetAttribute;
+import org.eclipse.emf.facet.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.FacetOperation;
+import org.eclipse.emf.facet.efacet.FacetReference;
+import org.eclipse.emf.facet.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.Literal;
+import org.eclipse.emf.facet.efacet.OppositeReference;
+import org.eclipse.emf.facet.efacet.Parameter;
+import org.eclipse.emf.facet.efacet.ParameterValue;
+import org.eclipse.emf.facet.efacet.Query;
+import org.eclipse.emf.facet.efacet.QueryContext;
+import org.eclipse.emf.facet.efacet.QueryFacetElement;
+import org.eclipse.emf.facet.efacet.QueryResult;
+import org.eclipse.emf.facet.efacet.QuerySet;
+import org.eclipse.emf.facet.efacet.TypedElementRef;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class EFacetPackageImpl extends EPackageImpl implements EFacetPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass facetAttributeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass facetReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass facetOperationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass facetSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass facetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass queryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass queryResultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass categoryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass facetElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass queryFacetElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass oppositeReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass querySetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass literalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass typedElementRefEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass parameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass parameterValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EClass queryContextEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EDataType javaExceptionEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage#eNS_URI
+ * @see #init()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private EFacetPackageImpl() {
+ super(EFacetPackage.eNS_URI, EFacetFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ 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 EFacetPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public static EFacetPackage init() {
+ if (EFacetPackageImpl.isInited) {
+ return (EFacetPackage)EPackage.Registry.INSTANCE.getEPackage(EFacetPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ EFacetPackageImpl theEFacetPackage = (EFacetPackageImpl)(EPackage.Registry.INSTANCE.get(EFacetPackage.eNS_URI) instanceof EFacetPackageImpl ? EPackage.Registry.INSTANCE.get(EFacetPackage.eNS_URI) : new EFacetPackageImpl());
+
+ EFacetPackageImpl.isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theEFacetPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theEFacetPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theEFacetPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(EFacetPackage.eNS_URI, theEFacetPackage);
+ return theEFacetPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getFacetAttribute() {
+ return this.facetAttributeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getFacetReference() {
+ return this.facetReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getFacetOperation() {
+ return this.facetOperationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getFacetSet() {
+ return this.facetSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFacetSet_Facets() {
+ return (EReference)this.facetSetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFacetSet_Categories() {
+ return (EReference)this.facetSetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFacetSet_ExtendedEPackage() {
+ return (EReference)this.facetSetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getFacet() {
+ return this.facetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFacet_FacetSet() {
+ return (EReference)this.facetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFacet_ConformanceQuery() {
+ return (EReference)this.facetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFacet_ExtendedMetaclass() {
+ return (EReference)this.facetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFacet_FacetElements() {
+ return (EReference)this.facetEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getQuery() {
+ return this.queryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getQuery_Scope() {
+ return (EReference)this.queryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EAttribute getQuery_HasSideEffect() {
+ return (EAttribute)this.queryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EAttribute getQuery_CanBeCached() {
+ return (EAttribute)this.queryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getQuery_Parameters() {
+ return (EReference)this.queryEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getQueryResult() {
+ return this.queryResultEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getQueryResult_Query() {
+ return (EReference)this.queryResultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getQueryResult_Scope() {
+ return (EReference)this.queryResultEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getQueryResult_ParameterValues() {
+ return (EReference)this.queryResultEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EAttribute getQueryResult_Result() {
+ return (EAttribute)this.queryResultEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EAttribute getQueryResult_Exception() {
+ return (EAttribute)this.queryResultEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getQueryResult_Source() {
+ return (EReference)this.queryResultEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getCategory() {
+ return this.categoryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getFacetElement() {
+ return this.facetElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFacetElement_Categories() {
+ return (EReference)this.facetElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFacetElement_Facet() {
+ return (EReference)this.facetElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFacetElement_Override() {
+ return (EReference)this.facetElementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getQueryFacetElement() {
+ return this.queryFacetElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getQueryFacetElement_Query() {
+ return (EReference)this.queryFacetElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getOppositeReference() {
+ return this.oppositeReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getOppositeReference_FOpposite() {
+ return (EReference)this.oppositeReferenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getQuerySet() {
+ return this.querySetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getQuerySet_Queries() {
+ return (EReference)this.querySetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EAttribute getQuerySet_Name() {
+ return (EAttribute)this.querySetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getLiteral() {
+ return this.literalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EAttribute getLiteral_Value() {
+ return (EAttribute)this.literalEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getTypedElementRef() {
+ return this.typedElementRefEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getTypedElementRef_TypedElement() {
+ return (EReference)this.typedElementRefEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getParameter() {
+ return this.parameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getParameterValue() {
+ return this.parameterValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getParameterValue_Parameter() {
+ return (EReference)this.parameterValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EAttribute getParameterValue_Value() {
+ return (EAttribute)this.parameterValueEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getQueryContext() {
+ return this.queryContextEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getQueryContext_SelectedModelElements() {
+ return (EReference)this.queryContextEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EAttribute getQueryContext_SelectedModels() {
+ return (EAttribute)this.queryContextEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EDataType getJavaException() {
+ return this.javaExceptionEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EFacetFactory getEFacetFactory() {
+ return (EFacetFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ 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
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void createPackageContents() {
+ if (this.isCreated) {
+ return;
+ }
+ this.isCreated = true;
+
+ // Create classes and their features
+ this.facetAttributeEClass = createEClass(EFacetPackage.FACET_ATTRIBUTE);
+
+ this.facetReferenceEClass = createEClass(EFacetPackage.FACET_REFERENCE);
+
+ this.facetOperationEClass = createEClass(EFacetPackage.FACET_OPERATION);
+
+ this.facetSetEClass = createEClass(EFacetPackage.FACET_SET);
+ createEReference(this.facetSetEClass, EFacetPackage.FACET_SET__FACETS);
+ createEReference(this.facetSetEClass, EFacetPackage.FACET_SET__CATEGORIES);
+ createEReference(this.facetSetEClass, EFacetPackage.FACET_SET__EXTENDED_EPACKAGE);
+
+ this.facetEClass = createEClass(EFacetPackage.FACET);
+ createEReference(this.facetEClass, EFacetPackage.FACET__FACET_SET);
+ createEReference(this.facetEClass, EFacetPackage.FACET__CONFORMANCE_QUERY);
+ createEReference(this.facetEClass, EFacetPackage.FACET__EXTENDED_METACLASS);
+ createEReference(this.facetEClass, EFacetPackage.FACET__FACET_ELEMENTS);
+
+ this.queryEClass = createEClass(EFacetPackage.QUERY);
+ createEReference(this.queryEClass, EFacetPackage.QUERY__SCOPE);
+ createEAttribute(this.queryEClass, EFacetPackage.QUERY__HAS_SIDE_EFFECT);
+ createEAttribute(this.queryEClass, EFacetPackage.QUERY__CAN_BE_CACHED);
+ createEReference(this.queryEClass, EFacetPackage.QUERY__PARAMETERS);
+
+ this.queryResultEClass = createEClass(EFacetPackage.QUERY_RESULT);
+ createEReference(this.queryResultEClass, EFacetPackage.QUERY_RESULT__QUERY);
+ createEReference(this.queryResultEClass, EFacetPackage.QUERY_RESULT__SCOPE);
+ createEReference(this.queryResultEClass, EFacetPackage.QUERY_RESULT__PARAMETER_VALUES);
+ createEAttribute(this.queryResultEClass, EFacetPackage.QUERY_RESULT__RESULT);
+ createEAttribute(this.queryResultEClass, EFacetPackage.QUERY_RESULT__EXCEPTION);
+ createEReference(this.queryResultEClass, EFacetPackage.QUERY_RESULT__SOURCE);
+
+ this.categoryEClass = createEClass(EFacetPackage.CATEGORY);
+
+ this.facetElementEClass = createEClass(EFacetPackage.FACET_ELEMENT);
+ createEReference(this.facetElementEClass, EFacetPackage.FACET_ELEMENT__CATEGORIES);
+ createEReference(this.facetElementEClass, EFacetPackage.FACET_ELEMENT__FACET);
+ createEReference(this.facetElementEClass, EFacetPackage.FACET_ELEMENT__OVERRIDE);
+
+ this.queryFacetElementEClass = createEClass(EFacetPackage.QUERY_FACET_ELEMENT);
+ createEReference(this.queryFacetElementEClass, EFacetPackage.QUERY_FACET_ELEMENT__QUERY);
+
+ this.oppositeReferenceEClass = createEClass(EFacetPackage.OPPOSITE_REFERENCE);
+ createEReference(this.oppositeReferenceEClass, EFacetPackage.OPPOSITE_REFERENCE__FOPPOSITE);
+
+ this.querySetEClass = createEClass(EFacetPackage.QUERY_SET);
+ createEReference(this.querySetEClass, EFacetPackage.QUERY_SET__QUERIES);
+ createEAttribute(this.querySetEClass, EFacetPackage.QUERY_SET__NAME);
+
+ this.literalEClass = createEClass(EFacetPackage.LITERAL);
+ createEAttribute(this.literalEClass, EFacetPackage.LITERAL__VALUE);
+
+ this.typedElementRefEClass = createEClass(EFacetPackage.TYPED_ELEMENT_REF);
+ createEReference(this.typedElementRefEClass, EFacetPackage.TYPED_ELEMENT_REF__TYPED_ELEMENT);
+
+ this.parameterEClass = createEClass(EFacetPackage.PARAMETER);
+
+ this.parameterValueEClass = createEClass(EFacetPackage.PARAMETER_VALUE);
+ createEReference(this.parameterValueEClass, EFacetPackage.PARAMETER_VALUE__PARAMETER);
+ createEAttribute(this.parameterValueEClass, EFacetPackage.PARAMETER_VALUE__VALUE);
+
+ this.queryContextEClass = createEClass(EFacetPackage.QUERY_CONTEXT);
+ createEReference(this.queryContextEClass, EFacetPackage.QUERY_CONTEXT__SELECTED_MODEL_ELEMENTS);
+ createEAttribute(this.queryContextEClass, EFacetPackage.QUERY_CONTEXT__SELECTED_MODELS);
+
+ // Create data types
+ this.javaExceptionEDataType = createEDataType(EFacetPackage.JAVA_EXCEPTION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void initializePackageContents() {
+ if (this.isInitialized) {
+ return;
+ }
+ this.isInitialized = true;
+
+ // Initialize package
+ setName(EFacetPackage.eNAME);
+ setNsPrefix(EFacetPackage.eNS_PREFIX);
+ setNsURI(EFacetPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ this.facetAttributeEClass.getESuperTypes().add(this.ecorePackage.getEAttribute());
+ this.facetAttributeEClass.getESuperTypes().add(getQueryFacetElement());
+ this.facetReferenceEClass.getESuperTypes().add(this.ecorePackage.getEReference());
+ this.facetReferenceEClass.getESuperTypes().add(getQueryFacetElement());
+ this.facetOperationEClass.getESuperTypes().add(this.ecorePackage.getEOperation());
+ this.facetOperationEClass.getESuperTypes().add(getQueryFacetElement());
+ this.facetSetEClass.getESuperTypes().add(this.ecorePackage.getEPackage());
+ this.facetEClass.getESuperTypes().add(this.ecorePackage.getEClassifier());
+ this.queryEClass.getESuperTypes().add(this.ecorePackage.getETypedElement());
+ this.facetElementEClass.getESuperTypes().add(this.ecorePackage.getETypedElement());
+ this.queryFacetElementEClass.getESuperTypes().add(getFacetElement());
+ this.oppositeReferenceEClass.getESuperTypes().add(getFacetElement());
+ this.literalEClass.getESuperTypes().add(getQuery());
+ this.typedElementRefEClass.getESuperTypes().add(getQuery());
+ this.parameterEClass.getESuperTypes().add(this.ecorePackage.getETypedElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(this.facetAttributeEClass, FacetAttribute.class, "FacetAttribute", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(this.facetReferenceEClass, FacetReference.class, "FacetReference", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(this.facetOperationEClass, FacetOperation.class, "FacetOperation", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(this.facetSetEClass, FacetSet.class, "FacetSet", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getFacetSet_Facets(), getFacet(), getFacet_FacetSet(), "facets", null, 0, -1, FacetSet.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacetSet_Categories(), getCategory(), null, "categories", null, 0, -1, FacetSet.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacetSet_ExtendedEPackage(), this.ecorePackage.getEPackage(), null, "extendedEPackage", null, 1, 1, FacetSet.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.facetEClass, Facet.class, "Facet", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getFacet_FacetSet(), getFacetSet(), getFacetSet_Facets(), "facetSet", null, 0, 1, Facet.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacet_ConformanceQuery(), getQuery(), null, "conformanceQuery", null, 0, 1, Facet.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacet_ExtendedMetaclass(), this.ecorePackage.getEClass(), null, "extendedMetaclass", null, 0, 1, Facet.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacet_FacetElements(), getFacetElement(), getFacetElement_Facet(), "facetElements", null, 0, -1, Facet.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.queryEClass, Query.class, "Query", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getQuery_Scope(), this.ecorePackage.getEClass(), null, "scope", null, 0, 1, Query.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getQuery_HasSideEffect(), this.ecorePackage.getEBoolean(), "hasSideEffect", "false", 0, 1, Query.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+ initEAttribute(getQuery_CanBeCached(), this.ecorePackage.getEBoolean(), "canBeCached", "false", 0, 1, Query.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+ initEReference(getQuery_Parameters(), getParameter(), null, "parameters", null, 0, -1, Query.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.queryResultEClass, QueryResult.class, "QueryResult", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getQueryResult_Query(), getQuery(), null, "query", null, 1, 1, QueryResult.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEReference(getQueryResult_Scope(), this.ecorePackage.getEObject(), null, "scope", null, 1, 1, QueryResult.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEReference(getQueryResult_ParameterValues(), getParameterValue(), null, "parameterValues", null, 0, -1, QueryResult.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getQueryResult_Result(), this.ecorePackage.getEJavaObject(), "result", null, 0, 1, QueryResult.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getQueryResult_Exception(), getJavaException(), "exception", null, 0, 1, QueryResult.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEReference(getQueryResult_Source(), this.ecorePackage.getEObject(), null, "source", null, 0, 1, QueryResult.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.categoryEClass, Category.class, "Category", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(this.facetElementEClass, FacetElement.class, "FacetElement", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getFacetElement_Categories(), getCategory(), null, "categories", null, 0, -1, FacetElement.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacetElement_Facet(), getFacet(), getFacet_FacetElements(), "facet", null, 1, 1, FacetElement.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEReference(getFacetElement_Override(), this.ecorePackage.getETypedElement(), null, "override", null, 0, 1, FacetElement.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.queryFacetElementEClass, QueryFacetElement.class, "QueryFacetElement", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getQueryFacetElement_Query(), getQuery(), null, "query", null, 0, 1, QueryFacetElement.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.oppositeReferenceEClass, OppositeReference.class, "OppositeReference", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getOppositeReference_FOpposite(), this.ecorePackage.getEReference(), null, "fOpposite", null, 0, 1, OppositeReference.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.querySetEClass, QuerySet.class, "QuerySet", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getQuerySet_Queries(), getQuery(), null, "queries", null, 0, -1, QuerySet.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getQuerySet_Name(), this.ecorePackage.getEString(), "name", null, 0, 1, QuerySet.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.literalEClass, Literal.class, "Literal", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getLiteral_Value(), this.ecorePackage.getEString(), "value", null, 0, 1, Literal.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.typedElementRefEClass, TypedElementRef.class, "TypedElementRef", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getTypedElementRef_TypedElement(), this.ecorePackage.getETypedElement(), null, "typedElement", null, 1, 1, TypedElementRef.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.parameterEClass, Parameter.class, "Parameter", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(this.parameterValueEClass, ParameterValue.class, "ParameterValue", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getParameterValue_Parameter(), getParameter(), null, "parameter", null, 1, 1, ParameterValue.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getParameterValue_Value(), this.ecorePackage.getEJavaObject(), "value", null, 0, -1, ParameterValue.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(this.queryContextEClass, QueryContext.class, "QueryContext", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getQueryContext_SelectedModelElements(), this.ecorePackage.getEObject(), null, "selectedModelElements", null, 0, -1, QueryContext.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getQueryContext_SelectedModels(), this.ecorePackage.getEResource(), "selectedModels", null, 0, -1, QueryContext.class, EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+
+ // Initialize data types
+ initEDataType(this.javaExceptionEDataType, Exception.class, "JavaException", EPackageImpl.IS_SERIALIZABLE, !EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ // Create resource
+ createResource(EFacetPackage.eNS_URI);
+
+ // Create annotations
+ // GenModel
+ createGenModel_1Annotations();
+ // http://www.eclipse.org/emf/2002/Ecore
+ createEcoreAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>GenModel</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected void createGenModel_1Annotations() {
+ String source = "GenModel"; //$NON-NLS-1$
+ addAnnotation
+ (this.facetSetEClass,
+ source,
+ new String[] {
+ "documentation", "A \"FacetSet\" is the root element of a facet model. It contains a list of \"Facet\"." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation
+ (getFacet_ConformanceQuery(),
+ source,
+ new String[] {
+ "documentation", "The \"conformanceQuery\" references points to the ModelQuery class. The model queries pointed to by the \"conformanceQuery\" reference must return a Boolean. Those queries are used to specify how to decide whether an instance conforms to a facet. If the \"conditionQuery\" is empty then all the instances of the class referred to by the facet instance through the eSuperType reference conform to this facet. " //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation
+ (getFacet_ExtendedMetaclass(),
+ source,
+ new String[] {
+ "documentation", "The \"extendedMetaclass\" reference references the virtually subtyped EClass." //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected void createEcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore"; //$NON-NLS-1$
+ addAnnotation
+ (this.facetEClass,
+ source,
+ new String[] {
+ "validationDelegates", "( self.query.scope = self.facet.extendedMetaClass ) and ( self.query.name = self.name )" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation
+ (this.facetEClass,
+ source,
+ new String[] {
+ "validationDelegates", "self.conformanceQuery.scope = self.extendedMetaClass" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation
+ (this.querySetEClass,
+ source,
+ new String[] {
+ "validationDelegates", "not(self.queries->exists(q1|self.queries->exists(q2|q2&lt;>q1 and q2.name = q1.name and q2.scope=q1.scope and q2.parameters = q1.parameters) and self.queries->forAll(q|q.scope = null)" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+} //EFacetPackageImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetAttributeImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetAttributeImpl.java
new file mode 100644
index 00000000000..288e00c0f79
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetAttributeImpl.java
@@ -0,0 +1,500 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EAttributeImpl;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.facet.efacet.Category;
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Facet;
+import org.eclipse.emf.facet.efacet.FacetAttribute;
+import org.eclipse.emf.facet.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.Query;
+import org.eclipse.emf.facet.efacet.QueryFacetElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetAttributeImpl#getCategories <em>Categories</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetAttributeImpl#getFacet <em>Facet</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetAttributeImpl#getOverride <em>Override</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetAttributeImpl#getQuery <em>Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class FacetAttributeImpl extends EAttributeImpl implements FacetAttribute {
+ /**
+ * The cached value of the '{@link #getCategories() <em>Categories</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategories()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<Category> categories;
+
+ /**
+ * The cached value of the '{@link #getOverride() <em>Override</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOverride()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected ETypedElement override;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected Query query;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected FacetAttributeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET_ATTRIBUTE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<Category> getCategories() {
+ if (this.categories == null) {
+ this.categories = new EObjectResolvingEList<Category>(Category.class, this, EFacetPackage.FACET_ATTRIBUTE__CATEGORIES);
+ }
+ return this.categories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Facet getFacet() {
+ if (eContainerFeatureID() != EFacetPackage.FACET_ATTRIBUTE__FACET) {
+ return null;
+ }
+ return (Facet)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public NotificationChain basicSetFacet(final Facet newFacet, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newFacet, EFacetPackage.FACET_ATTRIBUTE__FACET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setFacet(final Facet newFacet) {
+ if (newFacet != eInternalContainer() || (eContainerFeatureID() != EFacetPackage.FACET_ATTRIBUTE__FACET && newFacet != null)) {
+ if (EcoreUtil.isAncestor(this, newFacet))
+ {
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ }
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ if (newFacet != null) {
+ msgs = ((InternalEObject)newFacet).eInverseAdd(this, EFacetPackage.FACET__FACET_ELEMENTS, Facet.class, msgs);
+ }
+ msgs = basicSetFacet(newFacet, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ATTRIBUTE__FACET, newFacet, newFacet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ETypedElement getOverride() {
+ if (this.override != null && this.override.eIsProxy()) {
+ InternalEObject oldOverride = (InternalEObject)this.override;
+ this.override = (ETypedElement)eResolveProxy(oldOverride);
+ if (this.override != oldOverride) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET_ATTRIBUTE__OVERRIDE, oldOverride, this.override));
+ }
+ }
+ }
+ return this.override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ETypedElement basicGetOverride() {
+ return this.override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setOverride(final ETypedElement newOverride) {
+ ETypedElement oldOverride = this.override;
+ this.override = newOverride;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ATTRIBUTE__OVERRIDE, oldOverride, this.override));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Query getQuery() {
+ return this.query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public NotificationChain basicSetQuery(final Query newQuery, NotificationChain msgs) {
+ Query oldQuery = this.query;
+ this.query = newQuery;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ATTRIBUTE__QUERY, oldQuery, newQuery);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setQuery(final Query newQuery) {
+ if (newQuery != this.query) {
+ NotificationChain msgs = null;
+ if (this.query != null) {
+ msgs = ((InternalEObject)this.query).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_ATTRIBUTE__QUERY, null, msgs);
+ }
+ if (newQuery != null) {
+ msgs = ((InternalEObject)newQuery).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_ATTRIBUTE__QUERY, null, msgs);
+ }
+ msgs = basicSetQuery(newQuery, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ATTRIBUTE__QUERY, newQuery, newQuery));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseAdd(final InternalEObject otherEnd, final int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__FACET:
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ return basicSetFacet((Facet)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseRemove(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__FACET:
+ return basicSetFacet(null, msgs);
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY:
+ return basicSetQuery(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(final NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case EFacetPackage.FACET_ATTRIBUTE__FACET:
+ return eInternalContainer().eInverseRemove(this, EFacetPackage.FACET__FACET_ELEMENTS, Facet.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__CATEGORIES:
+ return getCategories();
+ case EFacetPackage.FACET_ATTRIBUTE__FACET:
+ return getFacet();
+ case EFacetPackage.FACET_ATTRIBUTE__OVERRIDE:
+ if (resolve) {
+ return getOverride();
+ }
+ return basicGetOverride();
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY:
+ return getQuery();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__CATEGORIES:
+ getCategories().clear();
+ getCategories().addAll((Collection<? extends Category>)newValue);
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__FACET:
+ setFacet((Facet)newValue);
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__OVERRIDE:
+ setOverride((ETypedElement)newValue);
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY:
+ setQuery((Query)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__CATEGORIES:
+ getCategories().clear();
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__FACET:
+ setFacet((Facet)null);
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__OVERRIDE:
+ setOverride((ETypedElement)null);
+ return;
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY:
+ setQuery((Query)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__CATEGORIES:
+ return this.categories != null && !this.categories.isEmpty();
+ case EFacetPackage.FACET_ATTRIBUTE__FACET:
+ return getFacet() != null;
+ case EFacetPackage.FACET_ATTRIBUTE__OVERRIDE:
+ return this.override != null;
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY:
+ return this.query != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public int eBaseStructuralFeatureID(final int derivedFeatureID, final Class<?> baseClass) {
+ if (baseClass == FacetElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__CATEGORIES: return EFacetPackage.FACET_ELEMENT__CATEGORIES;
+ case EFacetPackage.FACET_ATTRIBUTE__FACET: return EFacetPackage.FACET_ELEMENT__FACET;
+ case EFacetPackage.FACET_ATTRIBUTE__OVERRIDE: return EFacetPackage.FACET_ELEMENT__OVERRIDE;
+ default: return -1;
+ }
+ }
+ if (baseClass == QueryFacetElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_ATTRIBUTE__QUERY: return EFacetPackage.QUERY_FACET_ELEMENT__QUERY;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public int eDerivedStructuralFeatureID(final int baseFeatureID, final Class<?> baseClass) {
+ if (baseClass == FacetElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES: return EFacetPackage.FACET_ATTRIBUTE__CATEGORIES;
+ case EFacetPackage.FACET_ELEMENT__FACET: return EFacetPackage.FACET_ATTRIBUTE__FACET;
+ case EFacetPackage.FACET_ELEMENT__OVERRIDE: return EFacetPackage.FACET_ATTRIBUTE__OVERRIDE;
+ default: return -1;
+ }
+ }
+ if (baseClass == QueryFacetElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.QUERY_FACET_ELEMENT__QUERY: return EFacetPackage.FACET_ATTRIBUTE__QUERY;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} //FacetAttributeImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetElementImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetElementImpl.java
new file mode 100644
index 00000000000..5c5fdefc330
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetElementImpl.java
@@ -0,0 +1,362 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.ETypedElementImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.facet.efacet.Category;
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Facet;
+import org.eclipse.emf.facet.efacet.FacetElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetElementImpl#getCategories <em>Categories</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetElementImpl#getFacet <em>Facet</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetElementImpl#getOverride <em>Override</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public abstract class FacetElementImpl extends ETypedElementImpl implements FacetElement {
+ /**
+ * The cached value of the '{@link #getCategories() <em>Categories</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategories()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<Category> categories;
+
+ /**
+ * The cached value of the '{@link #getOverride() <em>Override</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOverride()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected ETypedElement override;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected FacetElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<Category> getCategories() {
+ if (this.categories == null) {
+ this.categories = new EObjectResolvingEList<Category>(Category.class, this, EFacetPackage.FACET_ELEMENT__CATEGORIES);
+ }
+ return this.categories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Facet getFacet() {
+ if (eContainerFeatureID() != EFacetPackage.FACET_ELEMENT__FACET) {
+ return null;
+ }
+ return (Facet)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public NotificationChain basicSetFacet(final Facet newFacet, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newFacet, EFacetPackage.FACET_ELEMENT__FACET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setFacet(final Facet newFacet) {
+ if (newFacet != eInternalContainer() || (eContainerFeatureID() != EFacetPackage.FACET_ELEMENT__FACET && newFacet != null)) {
+ if (EcoreUtil.isAncestor(this, newFacet))
+ {
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ }
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ if (newFacet != null) {
+ msgs = ((InternalEObject)newFacet).eInverseAdd(this, EFacetPackage.FACET__FACET_ELEMENTS, Facet.class, msgs);
+ }
+ msgs = basicSetFacet(newFacet, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ELEMENT__FACET, newFacet, newFacet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ETypedElement getOverride() {
+ if (this.override != null && this.override.eIsProxy()) {
+ InternalEObject oldOverride = (InternalEObject)this.override;
+ this.override = (ETypedElement)eResolveProxy(oldOverride);
+ if (this.override != oldOverride) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET_ELEMENT__OVERRIDE, oldOverride, this.override));
+ }
+ }
+ }
+ return this.override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ETypedElement basicGetOverride() {
+ return this.override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setOverride(final ETypedElement newOverride) {
+ ETypedElement oldOverride = this.override;
+ this.override = newOverride;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_ELEMENT__OVERRIDE, oldOverride, this.override));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseAdd(final InternalEObject otherEnd, final int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ELEMENT__FACET:
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ return basicSetFacet((Facet)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseRemove(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ELEMENT__FACET:
+ return basicSetFacet(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(final NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case EFacetPackage.FACET_ELEMENT__FACET:
+ return eInternalContainer().eInverseRemove(this, EFacetPackage.FACET__FACET_ELEMENTS, Facet.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES:
+ return getCategories();
+ case EFacetPackage.FACET_ELEMENT__FACET:
+ return getFacet();
+ case EFacetPackage.FACET_ELEMENT__OVERRIDE:
+ if (resolve) {
+ return getOverride();
+ }
+ return basicGetOverride();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES:
+ getCategories().clear();
+ getCategories().addAll((Collection<? extends Category>)newValue);
+ return;
+ case EFacetPackage.FACET_ELEMENT__FACET:
+ setFacet((Facet)newValue);
+ return;
+ case EFacetPackage.FACET_ELEMENT__OVERRIDE:
+ setOverride((ETypedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES:
+ getCategories().clear();
+ return;
+ case EFacetPackage.FACET_ELEMENT__FACET:
+ setFacet((Facet)null);
+ return;
+ case EFacetPackage.FACET_ELEMENT__OVERRIDE:
+ setOverride((ETypedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES:
+ return this.categories != null && !this.categories.isEmpty();
+ case EFacetPackage.FACET_ELEMENT__FACET:
+ return getFacet() != null;
+ case EFacetPackage.FACET_ELEMENT__OVERRIDE:
+ return this.override != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FacetElementImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetImpl.java
new file mode 100644
index 00000000000..ec65ff76e13
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetImpl.java
@@ -0,0 +1,451 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EClassifierImpl;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Facet;
+import org.eclipse.emf.facet.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetImpl#getFacetSet <em>Facet Set</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetImpl#getConformanceQuery <em>Conformance Query</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetImpl#getExtendedMetaclass <em>Extended Metaclass</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetImpl#getFacetElements <em>Facet Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class FacetImpl extends EClassifierImpl implements Facet {
+ /**
+ * The cached value of the '{@link #getConformanceQuery() <em>Conformance Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConformanceQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected Query conformanceQuery;
+
+ /**
+ * The cached value of the '{@link #getExtendedMetaclass() <em>Extended Metaclass</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtendedMetaclass()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EClass extendedMetaclass;
+
+ /**
+ * The cached value of the '{@link #getFacetElements() <em>Facet Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFacetElements()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<FacetElement> facetElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected FacetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public FacetSet getFacetSet() {
+ if (eContainerFeatureID() != EFacetPackage.FACET__FACET_SET) {
+ return null;
+ }
+ return (FacetSet)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public NotificationChain basicSetFacetSet(final FacetSet newFacetSet, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newFacetSet, EFacetPackage.FACET__FACET_SET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setFacetSet(final FacetSet newFacetSet) {
+ if (newFacetSet != eInternalContainer() || (eContainerFeatureID() != EFacetPackage.FACET__FACET_SET && newFacetSet != null)) {
+ if (EcoreUtil.isAncestor(this, newFacetSet))
+ {
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ }
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ if (newFacetSet != null) {
+ msgs = ((InternalEObject)newFacetSet).eInverseAdd(this, EFacetPackage.FACET_SET__FACETS, FacetSet.class, msgs);
+ }
+ msgs = basicSetFacetSet(newFacetSet, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET__FACET_SET, newFacetSet, newFacetSet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Query getConformanceQuery() {
+ return this.conformanceQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public NotificationChain basicSetConformanceQuery(final Query newConformanceQuery, NotificationChain msgs) {
+ Query oldConformanceQuery = this.conformanceQuery;
+ this.conformanceQuery = newConformanceQuery;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET__CONFORMANCE_QUERY, oldConformanceQuery, newConformanceQuery);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setConformanceQuery(final Query newConformanceQuery) {
+ if (newConformanceQuery != this.conformanceQuery) {
+ NotificationChain msgs = null;
+ if (this.conformanceQuery != null) {
+ msgs = ((InternalEObject)this.conformanceQuery).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET__CONFORMANCE_QUERY, null, msgs);
+ }
+ if (newConformanceQuery != null) {
+ msgs = ((InternalEObject)newConformanceQuery).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET__CONFORMANCE_QUERY, null, msgs);
+ }
+ msgs = basicSetConformanceQuery(newConformanceQuery, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET__CONFORMANCE_QUERY, newConformanceQuery, newConformanceQuery));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getExtendedMetaclass() {
+ if (this.extendedMetaclass != null && this.extendedMetaclass.eIsProxy()) {
+ InternalEObject oldExtendedMetaclass = (InternalEObject)this.extendedMetaclass;
+ this.extendedMetaclass = (EClass)eResolveProxy(oldExtendedMetaclass);
+ if (this.extendedMetaclass != oldExtendedMetaclass) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET__EXTENDED_METACLASS, oldExtendedMetaclass, this.extendedMetaclass));
+ }
+ }
+ }
+ return this.extendedMetaclass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass basicGetExtendedMetaclass() {
+ return this.extendedMetaclass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setExtendedMetaclass(final EClass newExtendedMetaclass) {
+ EClass oldExtendedMetaclass = this.extendedMetaclass;
+ this.extendedMetaclass = newExtendedMetaclass;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET__EXTENDED_METACLASS, oldExtendedMetaclass, this.extendedMetaclass));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<FacetElement> getFacetElements() {
+ if (this.facetElements == null) {
+ this.facetElements = new EObjectContainmentWithInverseEList<FacetElement>(FacetElement.class, this, EFacetPackage.FACET__FACET_ELEMENTS, EFacetPackage.FACET_ELEMENT__FACET);
+ }
+ return this.facetElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(final InternalEObject otherEnd, final int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET__FACET_SET:
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ return basicSetFacetSet((FacetSet)otherEnd, msgs);
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getFacetElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseRemove(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET__FACET_SET:
+ return basicSetFacetSet(null, msgs);
+ case EFacetPackage.FACET__CONFORMANCE_QUERY:
+ return basicSetConformanceQuery(null, msgs);
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ return ((InternalEList<?>)getFacetElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(final NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case EFacetPackage.FACET__FACET_SET:
+ return eInternalContainer().eInverseRemove(this, EFacetPackage.FACET_SET__FACETS, FacetSet.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET__FACET_SET:
+ return getFacetSet();
+ case EFacetPackage.FACET__CONFORMANCE_QUERY:
+ return getConformanceQuery();
+ case EFacetPackage.FACET__EXTENDED_METACLASS:
+ if (resolve) {
+ return getExtendedMetaclass();
+ }
+ return basicGetExtendedMetaclass();
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ return getFacetElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET__FACET_SET:
+ setFacetSet((FacetSet)newValue);
+ return;
+ case EFacetPackage.FACET__CONFORMANCE_QUERY:
+ setConformanceQuery((Query)newValue);
+ return;
+ case EFacetPackage.FACET__EXTENDED_METACLASS:
+ setExtendedMetaclass((EClass)newValue);
+ return;
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ getFacetElements().clear();
+ getFacetElements().addAll((Collection<? extends FacetElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET__FACET_SET:
+ setFacetSet((FacetSet)null);
+ return;
+ case EFacetPackage.FACET__CONFORMANCE_QUERY:
+ setConformanceQuery((Query)null);
+ return;
+ case EFacetPackage.FACET__EXTENDED_METACLASS:
+ setExtendedMetaclass((EClass)null);
+ return;
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ getFacetElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET__FACET_SET:
+ return getFacetSet() != null;
+ case EFacetPackage.FACET__CONFORMANCE_QUERY:
+ return this.conformanceQuery != null;
+ case EFacetPackage.FACET__EXTENDED_METACLASS:
+ return this.extendedMetaclass != null;
+ case EFacetPackage.FACET__FACET_ELEMENTS:
+ return this.facetElements != null && !this.facetElements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FacetImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetOperationImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetOperationImpl.java
new file mode 100644
index 00000000000..a4f847690e9
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetOperationImpl.java
@@ -0,0 +1,500 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EOperationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.facet.efacet.Category;
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Facet;
+import org.eclipse.emf.facet.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.FacetOperation;
+import org.eclipse.emf.facet.efacet.Query;
+import org.eclipse.emf.facet.efacet.QueryFacetElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetOperationImpl#getCategories <em>Categories</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetOperationImpl#getFacet <em>Facet</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetOperationImpl#getOverride <em>Override</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetOperationImpl#getQuery <em>Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class FacetOperationImpl extends EOperationImpl implements FacetOperation {
+ /**
+ * The cached value of the '{@link #getCategories() <em>Categories</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategories()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<Category> categories;
+
+ /**
+ * The cached value of the '{@link #getOverride() <em>Override</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOverride()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected ETypedElement override;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected Query query;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected FacetOperationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET_OPERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<Category> getCategories() {
+ if (this.categories == null) {
+ this.categories = new EObjectResolvingEList<Category>(Category.class, this, EFacetPackage.FACET_OPERATION__CATEGORIES);
+ }
+ return this.categories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Facet getFacet() {
+ if (eContainerFeatureID() != EFacetPackage.FACET_OPERATION__FACET) {
+ return null;
+ }
+ return (Facet)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public NotificationChain basicSetFacet(final Facet newFacet, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newFacet, EFacetPackage.FACET_OPERATION__FACET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setFacet(final Facet newFacet) {
+ if (newFacet != eInternalContainer() || (eContainerFeatureID() != EFacetPackage.FACET_OPERATION__FACET && newFacet != null)) {
+ if (EcoreUtil.isAncestor(this, newFacet))
+ {
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ }
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ if (newFacet != null) {
+ msgs = ((InternalEObject)newFacet).eInverseAdd(this, EFacetPackage.FACET__FACET_ELEMENTS, Facet.class, msgs);
+ }
+ msgs = basicSetFacet(newFacet, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_OPERATION__FACET, newFacet, newFacet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ETypedElement getOverride() {
+ if (this.override != null && this.override.eIsProxy()) {
+ InternalEObject oldOverride = (InternalEObject)this.override;
+ this.override = (ETypedElement)eResolveProxy(oldOverride);
+ if (this.override != oldOverride) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET_OPERATION__OVERRIDE, oldOverride, this.override));
+ }
+ }
+ }
+ return this.override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ETypedElement basicGetOverride() {
+ return this.override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setOverride(final ETypedElement newOverride) {
+ ETypedElement oldOverride = this.override;
+ this.override = newOverride;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_OPERATION__OVERRIDE, oldOverride, this.override));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Query getQuery() {
+ return this.query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public NotificationChain basicSetQuery(final Query newQuery, NotificationChain msgs) {
+ Query oldQuery = this.query;
+ this.query = newQuery;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_OPERATION__QUERY, oldQuery, newQuery);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setQuery(final Query newQuery) {
+ if (newQuery != this.query) {
+ NotificationChain msgs = null;
+ if (this.query != null) {
+ msgs = ((InternalEObject)this.query).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_OPERATION__QUERY, null, msgs);
+ }
+ if (newQuery != null) {
+ msgs = ((InternalEObject)newQuery).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_OPERATION__QUERY, null, msgs);
+ }
+ msgs = basicSetQuery(newQuery, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_OPERATION__QUERY, newQuery, newQuery));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseAdd(final InternalEObject otherEnd, final int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__FACET:
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ return basicSetFacet((Facet)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseRemove(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__FACET:
+ return basicSetFacet(null, msgs);
+ case EFacetPackage.FACET_OPERATION__QUERY:
+ return basicSetQuery(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(final NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case EFacetPackage.FACET_OPERATION__FACET:
+ return eInternalContainer().eInverseRemove(this, EFacetPackage.FACET__FACET_ELEMENTS, Facet.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__CATEGORIES:
+ return getCategories();
+ case EFacetPackage.FACET_OPERATION__FACET:
+ return getFacet();
+ case EFacetPackage.FACET_OPERATION__OVERRIDE:
+ if (resolve) {
+ return getOverride();
+ }
+ return basicGetOverride();
+ case EFacetPackage.FACET_OPERATION__QUERY:
+ return getQuery();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__CATEGORIES:
+ getCategories().clear();
+ getCategories().addAll((Collection<? extends Category>)newValue);
+ return;
+ case EFacetPackage.FACET_OPERATION__FACET:
+ setFacet((Facet)newValue);
+ return;
+ case EFacetPackage.FACET_OPERATION__OVERRIDE:
+ setOverride((ETypedElement)newValue);
+ return;
+ case EFacetPackage.FACET_OPERATION__QUERY:
+ setQuery((Query)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__CATEGORIES:
+ getCategories().clear();
+ return;
+ case EFacetPackage.FACET_OPERATION__FACET:
+ setFacet((Facet)null);
+ return;
+ case EFacetPackage.FACET_OPERATION__OVERRIDE:
+ setOverride((ETypedElement)null);
+ return;
+ case EFacetPackage.FACET_OPERATION__QUERY:
+ setQuery((Query)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_OPERATION__CATEGORIES:
+ return this.categories != null && !this.categories.isEmpty();
+ case EFacetPackage.FACET_OPERATION__FACET:
+ return getFacet() != null;
+ case EFacetPackage.FACET_OPERATION__OVERRIDE:
+ return this.override != null;
+ case EFacetPackage.FACET_OPERATION__QUERY:
+ return this.query != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public int eBaseStructuralFeatureID(final int derivedFeatureID, final Class<?> baseClass) {
+ if (baseClass == FacetElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_OPERATION__CATEGORIES: return EFacetPackage.FACET_ELEMENT__CATEGORIES;
+ case EFacetPackage.FACET_OPERATION__FACET: return EFacetPackage.FACET_ELEMENT__FACET;
+ case EFacetPackage.FACET_OPERATION__OVERRIDE: return EFacetPackage.FACET_ELEMENT__OVERRIDE;
+ default: return -1;
+ }
+ }
+ if (baseClass == QueryFacetElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_OPERATION__QUERY: return EFacetPackage.QUERY_FACET_ELEMENT__QUERY;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public int eDerivedStructuralFeatureID(final int baseFeatureID, final Class<?> baseClass) {
+ if (baseClass == FacetElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES: return EFacetPackage.FACET_OPERATION__CATEGORIES;
+ case EFacetPackage.FACET_ELEMENT__FACET: return EFacetPackage.FACET_OPERATION__FACET;
+ case EFacetPackage.FACET_ELEMENT__OVERRIDE: return EFacetPackage.FACET_OPERATION__OVERRIDE;
+ default: return -1;
+ }
+ }
+ if (baseClass == QueryFacetElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.QUERY_FACET_ELEMENT__QUERY: return EFacetPackage.FACET_OPERATION__QUERY;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} //FacetOperationImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetReferenceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetReferenceImpl.java
new file mode 100644
index 00000000000..81c924ad2f0
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetReferenceImpl.java
@@ -0,0 +1,500 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EReferenceImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.facet.efacet.Category;
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Facet;
+import org.eclipse.emf.facet.efacet.FacetElement;
+import org.eclipse.emf.facet.efacet.FacetReference;
+import org.eclipse.emf.facet.efacet.Query;
+import org.eclipse.emf.facet.efacet.QueryFacetElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetReferenceImpl#getCategories <em>Categories</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetReferenceImpl#getFacet <em>Facet</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetReferenceImpl#getOverride <em>Override</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetReferenceImpl#getQuery <em>Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class FacetReferenceImpl extends EReferenceImpl implements FacetReference {
+ /**
+ * The cached value of the '{@link #getCategories() <em>Categories</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategories()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<Category> categories;
+
+ /**
+ * The cached value of the '{@link #getOverride() <em>Override</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOverride()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected ETypedElement override;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected Query query;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected FacetReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET_REFERENCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<Category> getCategories() {
+ if (this.categories == null) {
+ this.categories = new EObjectResolvingEList<Category>(Category.class, this, EFacetPackage.FACET_REFERENCE__CATEGORIES);
+ }
+ return this.categories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Facet getFacet() {
+ if (eContainerFeatureID() != EFacetPackage.FACET_REFERENCE__FACET) {
+ return null;
+ }
+ return (Facet)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public NotificationChain basicSetFacet(final Facet newFacet, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newFacet, EFacetPackage.FACET_REFERENCE__FACET, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setFacet(final Facet newFacet) {
+ if (newFacet != eInternalContainer() || (eContainerFeatureID() != EFacetPackage.FACET_REFERENCE__FACET && newFacet != null)) {
+ if (EcoreUtil.isAncestor(this, newFacet))
+ {
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+ }
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ if (newFacet != null) {
+ msgs = ((InternalEObject)newFacet).eInverseAdd(this, EFacetPackage.FACET__FACET_ELEMENTS, Facet.class, msgs);
+ }
+ msgs = basicSetFacet(newFacet, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_REFERENCE__FACET, newFacet, newFacet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ETypedElement getOverride() {
+ if (this.override != null && this.override.eIsProxy()) {
+ InternalEObject oldOverride = (InternalEObject)this.override;
+ this.override = (ETypedElement)eResolveProxy(oldOverride);
+ if (this.override != oldOverride) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET_REFERENCE__OVERRIDE, oldOverride, this.override));
+ }
+ }
+ }
+ return this.override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ETypedElement basicGetOverride() {
+ return this.override;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setOverride(final ETypedElement newOverride) {
+ ETypedElement oldOverride = this.override;
+ this.override = newOverride;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_REFERENCE__OVERRIDE, oldOverride, this.override));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Query getQuery() {
+ return this.query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public NotificationChain basicSetQuery(final Query newQuery, NotificationChain msgs) {
+ Query oldQuery = this.query;
+ this.query = newQuery;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_REFERENCE__QUERY, oldQuery, newQuery);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setQuery(final Query newQuery) {
+ if (newQuery != this.query) {
+ NotificationChain msgs = null;
+ if (this.query != null) {
+ msgs = ((InternalEObject)this.query).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_REFERENCE__QUERY, null, msgs);
+ }
+ if (newQuery != null) {
+ msgs = ((InternalEObject)newQuery).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - EFacetPackage.FACET_REFERENCE__QUERY, null, msgs);
+ }
+ msgs = basicSetQuery(newQuery, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_REFERENCE__QUERY, newQuery, newQuery));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseAdd(final InternalEObject otherEnd, final int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__FACET:
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ return basicSetFacet((Facet)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseRemove(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__FACET:
+ return basicSetFacet(null, msgs);
+ case EFacetPackage.FACET_REFERENCE__QUERY:
+ return basicSetQuery(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(final NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case EFacetPackage.FACET_REFERENCE__FACET:
+ return eInternalContainer().eInverseRemove(this, EFacetPackage.FACET__FACET_ELEMENTS, Facet.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__CATEGORIES:
+ return getCategories();
+ case EFacetPackage.FACET_REFERENCE__FACET:
+ return getFacet();
+ case EFacetPackage.FACET_REFERENCE__OVERRIDE:
+ if (resolve) {
+ return getOverride();
+ }
+ return basicGetOverride();
+ case EFacetPackage.FACET_REFERENCE__QUERY:
+ return getQuery();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__CATEGORIES:
+ getCategories().clear();
+ getCategories().addAll((Collection<? extends Category>)newValue);
+ return;
+ case EFacetPackage.FACET_REFERENCE__FACET:
+ setFacet((Facet)newValue);
+ return;
+ case EFacetPackage.FACET_REFERENCE__OVERRIDE:
+ setOverride((ETypedElement)newValue);
+ return;
+ case EFacetPackage.FACET_REFERENCE__QUERY:
+ setQuery((Query)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__CATEGORIES:
+ getCategories().clear();
+ return;
+ case EFacetPackage.FACET_REFERENCE__FACET:
+ setFacet((Facet)null);
+ return;
+ case EFacetPackage.FACET_REFERENCE__OVERRIDE:
+ setOverride((ETypedElement)null);
+ return;
+ case EFacetPackage.FACET_REFERENCE__QUERY:
+ setQuery((Query)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_REFERENCE__CATEGORIES:
+ return this.categories != null && !this.categories.isEmpty();
+ case EFacetPackage.FACET_REFERENCE__FACET:
+ return getFacet() != null;
+ case EFacetPackage.FACET_REFERENCE__OVERRIDE:
+ return this.override != null;
+ case EFacetPackage.FACET_REFERENCE__QUERY:
+ return this.query != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public int eBaseStructuralFeatureID(final int derivedFeatureID, final Class<?> baseClass) {
+ if (baseClass == FacetElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_REFERENCE__CATEGORIES: return EFacetPackage.FACET_ELEMENT__CATEGORIES;
+ case EFacetPackage.FACET_REFERENCE__FACET: return EFacetPackage.FACET_ELEMENT__FACET;
+ case EFacetPackage.FACET_REFERENCE__OVERRIDE: return EFacetPackage.FACET_ELEMENT__OVERRIDE;
+ default: return -1;
+ }
+ }
+ if (baseClass == QueryFacetElement.class) {
+ switch (derivedFeatureID) {
+ case EFacetPackage.FACET_REFERENCE__QUERY: return EFacetPackage.QUERY_FACET_ELEMENT__QUERY;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public int eDerivedStructuralFeatureID(final int baseFeatureID, final Class<?> baseClass) {
+ if (baseClass == FacetElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.FACET_ELEMENT__CATEGORIES: return EFacetPackage.FACET_REFERENCE__CATEGORIES;
+ case EFacetPackage.FACET_ELEMENT__FACET: return EFacetPackage.FACET_REFERENCE__FACET;
+ case EFacetPackage.FACET_ELEMENT__OVERRIDE: return EFacetPackage.FACET_REFERENCE__OVERRIDE;
+ default: return -1;
+ }
+ }
+ if (baseClass == QueryFacetElement.class) {
+ switch (baseFeatureID) {
+ case EFacetPackage.QUERY_FACET_ELEMENT__QUERY: return EFacetPackage.FACET_REFERENCE__QUERY;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} //FacetReferenceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetSetImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetSetImpl.java
new file mode 100644
index 00000000000..2fb8c7b8f79
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/FacetSetImpl.java
@@ -0,0 +1,318 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.facet.efacet.Category;
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Facet;
+import org.eclipse.emf.facet.efacet.FacetSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Facet Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetSetImpl#getFacets <em>Facets</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetSetImpl#getCategories <em>Categories</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.FacetSetImpl#getExtendedEPackage <em>Extended EPackage</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class FacetSetImpl extends EPackageImpl implements FacetSet {
+ /**
+ * The cached value of the '{@link #getFacets() <em>Facets</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFacets()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<Facet> facets;
+
+ /**
+ * The cached value of the '{@link #getCategories() <em>Categories</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategories()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<Category> categories;
+
+ /**
+ * The cached value of the '{@link #getExtendedEPackage() <em>Extended EPackage</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtendedEPackage()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EPackage extendedEPackage;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected FacetSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.FACET_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<Facet> getFacets() {
+ if (this.facets == null) {
+ this.facets = new EObjectContainmentWithInverseEList<Facet>(Facet.class, this, EFacetPackage.FACET_SET__FACETS, EFacetPackage.FACET__FACET_SET);
+ }
+ return this.facets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<Category> getCategories() {
+ if (this.categories == null) {
+ this.categories = new EObjectContainmentEList<Category>(Category.class, this, EFacetPackage.FACET_SET__CATEGORIES);
+ }
+ return this.categories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EPackage getExtendedEPackage() {
+ if (this.extendedEPackage != null && this.extendedEPackage.eIsProxy()) {
+ InternalEObject oldExtendedEPackage = (InternalEObject)this.extendedEPackage;
+ this.extendedEPackage = (EPackage)eResolveProxy(oldExtendedEPackage);
+ if (this.extendedEPackage != oldExtendedEPackage) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.FACET_SET__EXTENDED_EPACKAGE, oldExtendedEPackage, this.extendedEPackage));
+ }
+ }
+ }
+ return this.extendedEPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EPackage basicGetExtendedEPackage() {
+ return this.extendedEPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setExtendedEPackage(final EPackage newExtendedEPackage) {
+ EPackage oldExtendedEPackage = this.extendedEPackage;
+ this.extendedEPackage = newExtendedEPackage;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.FACET_SET__EXTENDED_EPACKAGE, oldExtendedEPackage, this.extendedEPackage));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__FACETS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getFacets()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseRemove(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__FACETS:
+ return ((InternalEList<?>)getFacets()).basicRemove(otherEnd, msgs);
+ case EFacetPackage.FACET_SET__CATEGORIES:
+ return ((InternalEList<?>)getCategories()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__FACETS:
+ return getFacets();
+ case EFacetPackage.FACET_SET__CATEGORIES:
+ return getCategories();
+ case EFacetPackage.FACET_SET__EXTENDED_EPACKAGE:
+ if (resolve) {
+ return getExtendedEPackage();
+ }
+ return basicGetExtendedEPackage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__FACETS:
+ getFacets().clear();
+ getFacets().addAll((Collection<? extends Facet>)newValue);
+ return;
+ case EFacetPackage.FACET_SET__CATEGORIES:
+ getCategories().clear();
+ getCategories().addAll((Collection<? extends Category>)newValue);
+ return;
+ case EFacetPackage.FACET_SET__EXTENDED_EPACKAGE:
+ setExtendedEPackage((EPackage)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__FACETS:
+ getFacets().clear();
+ return;
+ case EFacetPackage.FACET_SET__CATEGORIES:
+ getCategories().clear();
+ return;
+ case EFacetPackage.FACET_SET__EXTENDED_EPACKAGE:
+ setExtendedEPackage((EPackage)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.FACET_SET__FACETS:
+ return this.facets != null && !this.facets.isEmpty();
+ case EFacetPackage.FACET_SET__CATEGORIES:
+ return this.categories != null && !this.categories.isEmpty();
+ case EFacetPackage.FACET_SET__EXTENDED_EPACKAGE:
+ return this.extendedEPackage != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FacetSetImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/LiteralImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/LiteralImpl.java
new file mode 100644
index 00000000000..c8ccbe1006e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/LiteralImpl.java
@@ -0,0 +1,201 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Literal;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Literal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.LiteralImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class LiteralImpl extends QueryImpl implements Literal {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected String value = LiteralImpl.VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected LiteralImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public String getValue() {
+ return this.value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setValue(final String newValue) {
+ String oldValue = this.value;
+ this.value = newValue;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.LITERAL__VALUE, oldValue, this.value));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.LITERAL__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.LITERAL__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.LITERAL__VALUE:
+ setValue(LiteralImpl.VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.LITERAL__VALUE:
+ return LiteralImpl.VALUE_EDEFAULT == null ? this.value != null : !LiteralImpl.VALUE_EDEFAULT.equals(this.value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(this.value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LiteralImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/OppositeReferenceImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/OppositeReferenceImpl.java
new file mode 100644
index 00000000000..1b364f207f3
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/OppositeReferenceImpl.java
@@ -0,0 +1,194 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.OppositeReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Opposite Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.OppositeReferenceImpl#getFOpposite <em>FOpposite</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class OppositeReferenceImpl extends FacetElementImpl implements OppositeReference {
+ /**
+ * The cached value of the '{@link #getFOpposite() <em>FOpposite</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFOpposite()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EReference fOpposite;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected OppositeReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.OPPOSITE_REFERENCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference getFOpposite() {
+ if (this.fOpposite != null && this.fOpposite.eIsProxy()) {
+ InternalEObject oldFOpposite = (InternalEObject)this.fOpposite;
+ this.fOpposite = (EReference)eResolveProxy(oldFOpposite);
+ if (this.fOpposite != oldFOpposite) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.OPPOSITE_REFERENCE__FOPPOSITE, oldFOpposite, this.fOpposite));
+ }
+ }
+ }
+ return this.fOpposite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EReference basicGetFOpposite() {
+ return this.fOpposite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setFOpposite(final EReference newFOpposite) {
+ EReference oldFOpposite = this.fOpposite;
+ this.fOpposite = newFOpposite;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.OPPOSITE_REFERENCE__FOPPOSITE, oldFOpposite, this.fOpposite));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.OPPOSITE_REFERENCE__FOPPOSITE:
+ if (resolve) {
+ return getFOpposite();
+ }
+ return basicGetFOpposite();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.OPPOSITE_REFERENCE__FOPPOSITE:
+ setFOpposite((EReference)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.OPPOSITE_REFERENCE__FOPPOSITE:
+ setFOpposite((EReference)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.OPPOSITE_REFERENCE__FOPPOSITE:
+ return this.fOpposite != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //OppositeReferenceImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/ParameterImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/ParameterImpl.java
new file mode 100644
index 00000000000..4b430897673
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/ParameterImpl.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ETypedElementImpl;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class ParameterImpl extends ETypedElementImpl implements Parameter {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected ParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.PARAMETER;
+ }
+
+} //ParameterImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/ParameterValueImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/ParameterValueImpl.java
new file mode 100644
index 00000000000..df3267e6ffc
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/ParameterValueImpl.java
@@ -0,0 +1,260 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Parameter;
+import org.eclipse.emf.facet.efacet.ParameterValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parameter Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.ParameterValueImpl#getParameter <em>Parameter</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.ParameterValueImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class ParameterValueImpl extends EObjectImpl implements ParameterValue {
+ /**
+ * The cached value of the '{@link #getParameter() <em>Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameter()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected Parameter parameter;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<Object> value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected ParameterValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.PARAMETER_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Parameter getParameter() {
+ if (this.parameter != null && this.parameter.eIsProxy()) {
+ InternalEObject oldParameter = (InternalEObject)this.parameter;
+ this.parameter = (Parameter)eResolveProxy(oldParameter);
+ if (this.parameter != oldParameter) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.PARAMETER_VALUE__PARAMETER, oldParameter, this.parameter));
+ }
+ }
+ }
+ return this.parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Parameter basicGetParameter() {
+ return this.parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setParameter(final Parameter newParameter) {
+ Parameter oldParameter = this.parameter;
+ this.parameter = newParameter;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.PARAMETER_VALUE__PARAMETER, oldParameter, this.parameter));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<Object> getValue() {
+ if (this.value == null) {
+ this.value = new EDataTypeUniqueEList<Object>(Object.class, this, EFacetPackage.PARAMETER_VALUE__VALUE);
+ }
+ return this.value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.PARAMETER_VALUE__PARAMETER:
+ if (resolve) {
+ return getParameter();
+ }
+ return basicGetParameter();
+ case EFacetPackage.PARAMETER_VALUE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.PARAMETER_VALUE__PARAMETER:
+ setParameter((Parameter)newValue);
+ return;
+ case EFacetPackage.PARAMETER_VALUE__VALUE:
+ getValue().clear();
+ getValue().addAll((Collection<? extends Object>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.PARAMETER_VALUE__PARAMETER:
+ setParameter((Parameter)null);
+ return;
+ case EFacetPackage.PARAMETER_VALUE__VALUE:
+ getValue().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.PARAMETER_VALUE__PARAMETER:
+ return this.parameter != null;
+ case EFacetPackage.PARAMETER_VALUE__VALUE:
+ return this.value != null && !this.value.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(this.value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ParameterValueImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryContextImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryContextImpl.java
new file mode 100644
index 00000000000..d792e32650d
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryContextImpl.java
@@ -0,0 +1,225 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.QueryContext;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query Context</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryContextImpl#getSelectedModelElements <em>Selected Model Elements</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryContextImpl#getSelectedModels <em>Selected Models</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class QueryContextImpl extends EObjectImpl implements QueryContext {
+ /**
+ * The cached value of the '{@link #getSelectedModelElements() <em>Selected Model Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSelectedModelElements()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<EObject> selectedModelElements;
+
+ /**
+ * The cached value of the '{@link #getSelectedModels() <em>Selected Models</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSelectedModels()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<Resource> selectedModels;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected QueryContextImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.QUERY_CONTEXT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<EObject> getSelectedModelElements() {
+ if (this.selectedModelElements == null) {
+ this.selectedModelElements = new EObjectResolvingEList<EObject>(EObject.class, this, EFacetPackage.QUERY_CONTEXT__SELECTED_MODEL_ELEMENTS);
+ }
+ return this.selectedModelElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<Resource> getSelectedModels() {
+ if (this.selectedModels == null) {
+ this.selectedModels = new EDataTypeUniqueEList<Resource>(Resource.class, this, EFacetPackage.QUERY_CONTEXT__SELECTED_MODELS);
+ }
+ return this.selectedModels;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_CONTEXT__SELECTED_MODEL_ELEMENTS:
+ return getSelectedModelElements();
+ case EFacetPackage.QUERY_CONTEXT__SELECTED_MODELS:
+ return getSelectedModels();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_CONTEXT__SELECTED_MODEL_ELEMENTS:
+ getSelectedModelElements().clear();
+ getSelectedModelElements().addAll((Collection<? extends EObject>)newValue);
+ return;
+ case EFacetPackage.QUERY_CONTEXT__SELECTED_MODELS:
+ getSelectedModels().clear();
+ getSelectedModels().addAll((Collection<? extends Resource>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_CONTEXT__SELECTED_MODEL_ELEMENTS:
+ getSelectedModelElements().clear();
+ return;
+ case EFacetPackage.QUERY_CONTEXT__SELECTED_MODELS:
+ getSelectedModels().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_CONTEXT__SELECTED_MODEL_ELEMENTS:
+ return this.selectedModelElements != null && !this.selectedModelElements.isEmpty();
+ case EFacetPackage.QUERY_CONTEXT__SELECTED_MODELS:
+ return this.selectedModels != null && !this.selectedModels.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (selectedModels: "); //$NON-NLS-1$
+ result.append(this.selectedModels);
+ result.append(')');
+ return result.toString();
+ }
+
+} //QueryContextImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryFacetElementImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryFacetElementImpl.java
new file mode 100644
index 00000000000..a063a7b6202
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryFacetElementImpl.java
@@ -0,0 +1,220 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Query;
+import org.eclipse.emf.facet.efacet.QueryFacetElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query Facet Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryFacetElementImpl#getQuery <em>Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public abstract class QueryFacetElementImpl extends FacetElementImpl implements QueryFacetElement {
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected Query query;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected QueryFacetElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.QUERY_FACET_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Query getQuery() {
+ return this.query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public NotificationChain basicSetQuery(final Query newQuery, NotificationChain msgs) {
+ Query oldQuery = this.query;
+ this.query = newQuery;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY_FACET_ELEMENT__QUERY, oldQuery, newQuery);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setQuery(final Query newQuery) {
+ if (newQuery != this.query) {
+ NotificationChain msgs = null;
+ if (this.query != null) {
+ msgs = ((InternalEObject)this.query).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE - EFacetPackage.QUERY_FACET_ELEMENT__QUERY, null, msgs);
+ }
+ if (newQuery != null) {
+ msgs = ((InternalEObject)newQuery).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE - EFacetPackage.QUERY_FACET_ELEMENT__QUERY, null, msgs);
+ }
+ msgs = basicSetQuery(newQuery, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY_FACET_ELEMENT__QUERY, newQuery, newQuery));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseRemove(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_FACET_ELEMENT__QUERY:
+ return basicSetQuery(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_FACET_ELEMENT__QUERY:
+ return getQuery();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_FACET_ELEMENT__QUERY:
+ setQuery((Query)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_FACET_ELEMENT__QUERY:
+ setQuery((Query)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_FACET_ELEMENT__QUERY:
+ return this.query != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //QueryFacetElementImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryImpl.java
new file mode 100644
index 00000000000..b5adcda9f75
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryImpl.java
@@ -0,0 +1,402 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.ETypedElementImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Parameter;
+import org.eclipse.emf.facet.efacet.Query;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryImpl#getScope <em>Scope</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryImpl#isHasSideEffect <em>Has Side Effect</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryImpl#isCanBeCached <em>Can Be Cached</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryImpl#getParameters <em>Parameters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public abstract class QueryImpl extends ETypedElementImpl implements Query {
+ /**
+ * The cached value of the '{@link #getScope() <em>Scope</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScope()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EClass scope;
+
+ /**
+ * The default value of the '{@link #isHasSideEffect() <em>Has Side Effect</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isHasSideEffect()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected static final boolean HAS_SIDE_EFFECT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isHasSideEffect() <em>Has Side Effect</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isHasSideEffect()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected boolean hasSideEffect = QueryImpl.HAS_SIDE_EFFECT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isCanBeCached() <em>Can Be Cached</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCanBeCached()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected static final boolean CAN_BE_CACHED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCanBeCached() <em>Can Be Cached</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCanBeCached()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected boolean canBeCached = QueryImpl.CAN_BE_CACHED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameters()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<Parameter> parameters;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected QueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass getScope() {
+ if (this.scope != null && this.scope.eIsProxy()) {
+ InternalEObject oldScope = (InternalEObject)this.scope;
+ this.scope = (EClass)eResolveProxy(oldScope);
+ if (this.scope != oldScope) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.QUERY__SCOPE, oldScope, this.scope));
+ }
+ }
+ }
+ return this.scope;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EClass basicGetScope() {
+ return this.scope;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setScope(final EClass newScope) {
+ EClass oldScope = this.scope;
+ this.scope = newScope;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY__SCOPE, oldScope, this.scope));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public boolean isHasSideEffect() {
+ return this.hasSideEffect;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setHasSideEffect(final boolean newHasSideEffect) {
+ boolean oldHasSideEffect = this.hasSideEffect;
+ this.hasSideEffect = newHasSideEffect;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY__HAS_SIDE_EFFECT, oldHasSideEffect, this.hasSideEffect));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public boolean isCanBeCached() {
+ return this.canBeCached;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setCanBeCached(final boolean newCanBeCached) {
+ boolean oldCanBeCached = this.canBeCached;
+ this.canBeCached = newCanBeCached;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY__CAN_BE_CACHED, oldCanBeCached, this.canBeCached));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<Parameter> getParameters() {
+ if (this.parameters == null) {
+ this.parameters = new EObjectContainmentEList<Parameter>(Parameter.class, this, EFacetPackage.QUERY__PARAMETERS);
+ }
+ return this.parameters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseRemove(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.QUERY__PARAMETERS:
+ return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.QUERY__SCOPE:
+ if (resolve) {
+ return getScope();
+ }
+ return basicGetScope();
+ case EFacetPackage.QUERY__HAS_SIDE_EFFECT:
+ return isHasSideEffect();
+ case EFacetPackage.QUERY__CAN_BE_CACHED:
+ return isCanBeCached();
+ case EFacetPackage.QUERY__PARAMETERS:
+ return getParameters();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.QUERY__SCOPE:
+ setScope((EClass)newValue);
+ return;
+ case EFacetPackage.QUERY__HAS_SIDE_EFFECT:
+ setHasSideEffect((Boolean)newValue);
+ return;
+ case EFacetPackage.QUERY__CAN_BE_CACHED:
+ setCanBeCached((Boolean)newValue);
+ return;
+ case EFacetPackage.QUERY__PARAMETERS:
+ getParameters().clear();
+ getParameters().addAll((Collection<? extends Parameter>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.QUERY__SCOPE:
+ setScope((EClass)null);
+ return;
+ case EFacetPackage.QUERY__HAS_SIDE_EFFECT:
+ setHasSideEffect(QueryImpl.HAS_SIDE_EFFECT_EDEFAULT);
+ return;
+ case EFacetPackage.QUERY__CAN_BE_CACHED:
+ setCanBeCached(QueryImpl.CAN_BE_CACHED_EDEFAULT);
+ return;
+ case EFacetPackage.QUERY__PARAMETERS:
+ getParameters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.QUERY__SCOPE:
+ return this.scope != null;
+ case EFacetPackage.QUERY__HAS_SIDE_EFFECT:
+ return this.hasSideEffect != QueryImpl.HAS_SIDE_EFFECT_EDEFAULT;
+ case EFacetPackage.QUERY__CAN_BE_CACHED:
+ return this.canBeCached != QueryImpl.CAN_BE_CACHED_EDEFAULT;
+ case EFacetPackage.QUERY__PARAMETERS:
+ return this.parameters != null && !this.parameters.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (hasSideEffect: "); //$NON-NLS-1$
+ result.append(this.hasSideEffect);
+ result.append(", canBeCached: "); //$NON-NLS-1$
+ result.append(this.canBeCached);
+ result.append(')');
+ return result.toString();
+ }
+
+} //QueryImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryResultImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryResultImpl.java
new file mode 100644
index 00000000000..dd2fade4c9f
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QueryResultImpl.java
@@ -0,0 +1,548 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.ParameterValue;
+import org.eclipse.emf.facet.efacet.Query;
+import org.eclipse.emf.facet.efacet.QueryResult;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query Result</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryResultImpl#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryResultImpl#getScope <em>Scope</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryResultImpl#getParameterValues <em>Parameter Values</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryResultImpl#getResult <em>Result</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryResultImpl#getException <em>Exception</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QueryResultImpl#getSource <em>Source</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class QueryResultImpl extends EObjectImpl implements QueryResult {
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected Query query;
+
+ /**
+ * The cached value of the '{@link #getScope() <em>Scope</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScope()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EObject scope;
+
+ /**
+ * The cached value of the '{@link #getParameterValues() <em>Parameter Values</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameterValues()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<ParameterValue> parameterValues;
+
+ /**
+ * The default value of the '{@link #getResult() <em>Result</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected static final Object RESULT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getResult() <em>Result</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResult()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected Object result = QueryResultImpl.RESULT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getException() <em>Exception</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getException()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected static final Exception EXCEPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getException() <em>Exception</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getException()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected Exception exception = QueryResultImpl.EXCEPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EObject source;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected QueryResultImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.QUERY_RESULT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Query getQuery() {
+ if (this.query != null && this.query.eIsProxy()) {
+ InternalEObject oldQuery = (InternalEObject)this.query;
+ this.query = (Query)eResolveProxy(oldQuery);
+ if (this.query != oldQuery) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.QUERY_RESULT__QUERY, oldQuery, this.query));
+ }
+ }
+ }
+ return this.query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Query basicGetQuery() {
+ return this.query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setQuery(final Query newQuery) {
+ Query oldQuery = this.query;
+ this.query = newQuery;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY_RESULT__QUERY, oldQuery, this.query));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EObject getScope() {
+ if (this.scope != null && this.scope.eIsProxy()) {
+ InternalEObject oldScope = (InternalEObject)this.scope;
+ this.scope = eResolveProxy(oldScope);
+ if (this.scope != oldScope) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.QUERY_RESULT__SCOPE, oldScope, this.scope));
+ }
+ }
+ }
+ return this.scope;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EObject basicGetScope() {
+ return this.scope;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setScope(final EObject newScope) {
+ EObject oldScope = this.scope;
+ this.scope = newScope;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY_RESULT__SCOPE, oldScope, this.scope));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<ParameterValue> getParameterValues() {
+ if (this.parameterValues == null) {
+ this.parameterValues = new EObjectContainmentEList<ParameterValue>(ParameterValue.class, this, EFacetPackage.QUERY_RESULT__PARAMETER_VALUES);
+ }
+ return this.parameterValues;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Object getResult() {
+ return this.result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setResult(final Object newResult) {
+ Object oldResult = this.result;
+ this.result = newResult;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY_RESULT__RESULT, oldResult, this.result));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Exception getException() {
+ return this.exception;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setException(final Exception newException) {
+ Exception oldException = this.exception;
+ this.exception = newException;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY_RESULT__EXCEPTION, oldException, this.exception));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EObject getSource() {
+ if (this.source != null && this.source.eIsProxy()) {
+ InternalEObject oldSource = (InternalEObject)this.source;
+ this.source = eResolveProxy(oldSource);
+ if (this.source != oldSource) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.QUERY_RESULT__SOURCE, oldSource, this.source));
+ }
+ }
+ }
+ return this.source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EObject basicGetSource() {
+ return this.source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setSource(final EObject newSource) {
+ EObject oldSource = this.source;
+ this.source = newSource;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY_RESULT__SOURCE, oldSource, this.source));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseRemove(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_RESULT__PARAMETER_VALUES:
+ return ((InternalEList<?>)getParameterValues()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_RESULT__QUERY:
+ if (resolve) {
+ return getQuery();
+ }
+ return basicGetQuery();
+ case EFacetPackage.QUERY_RESULT__SCOPE:
+ if (resolve) {
+ return getScope();
+ }
+ return basicGetScope();
+ case EFacetPackage.QUERY_RESULT__PARAMETER_VALUES:
+ return getParameterValues();
+ case EFacetPackage.QUERY_RESULT__RESULT:
+ return getResult();
+ case EFacetPackage.QUERY_RESULT__EXCEPTION:
+ return getException();
+ case EFacetPackage.QUERY_RESULT__SOURCE:
+ if (resolve) {
+ return getSource();
+ }
+ return basicGetSource();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_RESULT__QUERY:
+ setQuery((Query)newValue);
+ return;
+ case EFacetPackage.QUERY_RESULT__SCOPE:
+ setScope((EObject)newValue);
+ return;
+ case EFacetPackage.QUERY_RESULT__PARAMETER_VALUES:
+ getParameterValues().clear();
+ getParameterValues().addAll((Collection<? extends ParameterValue>)newValue);
+ return;
+ case EFacetPackage.QUERY_RESULT__RESULT:
+ setResult(newValue);
+ return;
+ case EFacetPackage.QUERY_RESULT__EXCEPTION:
+ setException((Exception)newValue);
+ return;
+ case EFacetPackage.QUERY_RESULT__SOURCE:
+ setSource((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_RESULT__QUERY:
+ setQuery((Query)null);
+ return;
+ case EFacetPackage.QUERY_RESULT__SCOPE:
+ setScope((EObject)null);
+ return;
+ case EFacetPackage.QUERY_RESULT__PARAMETER_VALUES:
+ getParameterValues().clear();
+ return;
+ case EFacetPackage.QUERY_RESULT__RESULT:
+ setResult(QueryResultImpl.RESULT_EDEFAULT);
+ return;
+ case EFacetPackage.QUERY_RESULT__EXCEPTION:
+ setException(QueryResultImpl.EXCEPTION_EDEFAULT);
+ return;
+ case EFacetPackage.QUERY_RESULT__SOURCE:
+ setSource((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_RESULT__QUERY:
+ return this.query != null;
+ case EFacetPackage.QUERY_RESULT__SCOPE:
+ return this.scope != null;
+ case EFacetPackage.QUERY_RESULT__PARAMETER_VALUES:
+ return this.parameterValues != null && !this.parameterValues.isEmpty();
+ case EFacetPackage.QUERY_RESULT__RESULT:
+ return QueryResultImpl.RESULT_EDEFAULT == null ? this.result != null : !QueryResultImpl.RESULT_EDEFAULT.equals(this.result);
+ case EFacetPackage.QUERY_RESULT__EXCEPTION:
+ return QueryResultImpl.EXCEPTION_EDEFAULT == null ? this.exception != null : !QueryResultImpl.EXCEPTION_EDEFAULT.equals(this.exception);
+ case EFacetPackage.QUERY_RESULT__SOURCE:
+ return this.source != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (result: "); //$NON-NLS-1$
+ result.append(result);
+ result.append(", exception: "); //$NON-NLS-1$
+ result.append(this.exception);
+ result.append(')');
+ return result.toString();
+ }
+
+} //QueryResultImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QuerySetImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QuerySetImpl.java
new file mode 100644
index 00000000000..9f0e5ba4f00
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/QuerySetImpl.java
@@ -0,0 +1,267 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.Query;
+import org.eclipse.emf.facet.efacet.QuerySet;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QuerySetImpl#getQueries <em>Queries</em>}</li>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.QuerySetImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class QuerySetImpl extends EObjectImpl implements QuerySet {
+ /**
+ * The cached value of the '{@link #getQueries() <em>Queries</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQueries()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected EList<Query> queries;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected String name = QuerySetImpl.NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected QuerySetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.QUERY_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EList<Query> getQueries() {
+ if (this.queries == null) {
+ this.queries = new EObjectContainmentEList<Query>(Query.class, this, EFacetPackage.QUERY_SET__QUERIES);
+ }
+ return this.queries;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public String getName() {
+ return this.name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setName(final String newName) {
+ String oldName = this.name;
+ this.name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.QUERY_SET__NAME, oldName, this.name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public NotificationChain eInverseRemove(final InternalEObject otherEnd, final int featureID, final NotificationChain msgs) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_SET__QUERIES:
+ return ((InternalEList<?>)getQueries()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_SET__QUERIES:
+ return getQueries();
+ case EFacetPackage.QUERY_SET__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_SET__QUERIES:
+ getQueries().clear();
+ getQueries().addAll((Collection<? extends Query>)newValue);
+ return;
+ case EFacetPackage.QUERY_SET__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_SET__QUERIES:
+ getQueries().clear();
+ return;
+ case EFacetPackage.QUERY_SET__NAME:
+ setName(QuerySetImpl.NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.QUERY_SET__QUERIES:
+ return this.queries != null && !this.queries.isEmpty();
+ case EFacetPackage.QUERY_SET__NAME:
+ return QuerySetImpl.NAME_EDEFAULT == null ? this.name != null : !QuerySetImpl.NAME_EDEFAULT.equals(this.name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(this.name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //QuerySetImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/TypedElementRefImpl.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/TypedElementRefImpl.java
new file mode 100644
index 00000000000..c60a0bb0308
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/impl/TypedElementRefImpl.java
@@ -0,0 +1,194 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.facet.efacet.EFacetPackage;
+import org.eclipse.emf.facet.efacet.TypedElementRef;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Typed Element Ref</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.facet.efacet.impl.TypedElementRefImpl#getTypedElement <em>Typed Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class TypedElementRefImpl extends QueryImpl implements TypedElementRef {
+ /**
+ * The cached value of the '{@link #getTypedElement() <em>Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypedElement()
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ * @ordered
+ */
+ @Deprecated
+ protected ETypedElement typedElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected TypedElementRefImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ protected EClass eStaticClass() {
+ return EFacetPackage.Literals.TYPED_ELEMENT_REF;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ETypedElement getTypedElement() {
+ if (this.typedElement != null && this.typedElement.eIsProxy()) {
+ InternalEObject oldTypedElement = (InternalEObject)this.typedElement;
+ this.typedElement = (ETypedElement)eResolveProxy(oldTypedElement);
+ if (this.typedElement != oldTypedElement) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EFacetPackage.TYPED_ELEMENT_REF__TYPED_ELEMENT, oldTypedElement, this.typedElement));
+ }
+ }
+ }
+ return this.typedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public ETypedElement basicGetTypedElement() {
+ return this.typedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public void setTypedElement(final ETypedElement newTypedElement) {
+ ETypedElement oldTypedElement = this.typedElement;
+ this.typedElement = newTypedElement;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EFacetPackage.TYPED_ELEMENT_REF__TYPED_ELEMENT, oldTypedElement, this.typedElement));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
+ switch (featureID) {
+ case EFacetPackage.TYPED_ELEMENT_REF__TYPED_ELEMENT:
+ if (resolve) {
+ return getTypedElement();
+ }
+ return basicGetTypedElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eSet(final int featureID, final Object newValue) {
+ switch (featureID) {
+ case EFacetPackage.TYPED_ELEMENT_REF__TYPED_ELEMENT:
+ setTypedElement((ETypedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public void eUnset(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.TYPED_ELEMENT_REF__TYPED_ELEMENT:
+ setTypedElement((ETypedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean eIsSet(final int featureID) {
+ switch (featureID) {
+ case EFacetPackage.TYPED_ELEMENT_REF__TYPED_ELEMENT:
+ return this.typedElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TypedElementRefImpl
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/plugin/Activator.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/plugin/Activator.java
new file mode 100644
index 00000000000..43c6f84ae98
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/plugin/Activator.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Nicolas Guyomar (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.emf.facet.efacet.plugin;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends Plugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.emf.facet.efacet"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
+ * )
+ */
+ @Override
+ public void start(final BundleContext context) throws Exception {
+ super.start(context);
+ Activator.plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
+ * )
+ */
+ @Override
+ public void stop(final BundleContext context) throws Exception {
+ Activator.plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return Activator.plugin;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/util/EFacetAdapterFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/util/EFacetAdapterFactory.java
new file mode 100644
index 00000000000..389f350f08a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/util/EFacetAdapterFactory.java
@@ -0,0 +1,659 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ *
+ */
+package org.eclipse.emf.facet.efacet.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.ETypedElement;
+
+import org.eclipse.emf.facet.efacet.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage
+ * @generated
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+// generated code
+@SuppressWarnings("all")
+public class EFacetAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected static EFacetPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public EFacetAdapterFactory() {
+ if (EFacetAdapterFactory.modelPackage == null) {
+ EFacetAdapterFactory.modelPackage = EFacetPackage.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
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public boolean isFactoryForType(final Object object) {
+ if (object == EFacetAdapterFactory.modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == EFacetAdapterFactory.modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ protected EFacetSwitch<Adapter> modelSwitch =
+ new EFacetSwitch<Adapter>() {
+ @Override
+ public Adapter caseFacetAttribute(final FacetAttribute object) {
+ return createFacetAttributeAdapter();
+ }
+ @Override
+ public Adapter caseFacetReference(final FacetReference object) {
+ return createFacetReferenceAdapter();
+ }
+ @Override
+ public Adapter caseFacetOperation(final FacetOperation object) {
+ return createFacetOperationAdapter();
+ }
+ @Override
+ public Adapter caseFacetSet(final FacetSet object) {
+ return createFacetSetAdapter();
+ }
+ @Override
+ public Adapter caseFacet(final Facet object) {
+ return createFacetAdapter();
+ }
+ @Override
+ public Adapter caseQuery(final Query object) {
+ return createQueryAdapter();
+ }
+ @Override
+ public Adapter caseQueryResult(final QueryResult object) {
+ return createQueryResultAdapter();
+ }
+ @Override
+ public Adapter caseCategory(final Category object) {
+ return createCategoryAdapter();
+ }
+ @Override
+ public Adapter caseFacetElement(final FacetElement object) {
+ return createFacetElementAdapter();
+ }
+ @Override
+ public Adapter caseQueryFacetElement(final QueryFacetElement object) {
+ return createQueryFacetElementAdapter();
+ }
+ @Override
+ public Adapter caseOppositeReference(final OppositeReference object) {
+ return createOppositeReferenceAdapter();
+ }
+ @Override
+ public Adapter caseQuerySet(final QuerySet object) {
+ return createQuerySetAdapter();
+ }
+ @Override
+ public Adapter caseLiteral(final Literal object) {
+ return createLiteralAdapter();
+ }
+ @Override
+ public Adapter caseTypedElementRef(final TypedElementRef object) {
+ return createTypedElementRefAdapter();
+ }
+ @Override
+ public Adapter caseParameter(final Parameter object) {
+ return createParameterAdapter();
+ }
+ @Override
+ public Adapter caseParameterValue(final ParameterValue object) {
+ return createParameterValueAdapter();
+ }
+ @Override
+ public Adapter caseQueryContext(final QueryContext object) {
+ return createQueryContextAdapter();
+ }
+ @Override
+ public Adapter caseEModelElement(final EModelElement object) {
+ return createEModelElementAdapter();
+ }
+ @Override
+ public Adapter caseENamedElement(final ENamedElement object) {
+ return createENamedElementAdapter();
+ }
+ @Override
+ public Adapter caseETypedElement(final ETypedElement object) {
+ return createETypedElementAdapter();
+ }
+ @Override
+ public Adapter caseEStructuralFeature(final EStructuralFeature object) {
+ return createEStructuralFeatureAdapter();
+ }
+ @Override
+ public Adapter caseEAttribute(final EAttribute object) {
+ return createEAttributeAdapter();
+ }
+ @Override
+ public Adapter caseEReference(final EReference object) {
+ return createEReferenceAdapter();
+ }
+ @Override
+ public Adapter caseEOperation(final EOperation object) {
+ return createEOperationAdapter();
+ }
+ @Override
+ public Adapter caseEPackage(final EPackage object) {
+ return createEPackageAdapter();
+ }
+ @Override
+ public Adapter caseEClassifier(final EClassifier object) {
+ return createEClassifierAdapter();
+ }
+ @Override
+ public Adapter defaultCase(final EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ @Override
+ public Adapter createAdapter(final Notifier target) {
+ return this.modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.FacetAttribute <em>Facet Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.FacetAttribute
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createFacetAttributeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.FacetReference <em>Facet Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.FacetReference
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createFacetReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.FacetOperation <em>Facet Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.FacetOperation
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createFacetOperationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.FacetSet <em>Facet Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.FacetSet
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createFacetSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.Facet <em>Facet</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.Facet
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createFacetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.Query <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.Query
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.QueryResult <em>Query Result</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.QueryResult
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createQueryResultAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.Category <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.Category
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createCategoryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.FacetElement <em>Facet Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.FacetElement
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createFacetElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.QueryFacetElement <em>Query Facet Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.QueryFacetElement
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createQueryFacetElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.OppositeReference <em>Opposite Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.OppositeReference
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createOppositeReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.QuerySet <em>Query Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.QuerySet
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createQuerySetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.Literal <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.Literal
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createLiteralAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.TypedElementRef <em>Typed Element Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.TypedElementRef
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createTypedElementRefAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.Parameter <em>Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.Parameter
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createParameterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.ParameterValue <em>Parameter Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.ParameterValue
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createParameterValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.efacet.QueryContext <em>Query Context</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.facet.efacet.QueryContext
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createQueryContextAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EModelElement <em>EModel Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EModelElement
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createEModelElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.ENamedElement <em>ENamed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.ENamedElement
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createENamedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.ETypedElement <em>ETyped Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.ETypedElement
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createETypedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EStructuralFeature <em>EStructural Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EStructuralFeature
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createEStructuralFeatureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EAttribute <em>EAttribute</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EAttribute
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createEAttributeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EReference <em>EReference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EReference
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createEReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EOperation <em>EOperation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EOperation
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createEOperationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EPackage <em>EPackage</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EPackage
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createEPackageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EClassifier <em>EClassifier</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EClassifier
+ * @generated
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createEClassifierAdapter() {
+ 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
+ * @deprecated use the new eFacet2 metamodel in org.eclipse.emf.facet.efacet2.metamodel
+ */
+ @Deprecated
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //EFacetAdapterFactory
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/util/EFacetSwitch.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/util/EFacetSwitch.java
new file mode 100644
index 00000000000..ec246a59a82
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet/src/org/eclipse/emf/facet/efacet/util/EFacetSwitch.java
@@ -0,0 +1,670 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Design
+ * Nicolas Guyomar (Mia-Software) - Implementation
+ * Gregoire Dupe (Mia-Software) - Bug 371210 - Compatibility of org.eclipse.emf.facet.efacet with EMF 2.6.0
+ */
+package org.eclipse.emf.facet.efacet.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.ETypedElement;
+
+import org.eclipse.emf.facet.efacet.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.facet.efacet.EFacetPackage
+ * @deprecated use the new eFacet metamodel in org.eclipse.emf.facet.efacet.metamodel. Cf.
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=373672
+ */
+@Deprecated
+public class EFacetSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EFacetPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EFacetSwitch() {
+ if (modelPackage == null) {
+ modelPackage = EFacetPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 T 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 T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), 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 T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case EFacetPackage.FACET_ATTRIBUTE: {
+ FacetAttribute facetAttribute = (FacetAttribute)theEObject;
+ T result = caseFacetAttribute(facetAttribute);
+ if (result == null) result = caseEAttribute(facetAttribute);
+ if (result == null) result = caseQueryFacetElement(facetAttribute);
+ if (result == null) result = caseEStructuralFeature(facetAttribute);
+ if (result == null) result = caseFacetElement(facetAttribute);
+ if (result == null) result = caseETypedElement(facetAttribute);
+ if (result == null) result = caseENamedElement(facetAttribute);
+ if (result == null) result = caseEModelElement(facetAttribute);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.FACET_REFERENCE: {
+ FacetReference facetReference = (FacetReference)theEObject;
+ T result = caseFacetReference(facetReference);
+ if (result == null) result = caseEReference(facetReference);
+ if (result == null) result = caseQueryFacetElement(facetReference);
+ if (result == null) result = caseEStructuralFeature(facetReference);
+ if (result == null) result = caseFacetElement(facetReference);
+ if (result == null) result = caseETypedElement(facetReference);
+ if (result == null) result = caseENamedElement(facetReference);
+ if (result == null) result = caseEModelElement(facetReference);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.FACET_OPERATION: {
+ FacetOperation facetOperation = (FacetOperation)theEObject;
+ T result = caseFacetOperation(facetOperation);
+ if (result == null) result = caseEOperation(facetOperation);
+ if (result == null) result = caseQueryFacetElement(facetOperation);
+ if (result == null) result = caseFacetElement(facetOperation);
+ if (result == null) result = caseETypedElement(facetOperation);
+ if (result == null) result = caseENamedElement(facetOperation);
+ if (result == null) result = caseEModelElement(facetOperation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.FACET_SET: {
+ FacetSet facetSet = (FacetSet)theEObject;
+ T result = caseFacetSet(facetSet);
+ if (result == null) result = caseEPackage(facetSet);
+ if (result == null) result = caseENamedElement(facetSet);
+ if (result == null) result = caseEModelElement(facetSet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.FACET: {
+ Facet facet = (Facet)theEObject;
+ T result = caseFacet(facet);
+ if (result == null) result = caseEClassifier(facet);
+ if (result == null) result = caseENamedElement(facet);
+ if (result == null) result = caseEModelElement(facet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.QUERY: {
+ Query query = (Query)theEObject;
+ T result = caseQuery(query);
+ if (result == null) result = caseETypedElement(query);
+ if (result == null) result = caseENamedElement(query);
+ if (result == null) result = caseEModelElement(query);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.QUERY_RESULT: {
+ QueryResult queryResult = (QueryResult)theEObject;
+ T result = caseQueryResult(queryResult);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.CATEGORY: {
+ Category category = (Category)theEObject;
+ T result = caseCategory(category);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.FACET_ELEMENT: {
+ FacetElement facetElement = (FacetElement)theEObject;
+ T result = caseFacetElement(facetElement);
+ if (result == null) result = caseETypedElement(facetElement);
+ if (result == null) result = caseENamedElement(facetElement);
+ if (result == null) result = caseEModelElement(facetElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.QUERY_FACET_ELEMENT: {
+ QueryFacetElement queryFacetElement = (QueryFacetElement)theEObject;
+ T result = caseQueryFacetElement(queryFacetElement);
+ if (result == null) result = caseFacetElement(queryFacetElement);
+ if (result == null) result = caseETypedElement(queryFacetElement);
+ if (result == null) result = caseENamedElement(queryFacetElement);
+ if (result == null) result = caseEModelElement(queryFacetElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.OPPOSITE_REFERENCE: {
+ OppositeReference oppositeReference = (OppositeReference)theEObject;
+ T result = caseOppositeReference(oppositeReference);
+ if (result == null) result = caseFacetElement(oppositeReference);
+ if (result == null) result = caseETypedElement(oppositeReference);
+ if (result == null) result = caseENamedElement(oppositeReference);
+ if (result == null) result = caseEModelElement(oppositeReference);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.QUERY_SET: {
+ QuerySet querySet = (QuerySet)theEObject;
+ T result = caseQuerySet(querySet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.LITERAL: {
+ Literal literal = (Literal)theEObject;
+ T result = caseLiteral(literal);
+ if (result == null) result = caseQuery(literal);
+ if (result == null) result = caseETypedElement(literal);
+ if (result == null) result = caseENamedElement(literal);
+ if (result == null) result = caseEModelElement(literal);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.TYPED_ELEMENT_REF: {
+ TypedElementRef typedElementRef = (TypedElementRef)theEObject;
+ T result = caseTypedElementRef(typedElementRef);
+ if (result == null) result = caseQuery(typedElementRef);
+ if (result == null) result = caseETypedElement(typedElementRef);
+ if (result == null) result = caseENamedElement(typedElementRef);
+ if (result == null) result = caseEModelElement(typedElementRef);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.PARAMETER: {
+ Parameter parameter = (Parameter)theEObject;
+ T result = caseParameter(parameter);
+ if (result == null) result = caseETypedElement(parameter);
+ if (result == null) result = caseENamedElement(parameter);
+ if (result == null) result = caseEModelElement(parameter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.PARAMETER_VALUE: {
+ ParameterValue parameterValue = (ParameterValue)theEObject;
+ T result = caseParameterValue(parameterValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EFacetPackage.QUERY_CONTEXT: {
+ QueryContext queryContext = (QueryContext)theEObject;
+ T result = caseQueryContext(queryContext);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Attribute</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>Facet Attribute</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetAttribute(FacetAttribute object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Reference</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>Facet Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetReference(FacetReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Operation</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>Facet Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetOperation(FacetOperation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Set</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>Facet Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetSet(FacetSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet</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>Facet</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacet(Facet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query</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>Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQuery(Query object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query Result</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>Query Result</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQueryResult(QueryResult object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Category</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>Category</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCategory(Category object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Facet Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Facet Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFacetElement(FacetElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query Facet Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Query Facet Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQueryFacetElement(QueryFacetElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Opposite Reference</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>Opposite Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOppositeReference(OppositeReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query Set</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>Query Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQuerySet(QuerySet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Literal</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>Literal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLiteral(Literal object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Typed Element Ref</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>Typed Element Ref</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTypedElementRef(TypedElementRef object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Parameter</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>Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParameter(Parameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Parameter Value</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>Parameter Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParameterValue(ParameterValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query Context</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>Query Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQueryContext(QueryContext object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EModel Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EModel Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEModelElement(EModelElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ENamed Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ENamed Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseENamedElement(ENamedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ETyped Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ETyped Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseETypedElement(ETypedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EStructural Feature</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>EStructural Feature</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEStructuralFeature(EStructuralFeature object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EAttribute</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>EAttribute</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAttribute(EAttribute object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EReference</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>EReference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEReference(EReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EOperation</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>EOperation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEOperation(EOperation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EPackage</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>EPackage</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEPackage(EPackage object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EClassifier</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>EClassifier</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEClassifier(EClassifier 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //EFacetSwitch
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.core/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.core/META-INF/MANIFEST.MF
index 5d0b16d9b32..d16d8781127 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.core/META-INF/MANIFEST.MF
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.core/META-INF/MANIFEST.MF
@@ -11,10 +11,10 @@ Require-Bundle: org.eclipse.papyrus.emf.facet.efacet.core;bundle-version="0.1.0"
org.eclipse.papyrus.emf.facet.query.java;bundle-version="0.1.0",
org.eclipse.papyrus.emf.facet.query.java.metamodel;bundle-version="0.2.0",
org.eclipse.papyrus.emf.facet.util.core;bundle-version="0.1.0",
- org.eclipse.emf.facet.efacet.metamodel;bundle-version="0.2.0",
+ org.eclipse.papyrus.emf.facet.efacet.metamodel;bundle-version="0.2.0",
org.eclipse.papyrus.emf.facet.util.core;bundle-version="0.1.0",
org.eclipse.emf.ecore;bundle-version="2.6.0",
- org.eclipse.emf.facet.efacet;bundle-version="0.2.0"
+ org.eclipse.papyrus.emf.facet.efacet;bundle-version="0.2.0"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.facet.query.java.core,
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.core/plugin.xml b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.core/plugin.xml
index 98f593878c1..2d14f1bfdbf 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.core/plugin.xml
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.core/plugin.xml
@@ -20,7 +20,7 @@
</queryEvaluatorRegistration>
</extension>
- <extension point="org.eclipse.emf.facet.efacet.core.queryImplementationRegistration">
+ <extension point="org.eclipse.papyrus.emf.facet.efacet.core.queryImplementationRegistration">
<queryImplementationRegistration class="org.eclipse.emf.facet.query.java.core.internal.evaluator.JavaQueryImplementationFactory"/>
</extension>
</plugin>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.metamodel/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.metamodel/META-INF/MANIFEST.MF
index 6a01ce3b376..dfc8128ead2 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.metamodel/META-INF/MANIFEST.MF
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.metamodel/META-INF/MANIFEST.MF
@@ -10,5 +10,5 @@ Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.facet.query.java.metamodel.v0_2_0.javaquery
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore,
- org.eclipse.emf.facet.efacet;bundle-version="0.1.0",
- org.eclipse.emf.facet.efacet.metamodel;bundle-version="0.2.0"
+ org.eclipse.papyrus.emf.facet.efacet;bundle-version="0.1.0",
+ org.eclipse.papyrus.emf.facet.efacet.metamodel;bundle-version="0.2.0"
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java/META-INF/MANIFEST.MF
index 9fd716db070..0cf99b80ed1 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java/META-INF/MANIFEST.MF
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java/META-INF/MANIFEST.MF
@@ -10,6 +10,6 @@ Export-Package: org.eclipse.emf.facet.query.java.javaquery,
org.eclipse.emf.facet.query.java.javaquery.util;x-friends:="org.eclipse.emf.facet.query.java.edit"
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore,
- org.eclipse.emf.facet.efacet;bundle-version="0.1.0",
- org.eclipse.emf.facet.efacet.metamodel;bundle-version="0.2.0"
+ org.eclipse.papyrus.emf.facet.efacet;bundle-version="0.1.0",
+ org.eclipse.papyrus.emf.facet.efacet.metamodel;bundle-version="0.2.0"
Bundle-ActivationPolicy: lazy
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.core/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.core/META-INF/MANIFEST.MF
index c037787185a..12000772964 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.core/META-INF/MANIFEST.MF
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.core/META-INF/MANIFEST.MF
@@ -8,11 +8,11 @@ Bundle-Vendor: %Bundle-Vendor
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;bundle-version="2.2.0",
org.eclipse.papyrus.emf.facet.util.emf.catalog;bundle-version="0.1.0";visibility:=reexport,
- org.eclipse.emf.facet.common.core;bundle-version="0.1.0",
+ org.eclipse.papyrus.emf.facet.common.core;bundle-version="0.1.0",
org.eclipse.papyrus.emf.facet.util.core;bundle-version="0.1.0",
org.eclipse.core.resources;bundle-version="3.6.0",
org.eclipse.emf.edit;bundle-version="2.6.0",
- org.eclipse.emf.facet.util.pde.core;bundle-version="0.4.0"
+ org.eclipse.papyrus.emf.facet.util.pde.core;bundle-version="0.4.0"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.facet.util.emf.core,
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.core/plugin.xml b/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.core/plugin.xml
index f7d9021d965..038a511f9eb 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.core/plugin.xml
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.core/plugin.xml
@@ -27,7 +27,7 @@
</initializer>
</extension>
<extension
- point="org.eclipse.emf.facet.util.emf.core.serialization">
+ point="org.eclipse.papyrus.emf.facet.util.emf.core.serialization">
<serializer
class="org.eclipse.emf.facet.util.emf.core.internal.serialization.serializers.StringSerializer">
</serializer>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.ui/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.ui/META-INF/MANIFEST.MF
index de42c24f982..cd4d72f5dff 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.ui/META-INF/MANIFEST.MF
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.emf.ui/META-INF/MANIFEST.MF
@@ -23,7 +23,7 @@ Require-Bundle: org.eclipse.ui,
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Export-Package:
- org.eclipse.emf.facet.util.emf.ui.internal.dialogs;x-friends:="org.eclipse.emf.facet.widgets.celleditors",
+ org.eclipse.emf.facet.util.emf.ui.internal.dialogs;x-friends:="org.eclipse.papyrus.emf.facet.widgets.celleditors",
org.eclipse.emf.facet.util.emf.ui.internal.exported,
org.eclipse.emf.facet.util.emf.ui.internal.exported.util.composite,
org.eclipse.emf.facet.util.emf.ui.internal.exported.util.widget.component.metaclass,
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.checkstyle b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.checkstyle
new file mode 100644
index 00000000000..11b5e4fd4de
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.checkstyle
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2010 Mia-Software.
+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:
+ Nicolas Guyomar (Mia-Software)
+ Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+-->
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+ <local-check-config name="EmfFacet" location="/org.eclipse.emf.facet.archi.tech.rules/checkstyle/EmfFacet.checkstyle" type="project" description=""/>
+ <fileset name="all" enabled="true" check-config-name="EmfFacet" local="true">
+ <file-match-pattern match-pattern="." include-pattern="true"/>
+ <file-match-pattern match-pattern="Messages.java" include-pattern="false"/>
+ </fileset>
+</fileset-config>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.classpath b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.classpath
new file mode 100644
index 00000000000..2d1a4302f04
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.pmd b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.pmd
new file mode 100644
index 00000000000..a64878bfdf6
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.pmd
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pmd>
+ <useProjectRuleSet>true</useProjectRuleSet>
+ <ruleSetFile>../org.eclipse.emf.facet.archi.tech.rules/pmd/ruleset.xml</ruleSetFile>
+ <includeDerivedFiles>false</includeDerivedFiles>
+ <violationsAsErrors>true</violationsAsErrors>
+</pmd>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.project b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.project
new file mode 100644
index 00000000000..4d1a1708d72
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.emf.facet.util.pde.core</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.settings/org.eclipse.jdt.core.prefs b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..44217f8c068
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+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/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..01f8db600e2
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMF Facet PDE Core Utils (Incubation)
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.util.pde.core
+Bundle-Version: 0.4.0.qualifier
+Bundle-Activator: org.eclipse.emf.facet.util.pde.core.internal.Activator
+Bundle-Vendor: Eclipse Modeling Project
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.6.0",
+ org.eclipse.pde.core;bundle-version="3.6.0",
+ org.eclipse.core.resources;bundle-version="3.6.0",
+ org.eclipse.papyrus.emf.facet.util.core;bundle-version="0.4.0",
+ org.eclipse.jdt.core;bundle-version="3.6.0",
+ com.ibm.icu;bundle-version="4.2.1"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emf.facet.util.pde.core.internal.exported,
+ org.eclipse.emf.facet.util.pde.core.internal.exported.exception
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/about.html b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/about.html
new file mode 100644
index 00000000000..d1714826b27
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>January 4, 2011</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/build.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/build.properties
new file mode 100644
index 00000000000..44f07d46c98
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/build.properties
@@ -0,0 +1,16 @@
+# Copyright (c) 2013 Mia-Software
+# 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:
+# Gregoire Dupe (Mia-Software) - Bug 417789 - org.eclipse.emf.facet.util.core should not so much dependencies
+# Fabien Treguer (Soft-Maint) - Bug 367168 - [Unit Test Failure][0.2/3.8] org.eclipse.emf.facet.util.core.tests.internal.PluginUtilsTests.testPluginUtils
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ resources/
+src.includes = about.html
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/resources/Activator.java.template b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/resources/Activator.java.template
new file mode 100644
index 00000000000..329f8643720
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/resources/Activator.java.template
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Bros (Mia-Software)
+ *******************************************************************************/
+package {0};
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/** The activator class controls the plug-in life cycle */
+public class Activator extends Plugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "{0}"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ @Override
+ public void start(final BundleContext context) throws Exception {
+ super.start(context);
+ Activator.plugin = this;
+ }
+
+ @Override
+ public void stop(final BundleContext context) throws Exception {
+ Activator.plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return Activator.plugin;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/resources/MANIFEST.MF.template b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/resources/MANIFEST.MF.template
new file mode 100644
index 00000000000..5f3cd4fbfdc
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/resources/MANIFEST.MF.template
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: {projectName}
+Bundle-SymbolicName: {packageName};singleton:=true
+Bundle-Version: 0.0.1.qualifier
+Bundle-Activator: {activator}
+Bundle-Vendor: bundle vendor
+Require-Bundle: org.eclipse.core.runtime
+Bundle-RequiredExecutionEnvironment: {javaVersion}
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .,bin
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/Activator.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/Activator.java
new file mode 100644
index 00000000000..fe427a0c4d9
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/Activator.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2013 Mia-Software
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Bug 417789 - org.eclipse.emf.facet.util.core should not so much dependencies
+ */
+ package org.eclipse.emf.facet.util.pde.core.internal;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+@SuppressWarnings("PMD.UseSingleton")
+// @SuppressWarnings("PMD.UseSingleton") We cannot conforms to this rule because
+// this class is an Eclipse plug-in activator which will be instantiated by the
+// Eclipse framework.
+public class Activator extends Plugin {
+
+ private static Activator plugin;
+
+ @Override
+ @SuppressWarnings("PMD.SignatureDeclareThrowsException")
+ // @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use
+ // this signature because this is an override of an Eclipse framework's
+ // method.
+ public void start(final BundleContext bundleContext) throws Exception {
+ super.start(bundleContext);
+ Activator.plugin = this;
+ }
+
+ @Override
+ @SuppressWarnings("PMD.SignatureDeclareThrowsException")
+ // @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use
+ // this signature because this is an override of an Eclipse framework's
+ // method.
+ public void stop(final BundleContext bundleContext) throws Exception {
+ // NOPMD: PMD say "Assigning an Object to null is a code smell."
+ // No choice to right it in another way : this is an Eclipse pattern.
+ Activator.plugin = null; // NOPMD
+ super.stop(bundleContext);
+ }
+
+ public static Plugin getDefault() {
+ return Activator.plugin;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/BuildPropertiesUtils.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/BuildPropertiesUtils.java
new file mode 100644
index 00000000000..820c73852c1
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/BuildPropertiesUtils.java
@@ -0,0 +1,146 @@
+/*******************************************************************************
+ * Copyright (c) 2010-2013 Mia-Software.
+ * 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:
+ * Nicolas Bros (Mia-Software) - initial API and implementation
+ * Nicolas Bros (Mia-Software) - Bug 339991 - don't use internal APIs in org.eclipse.emf.facet.util.core.internal.BuildPropertiesUtils
+ * Laurent Pichierri (Soft-Maint) - Bug 371204 - Compatibility with Helios
+ * Gregoire Dupe (Mia-Software) - Bug 371204 - Compatibility with Helios
+ * Gregoire Dupe (Mia-Software) - Bug 417789 - org.eclipse.emf.facet.util.core should not so much dependencies
+ *******************************************************************************/
+package org.eclipse.emf.facet.util.pde.core.internal;
+
+import java.io.ByteArrayInputStream;
+import java.lang.reflect.Method;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.facet.util.core.Logger;
+import org.eclipse.emf.facet.util.pde.core.internal.exception.PdeCoreUtilsRuntimeException;
+import org.eclipse.pde.core.IEditableModel;
+import org.eclipse.pde.core.build.IBuild;
+import org.eclipse.pde.core.build.IBuildEntry;
+import org.eclipse.pde.core.build.IBuildModel;
+import org.eclipse.pde.core.plugin.IPluginModelBase;
+import org.eclipse.pde.core.plugin.PluginRegistry;
+
+public final class BuildPropertiesUtils {
+
+ // This class has been copied from org.eclipse.emf.facet.infra.common.core.internal.utils.BuildPropertiesUtils
+
+ private BuildPropertiesUtils() {
+ // utilities class
+ }
+
+ /**
+ * Get the build model of an Eclipse plug-in
+ *
+ * @param model
+ * a plug-in's PDE model
+ * @return a build model or <code>null</code> if the build.properties file
+ * does not exist
+ * @throws CoreException
+ */
+ public static IBuildModel getBuildModel(final IPluginModelBase model) throws CoreException {
+ final IProject project = model.getUnderlyingResource().getProject();
+ final IPluginModelBase pluginModelBase = PluginRegistry.findModel(project);
+ //Here we use a reflexive call to be able to build against an Helios platform.
+ //This method will build with Helios, but will fail at runtime.
+ //We do not have a better solution. Otherwise we would have to use an internal API.
+ //We prefer some loose of functionality with Helios that to use internal API.
+ IBuildModel buildModel = null;
+ try {
+ final Class<? extends IPluginModelBase> class1 = pluginModelBase.getClass();
+ final Method method = class1.getMethod("getBuildModel"); //$NON-NLS-1$
+ if (method != null) {
+ buildModel = (IBuildModel) method.invoke(pluginModelBase);
+ }
+ } catch (Exception e) {
+ Logger.logError(e, Activator.getDefault());
+ }
+ return buildModel;
+ }
+
+ /**
+ * @param project
+ * the project for which to get a build model top level object
+ * @return a build model top level object or <code>null</code> if the
+ * build.properties file does not exist
+ * @throws CoreException
+ */
+ public static IBuild getBuild(final IProject project) throws CoreException {
+ IBuild result = null;
+ final IPluginModelBase pluginModel = PluginRegistry.findModel(project);
+ if (pluginModel != null) {
+ final IBuildModel buildModel = getBuildModel(pluginModel);
+ if (buildModel != null) {
+ result = buildModel.getBuild();
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @param elementFile
+ * the file whose presence in the build.properties is being
+ * tested
+ * @return whether the file is in the build.properties (<code>false</code>
+ * if the build.properties file does not exist)
+ * @throws CoreException
+ */
+ public static boolean isInBuild(final IFile elementFile) throws CoreException {
+ final IProject project = elementFile.getProject();
+ final IPath filePath = elementFile.getFullPath().removeFirstSegments(1);
+ final IBuild build = getBuild(project);
+ boolean result = false;
+ if (build != null) {
+ final IBuildEntry entry = build.getEntry(IBuildEntry.BIN_INCLUDES);
+ if (entry != null) {
+ final String[] tokens = entry.getTokens();
+ for (String token : tokens) {
+ final IPath path = new Path(token);
+ // if "abc/" is included, then "abc/def/" is too
+ if (path.isPrefixOf(filePath)) {
+ result = true;
+ }
+ }
+ }
+ }
+ return result;
+ }
+
+ public static void addToBuild(final IFile elementFile) throws CoreException {
+ final IProject project = elementFile.getProject();
+ if (isInBuild(elementFile)) {
+ return;
+ }
+ final IPath filePath = elementFile.getFullPath().removeFirstSegments(1);
+ final IPluginModelBase pluginModel = PluginRegistry.findModel(project);
+ final IFile buildProperties = elementFile.getProject().getFile("build.properties"); //$NON-NLS-1$
+ if (!buildProperties.exists()) {
+ buildProperties.create(new ByteArrayInputStream(new byte[0]), true,
+ new NullProgressMonitor());
+ }
+ final IBuildModel buildModel = getBuildModel(pluginModel);
+ if (buildModel == null) {
+ throw new PdeCoreUtilsRuntimeException("Couldn't get build model"); //$NON-NLS-1$
+ }
+ final IBuild build = buildModel.getBuild();
+ IBuildEntry entry = build.getEntry(IBuildEntry.BIN_INCLUDES);
+ // if entry "bin.includes" does not exist, then create it
+ if (entry == null) {
+ entry = buildModel.getFactory().createEntry(IBuildEntry.BIN_INCLUDES);
+ build.add(entry);
+ }
+ entry.addToken(filePath.toPortableString());
+ ((IEditableModel) buildModel).save();
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/PluginUtils.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/PluginUtils.java
new file mode 100644
index 00000000000..a8b557e2b31
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/PluginUtils.java
@@ -0,0 +1,605 @@
+/*******************************************************************************
+ * Copyright (c) 2010-2013 Mia-Software.
+ * 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:
+ * Nicolas Bros (Mia-Software) - initial API and implementation
+ * Nicolas Guyomar (Mia-Software) - Bug 340339 - Need some Utils class for Folder/File/Project management
+ * Gregoire Dupe (Mia-Software) - Bug 340339 - Need some Utils class for Folder/File/Project management
+ * Nicolas Guyomar (Mia-Software) - Bug 340681 - Facet column implementation
+ * Nicolas Bros (Mia-Software) - Bug 380391 - PluginUtils#importPlugin should use the Bundle API
+ * Gregoire Dupe (Mia-Software) - Bug 408344 - [Releng] Deep folders cause build break
+ *******************************************************************************/
+package org.eclipse.emf.facet.util.pde.core.internal;
+
+import java.io.ByteArrayInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Enumeration;
+import java.util.List;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+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.IProjectDescription;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.facet.util.core.Logger;
+import org.eclipse.emf.facet.util.core.internal.exported.FileUtils;
+import org.eclipse.emf.facet.util.core.internal.exported.FolderUtils;
+import org.eclipse.emf.facet.util.core.internal.exported.IFilter;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaConventions;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.pde.core.plugin.IExtensions;
+import org.eclipse.pde.core.plugin.IPluginAttribute;
+import org.eclipse.pde.core.plugin.IPluginElement;
+import org.eclipse.pde.core.plugin.IPluginExtension;
+import org.eclipse.pde.core.plugin.IPluginModelBase;
+import org.eclipse.pde.core.plugin.IPluginObject;
+import org.eclipse.pde.core.plugin.PluginRegistry;
+import org.osgi.framework.Bundle;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.Text;
+import org.xml.sax.SAXException;
+
+import com.ibm.icu.lang.UCharacter;
+
+public final class PluginUtils {
+
+ // This class has been copied from
+ // org.eclipse.emf.facet.infra.common.core.internal.utils.PluginUtils
+
+ private PluginUtils() {
+ // utilities class
+ }
+
+ /**
+ * Returns whether the given file is registered in the plugin.xml of the
+ * given project, using the given extension point.
+ *
+ * @param extensionPoint
+ * the extension point that is used to register elements of this
+ * kind (elements must be declared with a "file" attribute)
+ */
+ public static boolean isRegistered(final IFile elementFile, final String extensionPoint) {
+ final IProject project = elementFile.getProject();
+ final IPluginModelBase pluginModel = PluginRegistry.findModel(project);
+ boolean result = false;
+ if (pluginModel != null) {
+ final IExtensions extensions2 = pluginModel.getExtensions();
+ final IPluginExtension[] extensions = extensions2.getExtensions();
+ for (IPluginExtension pluginExtension : extensions) {
+ if (extensionPoint.equals(pluginExtension.getPoint())) {
+ final IPluginObject[] children = pluginExtension.getChildren();
+ for (IPluginObject child : children) {
+ if (child instanceof IPluginElement) {
+ final IPluginElement pluginElement = (IPluginElement) child;
+ final IPluginAttribute[] attributes = pluginElement.getAttributes();
+ for (IPluginAttribute pluginAttribute : attributes) {
+ if ("file".equalsIgnoreCase(pluginAttribute.getName())) { //$NON-NLS-1$
+ final String strFile = pluginAttribute.getValue();
+ if (strFile != null && strFile.length() > 0) {
+ final IFile file = project.getFile(strFile);
+ if (file.exists() && elementFile.equals(file)) {
+ result = true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Registers the given file in the plugin.xml of the given project, using
+ * the given extension point.
+ *
+ * @param project
+ * the project in which the element should be registered
+ * @param extensionToCheck
+ * the file extension of the element that should be registered
+ * @param extensionPoint
+ * the extension point that is used to register elements of this
+ * kind (elements must be declared with a "file" attribute)
+ */
+ /**
+ * Registers the given file in the plugin.xml of the given project, using
+ * the given extension point.
+ *
+ * @param file
+ * the file to register
+ * @param extensionPointId
+ * the extension point that is used to register the file
+ * @param elementName
+ * the name of the XML element in which an attribute named "file"
+ * will be set to the path of the file
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ * @throws TransformerException
+ * @throws CoreException
+ */
+ public static void register(final IFile file, final String extensionPointId,
+ final String elementName) {
+ if (isRegistered(file, extensionPointId)) {
+ return;
+ }
+
+ final IPath filePath = file.getFullPath().removeFirstSegments(1);
+ final IProject project = file.getProject();
+
+ final IFile pluginXML = project.getFile("plugin.xml"); //$NON-NLS-1$
+ if (pluginXML.exists()) {
+ final DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder;
+
+ try {
+ docBuilder = docFactory.newDocumentBuilder();
+ final String pluginXmlLoc = pluginXML.getLocation().toOSString();
+ final Document doc = docBuilder.parse(pluginXmlLoc);
+ final Element root = doc.getDocumentElement();
+
+ final Text whitespace = doc.createTextNode(" "); //$NON-NLS-1$
+ root.appendChild(whitespace);
+
+ final Node extensionNode = doc.createElement("extension"); //$NON-NLS-1$
+ final Attr pointAttr = doc.createAttribute("point"); //$NON-NLS-1$
+ pointAttr.setValue(extensionPointId);
+ extensionNode.getAttributes().setNamedItem(pointAttr);
+ root.appendChild(extensionNode);
+
+ final Node elementNode = doc.createElement(elementName);
+ final Attr fileAttr = doc.createAttribute("file"); //$NON-NLS-1$
+ fileAttr.setValue(filePath.toString());
+ elementNode.getAttributes().setNamedItem(fileAttr);
+ extensionNode.appendChild(elementNode);
+
+ final TransformerFactory trFactory = TransformerFactory.newInstance();
+ final int indent = 3;
+ trFactory.setAttribute("indent-number", Integer.valueOf(indent)); //$NON-NLS-1$
+ final Transformer transformer = trFactory.newTransformer();
+ transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
+ transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
+ final StreamResult result = new StreamResult(new StringWriter());
+ final DOMSource source = new DOMSource(doc);
+ transformer.transform(source, result);
+ final String xmlString = result.getWriter().toString();
+
+ final byte[] byteArray = xmlString.getBytes("UTF-8"); //$NON-NLS-1$
+ pluginXML.setContents(new ByteArrayInputStream(byteArray), true, true,
+ new NullProgressMonitor());
+
+ } catch (Exception e) {
+ Logger.logError(e, Activator.getDefault());
+ }
+ } else {
+ try {
+ // create plugin.xml
+ final String template = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" //$NON-NLS-1$
+ + "<?eclipse version=\"3.4\"?>\n" + "<plugin>\n" //$NON-NLS-1$ //$NON-NLS-2$
+ + " <extension point=\"{0}\">\n" + " <{1} file=\"{2}\"/>\n" //$NON-NLS-1$ //$NON-NLS-2$
+ + " </extension>\n" //$NON-NLS-1$
+ + "</plugin>\n"; //$NON-NLS-1$
+
+ final String content = NLS.bind(template, new Object[] { extensionPointId, elementName,
+ filePath.toString() });
+ byte[] byteArray;
+ byteArray = content.getBytes("UTF-8"); //$NON-NLS-1$
+ pluginXML.create(new ByteArrayInputStream(byteArray), true,
+ new NullProgressMonitor());
+ try {
+ BuildPropertiesUtils.addToBuild(pluginXML);
+ } catch (Exception e) {
+ Logger.logError(e, "Error adding file " + pluginXML.getFullPath() //$NON-NLS-1$
+ + " to the build.properties", null); //$NON-NLS-1$
+ }
+ } catch (Exception e) {
+ Logger.logError(e, Activator.getDefault());
+ }
+ }
+ }
+
+ private static final String JAVA_VERSION = "J2SE-1.5"; //$NON-NLS-1$
+ private static final String ACTIVATOR_NAME = "Activator"; //$NON-NLS-1$
+ private static final String MANIFEST_MF_TPL = "resources/MANIFEST.MF.template"; //$NON-NLS-1$
+ private static final String ACTIVATOR_TPL = "resources/Activator.java.template"; //$NON-NLS-1$
+ private static final String PDE_CLASSPATH_ID = "org.eclipse.pde.core.requiredPlugins"; //$NON-NLS-1$
+ private static final String PLUGIN_NATURE = "org.eclipse.pde.PluginNature"; //$NON-NLS-1$
+
+ private static void addPdeClassPath(final IProject project)
+ throws JavaModelException {
+ final IJavaProject javaProject = JavaCore.create(project);
+ final IClasspathEntry[] oldClassPath = javaProject.getRawClasspath();
+ for (IClasspathEntry classpathEntry : oldClassPath) {
+ if (classpathEntry.getPath().equals(new Path(PluginUtils.PDE_CLASSPATH_ID))) {
+ return;
+ }
+ }
+ final IClasspathEntry[] newClassPath = new IClasspathEntry[oldClassPath.length + 1];
+ System.arraycopy(oldClassPath, 0, newClassPath, 0, oldClassPath.length);
+ newClassPath[oldClassPath.length] = JavaCore
+ .newContainerEntry(new Path(PluginUtils.PDE_CLASSPATH_ID));
+ javaProject.setRawClasspath(newClassPath, new NullProgressMonitor());
+ }
+
+ /**
+ * @author Gregoire Dupe (Mia-Software) - Removing "Require-Bundle"
+ * statement
+ * @throws IOException
+ */
+ private static void createManifest(final IProject project)
+ throws CoreException, IOException {
+ final IFolder folder = project.getFolder("META-INF"); //$NON-NLS-1$
+ if (!folder.exists()) {
+ folder.create(true, true, new NullProgressMonitor());
+ }
+ final IFile manifestFile = folder.getFile("MANIFEST.MF"); //$NON-NLS-1$
+ if (!manifestFile.exists()) {
+ String template = FileUtils.getFileContents(Activator.getDefault()
+ .getBundle(), PluginUtils.MANIFEST_MF_TPL);
+ template = template.replace("{projectName}", project.getName()); //$NON-NLS-1$
+ final String packageName = PluginUtils
+ .stringToValidPackageName(project.getName());
+ template = template.replace("{packageName}", packageName); //$NON-NLS-1$
+ final String activator = PluginUtils
+ .bundleActivatorQualifiedName(packageName);
+ template = template.replace("{activator}", activator); //$NON-NLS-1$
+ template = template.replace("{javaVersion}", //$NON-NLS-1$
+ PluginUtils.JAVA_VERSION);
+ final InputStream source = new ByteArrayInputStream(
+ template.getBytes());
+ manifestFile.create(source, true, new NullProgressMonitor());
+ }
+ }
+
+ private static String bundleActivatorQualifiedName(final String packageName) {
+ return packageName + '.' + PluginUtils.ACTIVATOR_NAME;
+ }
+
+ private static void createActivator(final IProject project)
+ throws CoreException, IOException {
+ final String packageName = PluginUtils.stringToValidPackageName(project
+ .getName());
+ final String qualifiedName = PluginUtils
+ .bundleActivatorQualifiedName(packageName);
+ final String path = qualifiedName.replaceAll("\\.", "/"); //$NON-NLS-1$ //$NON-NLS-2$
+ final IFile activatorFile = project
+ .getFile(new Path("src").append(path).addFileExtension("java")); //$NON-NLS-1$ //$NON-NLS-2$
+ FolderUtils.createFolder((IFolder) activatorFile.getParent());
+ if (!activatorFile.exists()) {
+ final String template = FileUtils.getFileContents(Activator
+ .getDefault().getBundle(), PluginUtils.ACTIVATOR_TPL);
+ final String activatorContents = template.replace("{0}", packageName); //$NON-NLS-1$
+ final InputStream source = new ByteArrayInputStream(
+ activatorContents.getBytes());
+ activatorFile.create(source, true, new NullProgressMonitor());
+ }
+ }
+
+ /** Transform the given name into a valid package and bundle name */
+ private static String stringToValidPackageName(final String name) {
+ final StringBuilder builder = new StringBuilder();
+ char prev = ' ';
+ for (int i = 0; i < name.length(); i++) {
+ final char character = name.charAt(i);
+ if (character >= 'a' && character <= 'z' || character >= 'A'
+ && character <= 'Z' || character == '_') {
+ builder.append(character);
+ prev = character;
+ } else if (character >= '0' && character <= '9') {
+ if (builder.length() == 0 || prev == '.') {
+ builder.append("_"); //$NON-NLS-1$
+ }
+ builder.append(character);
+ prev = character;
+ } else if (character == '.') {
+ if (prev == '.') {
+ continue;
+ }
+ if (builder.length() == 0 || prev >= '0' && prev <= '9') {
+ builder.append("_"); //$NON-NLS-1$
+ }
+ builder.append(character);
+ prev = character;
+ } else {
+ builder.append("_"); //$NON-NLS-1$
+ }
+ }
+
+ String result = builder.toString();
+ // first letter to lowercase
+ if (result.length() > 0 && UCharacter.isUpperCase(result.charAt(0))) {
+ result = UCharacter.toLowerCase(result.charAt(0))
+ + result.substring(1);
+ }
+
+ final IStatus status = JavaConventions.validatePackageName(result,
+ JavaCore.VERSION_1_5, JavaCore.VERSION_1_5);
+ if (!status.isOK()) {
+ Logger.logWarning(
+ "Couldn't make valid package name from project name: " //$NON-NLS-1$
+ + status.getMessage(), Activator.getDefault());
+ result = name;
+ }
+ return result;
+ }
+
+ private static void addPdeNature(final IProject project)
+ throws CoreException {
+ final String pluginNature = PluginUtils.PLUGIN_NATURE;
+ final IProjectDescription description = project.getDescription();
+ final String[] natures = description.getNatureIds();
+ if (!Arrays.asList(natures).contains(pluginNature)) {
+ String[] newNatures = new String[natures.length + 1];
+ System.arraycopy(natures, 0, newNatures, 0, natures.length);
+ newNatures[natures.length] = pluginNature;
+ description.setNatureIds(newNatures);
+ project.setDescription(description, new NullProgressMonitor());
+ }
+ }
+
+ /**
+ * This method transforms a Java project into a plug-in project by creating
+ * a MANIFEST.MF and an activator and by adding a the PDE nature and the PDE
+ * classpath.
+ *
+ * @param project
+ * The project to transform in an plug-in project
+ * @throws CoreException
+ * @throws IOException
+ */
+ public static void configureAsPluginProject(final IProject project)
+ throws CoreException, IOException {
+ PluginUtils.addPdeNature(project);
+ // PDE builders are automatically added when the PDE nature is added
+ PluginUtils.addPdeClassPath(project);
+ PluginUtils.createManifest(project);
+ PluginUtils.createActivator(project);
+ }
+
+ /**
+ * This method returns true if the project is a plug-in project.
+ *
+ * @param project
+ * @return True if the project is a plug-in project.
+ * @throws CoreException
+ */
+ public static boolean isPluginProject(final IProject project)
+ throws CoreException {
+ boolean result = false;
+ if (project.isAccessible()) {
+ result = project.getNature(PluginUtils.PLUGIN_NATURE) != null;
+ }
+ return result;
+ }
+
+ /**
+ * This method returns true if the path refers a file or a folder contained
+ * in a plug-in project.
+ *
+ * @param path
+ * @return True if the path refers a file or a folder contained in a plug-in
+ * project.
+ * @throws CoreException
+ */
+ public static boolean isInPluginProject(final IPath path)
+ throws CoreException {
+ IProject project;
+ if (path.segmentCount() == 1) {
+ project = ResourcesPlugin.getWorkspace().getRoot()
+ .getProject(path.segment(0));
+ } else {
+ final IFolder folder = ResourcesPlugin.getWorkspace().getRoot()
+ .getFolder(path);
+ project = folder.getProject();
+ }
+ return isPluginProject(project);
+ }
+
+ /**
+ * This method imports a plug-in in the workspace.
+ *
+ * @param bundle
+ * the bundle to import into a new project
+ * @return the created project
+ * @throws CoreException
+ * in case of error
+ */
+ public static IProject importPlugin(final Bundle bundle) throws CoreException {
+ return PluginUtils.importPlugin(bundle, new IFilter<String>() {
+ public boolean filter(final String fileName) {
+ return true;
+ }
+ });
+ }
+
+ /**
+ * This method imports a plug-in in the workspace.
+ *
+ * @param bundle
+ * the bundle to import into a new project
+ * @param filter
+ * can be used to filter out files or folders from the import
+ * @return the created project
+ * @throws CoreException
+ * in case of error
+ */
+ public static IProject importPlugin(final Bundle bundle, final IFilter<String> filter) throws CoreException {
+ final IProject[] project = new IProject[1];
+ final IWorkspaceRunnable workspaceRunnable = new IWorkspaceRunnable() {
+ public void run(final IProgressMonitor monitor) throws CoreException {
+ project[0] = internalImportPlugin(bundle, filter);
+ }
+ };
+ ResourcesPlugin.getWorkspace().run(workspaceRunnable, new NullProgressMonitor());
+ return project[0];
+ }
+
+ /**
+ * This method imports a plug-in in the workspace.
+ *
+ * @param bundle
+ * the bundle to import into a new project
+ * @param filter
+ * can be used to filter out files or folders from the import
+ * @return the created project
+ * @throws CoreException
+ * in case of error
+ */
+ protected static IProject internalImportPlugin(final Bundle bundle, final IFilter<String> filter) throws CoreException {
+ final IProject project = createProjectWithUniqueName(bundle.getSymbolicName());
+ final List<IStatus> errors = new ArrayList<IStatus>();
+ final List<URL> urls = getURLsToCopy(bundle, project,
+ "/", filter, errors); //$NON-NLS-1$
+ for (URL url : urls) {
+ copyUrlToFile(project, errors, url);
+ }
+ handleErrors(errors);
+ project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+ project.build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
+ project.build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor());
+ return project;
+ }
+
+ private static void copyUrlToFile(final IProject project,
+ final List<IStatus> errors, final URL url) throws CoreException {
+ try {
+ final InputStream inputStream = url.openStream();
+ final String strSubpath = url.toString().replaceAll(
+ "bundleentry://[^/]*/", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ final IFile file = project.getFile(new Path(strSubpath));
+ if (file.exists()) {
+ file.delete(true, new NullProgressMonitor());
+ }
+ final IContainer parent = file.getParent();
+ if ((!parent.exists()) && parent instanceof IFolder) {
+ createDir((IFolder) parent);
+ }
+ file.create(inputStream, true, new NullProgressMonitor());
+ inputStream.close();
+ } catch (FileNotFoundException e) {
+ /*
+ * gdupe> We ignore files removed during the execution of
+ * internalImportPlugin.
+ */
+ String message;
+ try {
+ message = String.format("Ignoring the missing file %s.", //$NON-NLS-1$
+ url.toURI());
+ } catch (URISyntaxException e1) {
+ message = String.format("Ignoring the missing file."); //$NON-NLS-1$
+ }
+ Logger.logError(message, Activator.getDefault());
+ } catch (IOException e) {
+ final Bundle localBundle = Activator.getDefault().getBundle();
+ final String symbolicName = localBundle.getSymbolicName();
+ final Status status = new Status(IStatus.ERROR, symbolicName,
+ e.getMessage(), e);
+ errors.add(status);
+ }
+ }
+
+ private static void createDir(final IFolder folder) throws CoreException {
+ final IContainer parent = folder.getParent();
+ if ((!parent.exists()) && parent instanceof IFolder) {
+ createDir((IFolder) parent);
+ }
+ folder.create(true, true, new NullProgressMonitor());
+ }
+ protected static void handleErrors(final List<IStatus> errors) throws CoreException {
+ if (!errors.isEmpty()) {
+ final IStatus[] statusArray = errors.toArray(new IStatus[errors.size()]);
+ final IStatus status = new MultiStatus(Activator.getDefault().getBundle().getSymbolicName(),
+ IStatus.ERROR, statusArray, "Errors importing project", new Exception()); //$NON-NLS-1$
+ throw new CoreException(status);
+ }
+ }
+
+ private static List<URL> getURLsToCopy(final Bundle bundle,
+ final IProject project, final String path,
+ final IFilter<String> filter, final List<IStatus> errors) {
+ final List<URL> result = new ArrayList<URL>();
+ final Enumeration<?> entryPaths = bundle.getEntryPaths(path);
+ while (entryPaths != null && entryPaths.hasMoreElements()) {
+ final Object nextElement = entryPaths.nextElement();
+ if (nextElement instanceof String) {
+ final String strSubpath = (String) nextElement;
+ if (filter.filter(strSubpath)) {
+ // directory
+ if (strSubpath.endsWith("/")) { //$NON-NLS-1$
+ final List<URL> fromSubFolder = getURLsToCopy(bundle,
+ project, strSubpath, filter, errors);
+ result.addAll(fromSubFolder);
+ } else {
+ final URL url = bundle.getEntry(strSubpath);
+ if (url != null) {
+ result.add(url);
+ }
+ }
+ }
+ }
+ }
+ return result;
+ }
+
+ protected static IProject createProjectWithUniqueName(final String baseName) throws CoreException {
+ final IWorkspace workspace = ResourcesPlugin.getWorkspace();
+ final IWorkspaceRoot root = workspace.getRoot();
+ IProject project = root.getProject(baseName);
+ if (project.exists()) {
+ int version = 1;
+ final int maxIter = 100;
+ while (project.exists() && version < maxIter) {
+ final String uniqueName = baseName + " (" + version + ')'; //$NON-NLS-1$
+ project = root.getProject(uniqueName);
+ version++;
+ }
+ }
+ project.create(new NullProgressMonitor());
+ project.open(new NullProgressMonitor());
+ return project;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exception/PdeCoreUtilsRuntimeException.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exception/PdeCoreUtilsRuntimeException.java
new file mode 100644
index 00000000000..984c4f1b3e0
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exception/PdeCoreUtilsRuntimeException.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Mia-Software.
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Bug 408344 - [Releng] Deep folders cause build break
+ *******************************************************************************/
+package org.eclipse.emf.facet.util.pde.core.internal.exception;
+
+public class PdeCoreUtilsRuntimeException extends RuntimeException {
+
+ private static final long serialVersionUID = -7462304304846835284L;
+
+ public PdeCoreUtilsRuntimeException() {
+ super();
+ }
+
+ public PdeCoreUtilsRuntimeException(final String message) {
+ super(message);
+ }
+
+ public PdeCoreUtilsRuntimeException(final Throwable cause) {
+ super(cause);
+ }
+
+ public PdeCoreUtilsRuntimeException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/BuildPropertiesUtils.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/BuildPropertiesUtils.java
new file mode 100644
index 00000000000..246d88c9133
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/BuildPropertiesUtils.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Mia-Software.
+ * 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:
+ * Gregoire Dupe (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ *******************************************************************************/
+package org.eclipse.emf.facet.util.pde.core.internal.exported;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.pde.core.build.IBuildModel;
+import org.eclipse.pde.core.plugin.IPluginModelBase;
+
+/**
+ * @since 0.3
+ */
+public final class BuildPropertiesUtils {
+
+ private BuildPropertiesUtils() {
+ // Must not be used
+ }
+
+ public static void addToBuild(final IFile file) throws CoreException {
+ org.eclipse.emf.facet.util.pde.core.internal.BuildPropertiesUtils
+ .addToBuild(file);
+ }
+
+ public static IBuildModel getBuildModel(final IPluginModelBase model)
+ throws CoreException {
+ return org.eclipse.emf.facet.util.pde.core.internal.BuildPropertiesUtils
+ .getBuildModel(model);
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/PluginUtils.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/PluginUtils.java
new file mode 100644
index 00000000000..5ac7457f626
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/PluginUtils.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Grégoire Dupé (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.util.pde.core.internal.exported;
+
+import java.io.IOException;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.emf.facet.util.core.internal.exported.IFilter;
+import org.osgi.framework.Bundle;
+
+/**
+ * @since 0.4
+ */
+public final class PluginUtils {
+
+ private PluginUtils() {
+ // Must not be used.
+ }
+
+ public static boolean isInPluginProject(final IPath path)
+ throws CoreException {
+ return org.eclipse.emf.facet.util.pde.core.internal.PluginUtils
+ .isInPluginProject(path);
+ }
+
+ public static void register(final IFile file,
+ final String extensionPointId, final String elementName) {
+ org.eclipse.emf.facet.util.pde.core.internal.PluginUtils.register(file,
+ extensionPointId, elementName);
+ }
+
+ public static boolean isRegistered(final IFile iFile,
+ final String extensionPointId) {
+ return org.eclipse.emf.facet.util.pde.core.internal.PluginUtils
+ .isRegistered(iFile, extensionPointId);
+ }
+
+ public static void configureAsPluginProject(final IProject project)
+ throws CoreException, IOException {
+ org.eclipse.emf.facet.util.pde.core.internal.PluginUtils
+ .configureAsPluginProject(project);
+ }
+
+ public static boolean isPluginProject(final IProject project)
+ throws CoreException {
+ return org.eclipse.emf.facet.util.pde.core.internal.PluginUtils
+ .isPluginProject(project);
+ }
+
+ public static IProject importPlugin(final Bundle bundle,
+ final IFilter<String> filter) throws CoreException {
+ return org.eclipse.emf.facet.util.pde.core.internal.PluginUtils
+ .importPlugin(bundle, filter);
+ }
+
+ public static IProject importPlugin(final Bundle bundle)
+ throws CoreException {
+ return org.eclipse.emf.facet.util.pde.core.internal.PluginUtils
+ .importPlugin(bundle);
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/TargetPlatformUtils.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/TargetPlatformUtils.java
new file mode 100644
index 00000000000..38771f96461
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/TargetPlatformUtils.java
@@ -0,0 +1,576 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Soft-Maint.
+ * 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:
+ * Fabien Treguer (Soft-Maint) - Bug 418565 - [Unit Test Failure] Missing dependencies during tests, target platform creation and load
+ ******************************************************************************/
+package org.eclipse.emf.facet.util.pde.core.internal.exported;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.Array;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Method;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import java.util.jar.JarOutputStream;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.facet.util.pde.core.internal.Activator;
+import org.eclipse.emf.facet.util.pde.core.internal.exported.exception.PdeCoreUtilsException;
+import org.eclipse.emf.facet.util.pde.core.internal.exported.exception.ReflexiveDiscouragedAccessException;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.Version;
+
+public final class TargetPlatformUtils {
+
+ private static final String BUNDLE_SEPARATOR = ","; //$NON-NLS-1$
+ private static final String JAR_EXT = ".jar"; //$NON-NLS-1$
+ private static final String JAR_DIRECTORY = "jarFiles"; //$NON-NLS-1$
+ private static final int BUFFER_SIZE = 4096;
+ private static final String BUNDLE_PREFIX = "reference:file:"; //$NON-NLS-1$
+ private static final String FRAMEWORK_PREFIX = "file:"; //$NON-NLS-1$
+ private static final String OSGI_PROP = "osgi.bundles"; //$NON-NLS-1$
+ private static final String OSGI_PROP_FRK = "osgi.framework"; //$NON-NLS-1$
+ private static final String ARRAY_PREFIX = "[L"; //$NON-NLS-1$
+
+ private TargetPlatformUtils() {
+ //Must not be used.
+ }
+
+ /**
+ * Creates and loads a target platform with all needed bundles.
+ * @throws PdeCoreUtilsException
+ * @throws IOException
+ */
+ public static void loadTargetPlatform() throws PdeCoreUtilsException {
+ String copyDirectoryPath;
+ try {
+ /*ITargetPlatformService*/
+ final Object targetPlServ = reflexiveCall(
+ true,
+ "org.eclipse.pde.internal.core.target.TargetPlatformService", //$NON-NLS-1$
+ "getDefault", //$NON-NLS-1$
+ null);
+ /*ITargetDefinition*/
+ final Object targetDefinition = reflexiveCall(
+ false,
+ targetPlServ,
+ "newTarget", //$NON-NLS-1$
+ null);
+ copyDirectoryPath = Activator.getDefault().getStateLocation()
+ + File.separator + JAR_DIRECTORY;
+
+ final File copyDirectory = new File(copyDirectoryPath);
+ copyDirectory.mkdirs();
+
+ final List<String> dirPaths = parseBundlesList();
+
+ /*IBundleContainer*/
+ final Object[] dirContainers =
+ copyJarsAndGetContainers(dirPaths, copyDirectory);
+ reflexiveCall(
+ false,
+ targetDefinition,
+ getContainerSetterName(),
+ new Object[]{dirContainers});
+ reflexiveCall(
+ false,
+ targetDefinition,
+ "resolve", //$NON-NLS-1$
+ new Object[]{new NullProgressMonitor()});
+ reflexiveCall(
+ true,
+ getLoadTargetDefinitionJobQualifiedName(),
+ "load", //$NON-NLS-1$
+ new Object[]{targetDefinition});
+ reflexiveCall(
+ false,
+ targetPlServ,
+ "saveTargetDefinition", //$NON-NLS-1$
+ new Object[]{targetDefinition});
+ } catch (Exception e) {
+ throw new PdeCoreUtilsException(e);
+ }
+ new File(copyDirectoryPath).delete();
+ }
+
+ private static boolean isHigherVersion() {
+ final Version version = new Version(3, 7, 1);
+ final Bundle bundle = Platform.getBundle("org.eclipse.pde.core"); //$NON-NLS-1$
+ final Version currentVersion = bundle.getVersion();
+ return currentVersion.compareTo(version) > 0;
+ }
+
+ private static String getLoadTargetDefinitionJobQualifiedName() {
+ String lTDefJobName;
+ if (isHigherVersion()) {
+ lTDefJobName =
+ "org.eclipse.pde.core.target.LoadTargetDefinitionJob"; //$NON-NLS-1$
+ } else {
+ lTDefJobName =
+ "org.eclipse.pde.internal.core.target.provisional.LoadTargetDefinitionJob"; //$NON-NLS-1$
+ }
+ return lTDefJobName;
+ }
+
+ private static String getContainerSetterName() {
+ String setterName;
+ if (isHigherVersion()) {
+ setterName =
+ "setTargetLocations"; //$NON-NLS-1$
+ } else {
+ setterName =
+ "setBundleContainers"; //$NON-NLS-1$
+ }
+ return setterName;
+ }
+
+ /**
+ * Parses osgi.bundles property value to load all required bundles directories.
+ * @return List<String> array
+ * @throws PdeCoreUtilsException
+ * @throws IOException
+ */
+ private static List<String> parseBundlesList()
+ throws PdeCoreUtilsException, IOException {
+ final LinkedList<String> result = new LinkedList<String>();
+ final String bundlesFromConfig = System.getProperty(OSGI_PROP);
+ final String frwkFromConfig = System.getProperty(OSGI_PROP_FRK);
+ if (bundlesFromConfig != null && !"".equals(bundlesFromConfig)) { //$NON-NLS-1$
+ final String[] bundlesStr =
+ bundlesFromConfig.split(BUNDLE_SEPARATOR);
+ result.addAll(trimPaths(bundlesStr, BUNDLE_PREFIX));
+ }
+ if (frwkFromConfig != null && !"".equals(frwkFromConfig)) { //$NON-NLS-1$
+ final String[] frameworkStr =
+ frwkFromConfig.split(BUNDLE_SEPARATOR);
+ result.addAll(trimPaths(frameworkStr, FRAMEWORK_PREFIX));
+ }
+ return result;
+ }
+
+ /**
+ * Returns list of trimmed paths;
+ * @param paths String[]
+ * @param prefix String
+ * @return List<String>
+ */
+ private static List<String> trimPaths(final String[] paths,
+ final String prefix) {
+ final LinkedList<String> result = new LinkedList<String>();
+ for (String path : paths) {
+ int indexSuffix = path.indexOf("@"); //$NON-NLS-1$
+ if (indexSuffix < 0) {
+ indexSuffix = path.length();
+ }
+ result.add(path.substring(prefix.length(),
+ indexSuffix));
+ }
+ return result;
+ }
+
+ /**
+ * Reflexive call of DirectoryBundleContainer constructor.
+ * @param containerPath String
+ * @return Object
+ * @throws PdeCoreUtilsException
+ */
+ private static Object newDirectoryBundleContainer(
+ final String containerPath)
+ throws PdeCoreUtilsException {
+ Object container = null;
+ try {
+ final Bundle bundle = Activator.getDefault().getBundle();
+ final Class<?> classs =
+ bundle.loadClass("org.eclipse.pde.internal.core.target.DirectoryBundleContainer"); //$NON-NLS-1$
+ final Class<?>[] paramTypes = new Class[] {containerPath.getClass()};
+ final Constructor<?> constructor = classs.getConstructor(paramTypes);
+ final Object[] initargs = new Object[] { containerPath };
+ container = constructor.newInstance(initargs);
+ } catch (Exception e) {
+ throw new PdeCoreUtilsException(e);
+ }
+ return container;
+ }
+
+ /**
+ * Copies all needed jar files in a directory and returns set of containers.
+ * @param bundlesStr List<String>
+ * @param copyDirectory File
+ * @return Object[]
+ * @throws PdeCoreUtilsException
+ * @throws IOException
+ */
+ private static Object[] copyJarsAndGetContainers(
+ final List<String> bundlesStr, final File copyDirectory)
+ throws PdeCoreUtilsException, IOException {
+ final List<Object> bundleContainers = new LinkedList<Object>();
+ final Iterator<String> bundlesStrIter = bundlesStr.iterator();
+ while (bundlesStrIter.hasNext()) {
+ final File bundleFile = new File(bundlesStrIter.next()); // NOPMD
+ // NOPMD: gdupe> No other way to write this code
+ if (bundleFile.exists()) {
+ if (bundleFile.isDirectory()) {
+ copyJarFileOrAddContainerDirectory(bundleFile,
+ bundleContainers, copyDirectory);
+ } else {
+ try {
+ //FIXME gdupe> is a call to close() required ?
+ final JarFile jarFile = new JarFile(bundleFile); // NOPMD
+ // NOPMD: gdupe> No other way to write this code
+ copyJarFile(jarFile, copyDirectory);
+ } catch (IOException e) {
+ throw new PdeCoreUtilsException(e);
+ }
+ }
+ }
+ }
+ final Object copyDirContainer =
+ newDirectoryBundleContainer(copyDirectory.getAbsolutePath());
+ bundleContainers.add(copyDirContainer);
+ return bundleContainers.toArray();
+ }
+
+ /**
+ * Copies jarFile to the specified directory or creates a container
+ * if bundleFile is a directory.
+ * @param bundleFile File
+ * @param bundleContainers List<Object>
+ * @param copyDirectory File
+ * @throws PdeCoreUtilsException
+ * @throws IOException
+ */
+ private static void copyJarFileOrAddContainerDirectory(
+ final File bundleFile, final List<Object> bundleContainers,
+ final File copyDirectory)
+ throws PdeCoreUtilsException, IOException {
+ Object container;
+ //FIXME gdupe> is a call to close() required ?
+ final JarFile jarFile = getFirstMatchingJarFile(bundleFile);
+ if (jarFile == null) {
+ container = newDirectoryBundleContainer(bundleFile.getAbsolutePath());
+ bundleContainers.add(container);
+ } else {
+ copyJarFile(jarFile, copyDirectory);
+ }
+ }
+
+ /**
+ * Return first jar file that match with the bundle directory.
+ * @param bundleFile File
+ * @return JarFile
+ * @throws IOException
+ */
+ private static JarFile getFirstMatchingJarFile(final File bundleFile)
+ throws IOException {
+ JarFile result = null;
+ if (bundleFile.exists() && bundleFile.isDirectory()) {
+ final String bundleFileName = bundleFile.getName();
+ final File jar = findJarFile(bundleFile, bundleFileName);
+ if (jar != null) {
+ result = new JarFile(jar);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Search jar file in directory and sub-directories.
+ * @param directory File
+ * @param fileName String
+ * @return File
+ */
+ private static File findJarFile(final File directory,
+ final String fileName) {
+ final File[] children = directory.listFiles();
+ final LinkedList<File> toVisit = new LinkedList<File>();
+ int cpt = 0;
+ File foundFile = null;
+ String childName;
+ while (foundFile != null && cpt < children.length) {
+ final File child = children[cpt];
+ if (child.isFile()) {
+ childName = child.getName();
+ if (childName.startsWith(fileName)
+ && childName.endsWith(JAR_EXT)) {
+ foundFile = child;
+ }
+ } else {
+ toVisit.add(child);
+ }
+ cpt++;
+ }
+ if (foundFile == null) {
+ foundFile = searchInSubDirectories(fileName, toVisit);
+ }
+ return foundFile;
+ }
+
+ /**
+ * Search jar file and sub-directories.
+ * @param fileName String
+ * @param toVisit List<File>
+ * @return File
+ */
+ private static File searchInSubDirectories(final String fileName,
+ final List<File> toVisit) {
+ File result = null;
+ final Iterator<File> childrenIterator = toVisit.iterator();
+ while (childrenIterator.hasNext() && result != null) {
+ final File child = childrenIterator.next();
+ result = findJarFile(child.getAbsoluteFile(), fileName);
+ }
+ return result;
+ }
+
+
+ /**
+ * Copies a jarFile into specified directory.
+ * @param jarFile JarFile
+ * @param copyTo File
+ * @throws PdeCoreUtilsException
+ */
+ private static void copyJarFile(final JarFile jarFile, final File copyTo)
+ throws PdeCoreUtilsException {
+ final String fileName = jarFile.getName();
+ final String bundleName = fileName.substring(fileName
+ .lastIndexOf(File.separator));
+ final File copyToDirectory = new File(copyTo, bundleName);
+ JarOutputStream jarOutputStream = null;
+ try {
+ jarOutputStream = new JarOutputStream(
+ new FileOutputStream(copyToDirectory));
+ final Enumeration<JarEntry> jarFileEntries = jarFile.entries();
+ final byte[] buffer = new byte[BUFFER_SIZE];
+ while (jarFileEntries.hasMoreElements()) {
+ final JarEntry sourceEntry = jarFileEntries.nextElement();
+ final InputStream inputStream =
+ jarFile.getInputStream(sourceEntry);
+ final JarEntry targetEntry =
+ new JarEntry(sourceEntry.getName()); // NOPMD
+ // ftreguer> NOPMD This loop has to create one jar entry for
+ // each loop iteration
+ jarOutputStream.putNextEntry(targetEntry);
+ int bytesRead = inputStream.read(buffer);
+ while (bytesRead != -1) {
+ jarOutputStream.write(buffer, 0, bytesRead);
+ bytesRead = inputStream.read(buffer);
+ }
+ inputStream.close();
+ jarOutputStream.flush();
+ jarOutputStream.closeEntry();
+ }
+ } catch (IOException e) {
+ throw new PdeCoreUtilsException(e);
+ } finally { // NOPMD gdupe> No other choice if I want to managed the
+ // stream closing
+ if (jarOutputStream != null) {
+ try {
+ jarOutputStream.close();
+ } catch (IOException e) {
+ throw new PdeCoreUtilsException(e);
+ }
+ }
+ }
+ }
+
+ /**
+ * Calls a method reflexively on an object or a class (static call) with
+ * specified arguments.
+ * @param staticCall boolean
+ * @param callOn Object
+ * @param calledMethodName String
+ * @param args Object[]
+ * @throws ExpException
+ */
+ private static Object reflexiveCall(final boolean staticCall,
+ final Object callOn, final String calledMethodName,
+ final Object[] args) throws ReflexiveDiscouragedAccessException {
+ Object result = null;
+ Method aMethod;
+ final Class<?>[] classes = getClassesFromArgs(args);
+ try {
+ if (staticCall) {
+ // ftreguer> Static Call, the second parameter should be a
+ // String representing Class name.
+ if (callOn instanceof String) {
+ final Class<?> clazz = Activator.getDefault()
+ .getBundle().loadClass((String) callOn);
+ aMethod = getMethod(clazz, calledMethodName, classes);
+ } else {
+ throw new ReflexiveDiscouragedAccessException(
+ "Invalid parameter, callOn parameter should be a String. (Static Call)"); //$NON-NLS-1$
+ }
+ } else {
+ aMethod = getMethod(callOn.getClass(),
+ calledMethodName, classes);
+ }
+ if (aMethod == null) {
+ throw new ReflexiveDiscouragedAccessException(
+ "API break, no method with specified arguments found."); //$NON-NLS-1$
+ }
+ result = aMethod.invoke(callOn, manageArguments(args));
+ } catch (Exception e) {
+ throw new ReflexiveDiscouragedAccessException(e);
+ }
+ return result;
+ }
+
+
+ /**
+ * Transforms Object arrays to specific arrays.
+ * @param arguments Object[]
+ * @return Object[]
+ */
+ private static Object[] manageArguments(final Object[] arguments) {
+ Object[] result;
+ if (arguments != null && arguments.length > 0) {
+ result = new Object[arguments.length];
+ Object arg;
+ for (int i = 0; i < arguments.length; i++) {
+ arg = arguments[i];
+ if (isArray(arg)) {
+ final Object argElement = ((Object[]) arg)[0];
+ final int arraySize = Array.getLength(arg);
+ Object[] argTmp = (Object[]) Array.newInstance(
+ argElement.getClass(), arraySize);
+ for (int y = 0; y < arraySize; y++) {
+ argTmp[y] = ((Object[]) arg)[y];
+ }
+ result[i] = argTmp;
+ } else {
+ result[i] = arg;
+ }
+ }
+ } else {
+ result = arguments;
+ }
+ return result;
+ }
+
+ /**
+ * Returns true if the parameter represents an array.
+ * @param obj Object
+ * @return boolean
+ */
+ private static boolean isArray(final Object obj) {
+ return obj.getClass().getName().startsWith(ARRAY_PREFIX);
+ }
+
+ /**
+ * Returns array of Class that represents types of each arguments.
+ * @param args Object[]
+ * @return Class<?>[]
+ */
+ private static Class<?>[] getClassesFromArgs(final Object[] args) {
+ Class<?>[] classes = null;
+ if (args != null) {
+ classes = new Class[args.length];
+ Object arg = null;
+ for (int i = 0; i < args.length; i++) {
+ arg = args[i];
+ if (arg != null) {
+ if (isArray(arg)) {
+ arg = ((Object[]) arg)[0];
+ arg = Array.newInstance(arg.getClass(), 0);
+ }
+ classes[i] = arg.getClass();
+ }
+ }
+ }
+ return classes;
+ }
+
+ /**
+ * Returns a Method object that correspond to the specified name
+ * and parameters.
+ * @param clazz Class<?>
+ * @param methodName String
+ * @param parameterTypes Class<?>[]
+ * @return Method
+ * @throws ClassNotFoundException
+ */
+ private static Method getMethod(final Class<?> clazz,
+ final String methodName, final Class<?>... parameterTypes)
+ throws ClassNotFoundException {
+ Method result = null;
+ final Method[] methods = clazz.getMethods();
+ for (Method method : methods) {
+ if (methodName.equals(method.getName())) {
+ final Class<?>[] parameters = method.getParameterTypes();
+ if (checkTypes(parameters, parameterTypes)) {
+ result = method;
+ break;
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Checks if all parameters are the same in both arrays.
+ * @param refParams
+ * @param parameterToTest
+ * @return boolean
+ * @throws ClassNotFoundException
+ */
+ private static boolean checkTypes(final Class<?>[] refParams,
+ final Class<?>[] parameterToTest) throws ClassNotFoundException {
+ boolean result = true;
+ if (refParams != null && parameterToTest != null
+ && (refParams.length == parameterToTest.length)) {
+ String refClazzName = null;
+ String clazzName = null;
+ for (int i = 0; i < parameterToTest.length; i++) {
+ refClazzName = refParams[i].getName();
+ clazzName = parameterToTest[i].getName();
+ if (!clazzName.equals(refClazzName)) {
+ final boolean isRefArray = refClazzName
+ .startsWith(ARRAY_PREFIX);
+ final boolean isParamArray = clazzName
+ .startsWith(ARRAY_PREFIX);
+ if (isRefArray == isParamArray) {
+ if (isRefArray) {
+ refClazzName = refClazzName
+ .substring(ARRAY_PREFIX.length(),
+ refClazzName.length() - 1);
+ clazzName = clazzName
+ .substring(ARRAY_PREFIX.length(),
+ clazzName.length() - 1);
+ }
+ result = paramExtendsRef(refClazzName, clazzName);
+ }
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Returns true if className is a SubType of refClassName.
+ * @param refClassName String
+ * @param className String
+ * @return boolean
+ * @throws ClassNotFoundException
+ */
+ private static boolean paramExtendsRef(final String refClassName,
+ final String className) throws ClassNotFoundException {
+ final Bundle bundle = Activator.getDefault().getBundle();
+ final Class<?> refClazz = bundle.loadClass(refClassName);
+ final Class<?> clazz = bundle.loadClass(className);
+ return refClazz.isAssignableFrom(clazz);
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/exception/PdeCoreUtilsException.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/exception/PdeCoreUtilsException.java
new file mode 100644
index 00000000000..23e6b5ade02
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/exception/PdeCoreUtilsException.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Soft-Maint.
+ * 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:
+ * Fabien Treguer (Soft-Maint) - Bug 418565 - [Unit Test Failure] Missing dependencies during tests, target platform creation and load
+ ******************************************************************************/
+package org.eclipse.emf.facet.util.pde.core.internal.exported.exception;
+
+public class PdeCoreUtilsException extends Exception {
+
+ private static final long serialVersionUID = -7462304304846835284L;
+
+ public PdeCoreUtilsException() {
+ super();
+ }
+
+ public PdeCoreUtilsException(final String message) {
+ super(message);
+ }
+
+ public PdeCoreUtilsException(final Throwable cause) {
+ super(cause);
+ }
+
+ public PdeCoreUtilsException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/exception/ReflexiveDiscouragedAccessException.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/exception/ReflexiveDiscouragedAccessException.java
new file mode 100644
index 00000000000..653c4828fc2
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.pde.core/src/org/eclipse/emf/facet/util/pde/core/internal/exported/exception/ReflexiveDiscouragedAccessException.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Soft-Maint.
+ * 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:
+ * Fabien Treguer (Soft-Maint) - Bug 418565 - [Unit Test Failure] Missing dependencies during tests, target platform creation and load
+ ******************************************************************************/
+package org.eclipse.emf.facet.util.pde.core.internal.exported.exception;
+
+public class ReflexiveDiscouragedAccessException extends Exception {
+
+ private static final long serialVersionUID = -7462304304846835284L;
+
+ public ReflexiveDiscouragedAccessException() {
+ super();
+ }
+
+ public ReflexiveDiscouragedAccessException(final String message) {
+ super(message);
+ }
+
+ public ReflexiveDiscouragedAccessException(final Throwable cause) {
+ super(cause);
+ }
+
+ public ReflexiveDiscouragedAccessException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
+
+}

Back to the top