Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvlorenzo2012-11-28 12:59:48 +0000
committervlorenzo2012-11-28 12:59:48 +0000
commit2164998244c930a40cc87eb3cb5612488b6e38f9 (patch)
tree244c7504a628c47f52916d3084756b9452c9de40 /plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries
parentcc1058d246329f644d10c6a94d81eee923d97077 (diff)
downloadorg.eclipse.papyrus-2164998244c930a40cc87eb3cb5612488b6e38f9.tar.gz
org.eclipse.papyrus-2164998244c930a40cc87eb3cb5612488b6e38f9.tar.xz
org.eclipse.papyrus-2164998244c930a40cc87eb3cb5612488b6e38f9.zip
394747: New features developped on EFacet Table should be backported on the old version of the EMF Facet table
https://bugs.eclipse.org/bugs/show_bug.cgi?id=394747
Diffstat (limited to 'plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries')
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.classpath8
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.project28
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/META-INF/MANIFEST.MF21
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/OSGI-INF/l10n/bundle.properties3
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/about.html28
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/build.properties11
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/model/ParametricQuery.ecore20
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/model/ParametricQuery.genmodel24
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/plugin.properties4
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/plugin.xml18
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/Argument.java64
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/EStructuralFeatureArgument.java65
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricQuery.java84
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricqueryFactory.java78
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricqueryPackage.java557
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/StringArgument.java63
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ArgumentImpl.java186
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/EStructuralFeatureArgumentImpl.java179
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricQueryImpl.java243
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricqueryFactoryImpl.java140
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricqueryPackageImpl.java328
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/StringArgumentImpl.java186
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/util/ParametricqueryAdapterFactory.java227
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/util/ParametricquerySwitch.java233
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/Activator.java45
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/factory/ParametricQueryFactory.java46
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/parametric/FacetParametricQuery.java87
28 files changed, 2983 insertions, 0 deletions
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.classpath b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.classpath
new file mode 100644
index 00000000000..9c0318f0fd2
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <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/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.project b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.project
new file mode 100644
index 00000000000..4098dcfe36d
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.emf.facet.queries</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>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..44217f8c068
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/.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/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/META-INF/MANIFEST.MF b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..d707444a1d1
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.facet.infra.query;bundle-version="0.2.0",
+ org.eclipse.emf.facet.infra.query.core;bundle-version="0.2.0"
+Export-Package: org.eclipse.papyrus.infra.emf.facet.queries,
+ org.eclipse.papyrus.infra.emf.facet.queries.factory,
+ org.eclipse.papyrus.infra.emf.facet.queries.parametric,
+ org.eclipse.papyrus.infra.emf.facet.queries.parametricquery,
+ org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl,
+ org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.util
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.10.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.infra.emf.facet.queries.Activato
+ r
+Bundle-SymbolicName: org.eclipse.papyrus.infra.emf.facet.queries;singl
+ eton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/OSGI-INF/l10n/bundle.properties b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 00000000000..fb1d0695146
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.papyrus.infra.emf.facet.queries
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = EMF Facet Queries (Incubation) \ No newline at end of file
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/about.html b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/build.properties b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/build.properties
new file mode 100644
index 00000000000..657873ddd34
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/build.properties
@@ -0,0 +1,11 @@
+source.. = src/,\
+ src-gen/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties,\
+ model/,\
+ about.html,\
+ OSGI-INF/
+src.includes = about.html
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/model/ParametricQuery.ecore b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/model/ParametricQuery.ecore
new file mode 100644
index 00000000000..e91ec31896d
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/model/ParametricQuery.ecore
@@ -0,0 +1,20 @@
+<?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="parametricquery" nsURI="http://www.eclipse.org/papyrus/infra/emf/facet/parametric/query/0.9.1"
+ nsPrefix="paramQuery">
+ <eClassifiers xsi:type="ecore:EClass" name="ParametricQuery" eSuperTypes="platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="calledQuery" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.ecore#//ModelQuery"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
+ eType="#//Argument" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Argument" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="argumentName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringArgument" eSuperTypes="#//Argument">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EStructuralFeatureArgument" eSuperTypes="#//Argument">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/model/ParametricQuery.genmodel b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/model/ParametricQuery.genmodel
new file mode 100644
index 00000000000..e21309a6d7e
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/model/ParametricQuery.genmodel
@@ -0,0 +1,24 @@
+<?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) 2012 CEA LIST.&#xD;&#xA;&#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; Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation&#xD;&#xA; Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation"
+ modelDirectory="/org.eclipse.papyrus.infra.emf.facet.queries/src-gen" editDirectory="/org.eclipse.papyrus.infra.emf.facet.queries.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.emf.facet.queries.editor/src-gen" modelPluginID="org.eclipse.papyrus.infra.emf.facet.queries"
+ modelName="ParametricQuery" nonNLSMarkers="true" testsDirectory="/org.eclipse.papyrus.emf.facet.queries.tests/src-gen"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ editPluginID="org.eclipse.papyrus.infra.emf.facet.queries.edit" language="" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.facet.infra.query/model/query.genmodel#//query">
+ <foreignModel>ParametricQuery.ecore</foreignModel>
+ <genPackages prefix="Parametricquery" basePackage="org.eclipse.papyrus.infra.emf.facet.queries"
+ disposableProviderFactory="true" ecorePackage="ParametricQuery.ecore#/">
+ <genClasses ecoreClass="ParametricQuery.ecore#//ParametricQuery">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ParametricQuery.ecore#//ParametricQuery/calledQuery"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ParametricQuery.ecore#//ParametricQuery/arguments"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="ParametricQuery.ecore#//Argument"/>
+ <genClasses ecoreClass="ParametricQuery.ecore#//StringArgument">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ParametricQuery.ecore#//StringArgument/value"/>
+ </genClasses>
+ <genClasses ecoreClass="ParametricQuery.ecore#//EStructuralFeatureArgument">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ParametricQuery.ecore#//EStructuralFeatureArgument/value"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/plugin.properties b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/plugin.properties
new file mode 100644
index 00000000000..e15c9fc5af2
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = ParametricQuery Model
+providerName = www.example.org
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/plugin.xml b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/plugin.xml
new file mode 100644
index 00000000000..17777e8084b
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/plugin.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.emf.facet.infra.query.factory">
+ <factory
+ class="org.eclipse.papyrus.infra.emf.facet.queries.factory.ParametricQueryFactory">
+ </factory>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.generated_package">
+ <package
+ class="org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage"
+ genModel="model/ParametricQuery.genmodel"
+ uri="http://www.eclipse.org/papyrus/infra/emf/facet/parametric/query/0.9.1">
+ </package>
+ </extension>
+</plugin>
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/Argument.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/Argument.java
new file mode 100644
index 00000000000..5caf5d47031
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/Argument.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Argument</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument#getArgumentName <em>Argument Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage#getArgument()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Argument extends EObject {
+
+ /**
+ * Returns the value of the '<em><b>Argument Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Argument 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>Argument Name</em>' attribute.
+ * @see #setArgumentName(String)
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage#getArgument_ArgumentName()
+ * @model
+ * @generated
+ */
+ String getArgumentName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument#getArgumentName <em>Argument Name</em>}'
+ * attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Argument Name</em>' attribute.
+ * @see #getArgumentName()
+ * @generated
+ */
+ void setArgumentName(String value);
+} // Argument
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/EStructuralFeatureArgument.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/EStructuralFeatureArgument.java
new file mode 100644
index 00000000000..7e67640e874
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/EStructuralFeatureArgument.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EStructural Feature Argument</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage#getEStructuralFeatureArgument()
+ * @model
+ * @generated
+ */
+public interface EStructuralFeatureArgument extends Argument {
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value</em>' reference.
+ * @see #setValue(EStructuralFeature)
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage#getEStructuralFeatureArgument_Value()
+ * @model
+ * @generated
+ */
+ EStructuralFeature getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument#getValue <em>Value</em>}'
+ * reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value</em>' reference.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(EStructuralFeature value);
+
+} // EStructuralFeatureArgument
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricQuery.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricQuery.java
new file mode 100644
index 00000000000..13f6b02b36a
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricQuery.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.facet.infra.query.ModelQuery;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Parametric Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery#getCalledQuery <em>Called Query</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery#getArguments <em>Arguments</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage#getParametricQuery()
+ * @model
+ * @generated
+ */
+public interface ParametricQuery extends ModelQuery {
+
+ /**
+ * Returns the value of the '<em><b>Called Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Called Query</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Called Query</em>' reference.
+ * @see #setCalledQuery(ModelQuery)
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage#getParametricQuery_CalledQuery()
+ * @model required="true"
+ * @generated
+ */
+ ModelQuery getCalledQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery#getCalledQuery <em>Called Query</em>}
+ * ' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Called Query</em>' reference.
+ * @see #getCalledQuery()
+ * @generated
+ */
+ void setCalledQuery(ModelQuery value);
+
+ /**
+ * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument}.
+ * <!-- 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.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage#getParametricQuery_Arguments()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Argument> getArguments();
+
+} // ParametricQuery
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricqueryFactory.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricqueryFactory.java
new file mode 100644
index 00000000000..2841e35d5af
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricqueryFactory.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery;
+
+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.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage
+ * @generated
+ */
+public interface ParametricqueryFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ ParametricqueryFactory eINSTANCE = org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricqueryFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Parametric Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Parametric Query</em>'.
+ * @generated
+ */
+ ParametricQuery createParametricQuery();
+
+ /**
+ * Returns a new object of class '<em>String Argument</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>String Argument</em>'.
+ * @generated
+ */
+ StringArgument createStringArgument();
+
+ /**
+ * Returns a new object of class '<em>EStructural Feature Argument</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>EStructural Feature Argument</em>'.
+ * @generated
+ */
+ EStructuralFeatureArgument createEStructuralFeatureArgument();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ParametricqueryPackage getParametricqueryPackage();
+
+} //ParametricqueryFactory
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricqueryPackage.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricqueryPackage.java
new file mode 100644
index 00000000000..50bddd794ae
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/ParametricqueryPackage.java
@@ -0,0 +1,557 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery;
+
+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.infra.query.QueryPackage;
+
+/**
+ * <!-- 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.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ParametricqueryPackage extends EPackage {
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "parametricquery"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/infra/emf/facet/parametric/query/0.9.1"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "paramQuery"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ ParametricqueryPackage eINSTANCE = org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricqueryPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricQueryImpl
+ * <em>Parametric Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricQueryImpl
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricqueryPackageImpl#getParametricQuery()
+ * @generated
+ */
+ int PARAMETRIC_QUERY = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY__NAME = QueryPackage.MODEL_QUERY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY__DESCRIPTION = QueryPackage.MODEL_QUERY__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Return Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY__RETURN_TYPE = QueryPackage.MODEL_QUERY__RETURN_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY__SCOPE = QueryPackage.MODEL_QUERY__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Model Query Set</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY__MODEL_QUERY_SET = QueryPackage.MODEL_QUERY__MODEL_QUERY_SET;
+
+ /**
+ * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY__PARAMETERS = QueryPackage.MODEL_QUERY__PARAMETERS;
+
+ /**
+ * The feature id for the '<em><b>Is External Context Dependent</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY__IS_EXTERNAL_CONTEXT_DEPENDENT = QueryPackage.MODEL_QUERY__IS_EXTERNAL_CONTEXT_DEPENDENT;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY__UPPER_BOUND = QueryPackage.MODEL_QUERY__UPPER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY__LOWER_BOUND = QueryPackage.MODEL_QUERY__LOWER_BOUND;
+
+ /**
+ * The feature id for the '<em><b>Called Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY__CALLED_QUERY = QueryPackage.MODEL_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
+ */
+ int PARAMETRIC_QUERY__ARGUMENTS = QueryPackage.MODEL_QUERY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Parametric Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETRIC_QUERY_FEATURE_COUNT = QueryPackage.MODEL_QUERY_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ArgumentImpl <em>Argument</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ArgumentImpl
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricqueryPackageImpl#getArgument()
+ * @generated
+ */
+ int ARGUMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Argument Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__ARGUMENT_NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Argument</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.StringArgumentImpl
+ * <em>String Argument</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.StringArgumentImpl
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricqueryPackageImpl#getStringArgument()
+ * @generated
+ */
+ int STRING_ARGUMENT = 2;
+
+ /**
+ * The feature id for the '<em><b>Argument Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_ARGUMENT__ARGUMENT_NAME = ARGUMENT__ARGUMENT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_ARGUMENT__VALUE = ARGUMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>String Argument</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.EStructuralFeatureArgumentImpl
+ * <em>EStructural Feature Argument</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.EStructuralFeatureArgumentImpl
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricqueryPackageImpl#getEStructuralFeatureArgument()
+ * @generated
+ */
+ int ESTRUCTURAL_FEATURE_ARGUMENT = 3;
+
+ /**
+ * The feature id for the '<em><b>Argument Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ESTRUCTURAL_FEATURE_ARGUMENT__ARGUMENT_NAME = ARGUMENT__ARGUMENT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ESTRUCTURAL_FEATURE_ARGUMENT__VALUE = ARGUMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>EStructural Feature Argument</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ESTRUCTURAL_FEATURE_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery
+ * <em>Parametric Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Parametric Query</em>'.
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery
+ * @generated
+ */
+ EClass getParametricQuery();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery#getCalledQuery
+ * <em>Called Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Called Query</em>'.
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery#getCalledQuery()
+ * @see #getParametricQuery()
+ * @generated
+ */
+ EReference getParametricQuery_CalledQuery();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery#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.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery#getArguments()
+ * @see #getParametricQuery()
+ * @generated
+ */
+ EReference getParametricQuery_Arguments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument <em>Argument</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Argument</em>'.
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument
+ * @generated
+ */
+ EClass getArgument();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument#getArgumentName
+ * <em>Argument Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Argument Name</em>'.
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument#getArgumentName()
+ * @see #getArgument()
+ * @generated
+ */
+ EAttribute getArgument_ArgumentName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.StringArgument <em>String Argument</em>}
+ * '.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>String Argument</em>'.
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.StringArgument
+ * @generated
+ */
+ EClass getStringArgument();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.StringArgument#getValue
+ * <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.StringArgument#getValue()
+ * @see #getStringArgument()
+ * @generated
+ */
+ EAttribute getStringArgument_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument
+ * <em>EStructural Feature Argument</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>EStructural Feature Argument</em>'.
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument
+ * @generated
+ */
+ EClass getEStructuralFeatureArgument();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument#getValue()
+ * @see #getEStructuralFeatureArgument()
+ * @generated
+ */
+ EReference getEStructuralFeatureArgument_Value();
+
+ /**
+ * 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
+ */
+ ParametricqueryFactory getParametricqueryFactory();
+
+ /**
+ * <!-- 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.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricQueryImpl
+ * <em>Parametric Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricQueryImpl
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricqueryPackageImpl#getParametricQuery()
+ * @generated
+ */
+ EClass PARAMETRIC_QUERY = eINSTANCE.getParametricQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Called Query</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PARAMETRIC_QUERY__CALLED_QUERY = eINSTANCE.getParametricQuery_CalledQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PARAMETRIC_QUERY__ARGUMENTS = eINSTANCE.getParametricQuery_Arguments();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ArgumentImpl <em>Argument</em>}'
+ * class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ArgumentImpl
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricqueryPackageImpl#getArgument()
+ * @generated
+ */
+ EClass ARGUMENT = eINSTANCE.getArgument();
+
+ /**
+ * The meta object literal for the '<em><b>Argument Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ARGUMENT__ARGUMENT_NAME = eINSTANCE.getArgument_ArgumentName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.StringArgumentImpl
+ * <em>String Argument</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.StringArgumentImpl
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricqueryPackageImpl#getStringArgument()
+ * @generated
+ */
+ EClass STRING_ARGUMENT = eINSTANCE.getStringArgument();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STRING_ARGUMENT__VALUE = eINSTANCE.getStringArgument_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.EStructuralFeatureArgumentImpl
+ * <em>EStructural Feature Argument</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.EStructuralFeatureArgumentImpl
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricqueryPackageImpl#getEStructuralFeatureArgument()
+ * @generated
+ */
+ EClass ESTRUCTURAL_FEATURE_ARGUMENT = eINSTANCE.getEStructuralFeatureArgument();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ESTRUCTURAL_FEATURE_ARGUMENT__VALUE = eINSTANCE.getEStructuralFeatureArgument_Value();
+
+ }
+
+} //ParametricqueryPackage
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/StringArgument.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/StringArgument.java
new file mode 100644
index 00000000000..3cabf4c81c3
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/StringArgument.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>String Argument</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.StringArgument#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage#getStringArgument()
+ * @model
+ * @generated
+ */
+public interface StringArgument extends Argument {
+
+ /**
+ * 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.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage#getStringArgument_Value()
+ * @model required="true"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.StringArgument#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);
+
+} // StringArgument
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ArgumentImpl.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ArgumentImpl.java
new file mode 100644
index 00000000000..7ff28a7738b
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ArgumentImpl.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.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.papyrus.infra.emf.facet.queries.parametricquery.Argument;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Argument</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ArgumentImpl#getArgumentName <em>Argument Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ArgumentImpl extends EObjectImpl implements Argument {
+
+ /**
+ * The default value of the '{@link #getArgumentName() <em>Argument Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getArgumentName()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARGUMENT_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArgumentName() <em>Argument Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getArgumentName()
+ * @generated
+ * @ordered
+ */
+ protected String argumentName = ARGUMENT_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ArgumentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ParametricqueryPackage.Literals.ARGUMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArgumentName() {
+ return argumentName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArgumentName(String newArgumentName) {
+ String oldArgumentName = argumentName;
+ argumentName = newArgumentName;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ParametricqueryPackage.ARGUMENT__ARGUMENT_NAME, oldArgumentName, argumentName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch(featureID) {
+ case ParametricqueryPackage.ARGUMENT__ARGUMENT_NAME:
+ return getArgumentName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch(featureID) {
+ case ParametricqueryPackage.ARGUMENT__ARGUMENT_NAME:
+ setArgumentName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case ParametricqueryPackage.ARGUMENT__ARGUMENT_NAME:
+ setArgumentName(ARGUMENT_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case ParametricqueryPackage.ARGUMENT__ARGUMENT_NAME:
+ return ARGUMENT_NAME_EDEFAULT == null ? argumentName != null : !ARGUMENT_NAME_EDEFAULT.equals(argumentName);
+ }
+ 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(" (argumentName: "); //$NON-NLS-1$
+ result.append(argumentName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ArgumentImpl
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/EStructuralFeatureArgumentImpl.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/EStructuralFeatureArgumentImpl.java
new file mode 100644
index 00000000000..b91e52e3f11
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/EStructuralFeatureArgumentImpl.java
@@ -0,0 +1,179 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EStructural Feature Argument</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.EStructuralFeatureArgumentImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EStructuralFeatureArgumentImpl extends ArgumentImpl implements EStructuralFeatureArgument {
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected EStructuralFeature value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EStructuralFeatureArgumentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ParametricqueryPackage.Literals.ESTRUCTURAL_FEATURE_ARGUMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EStructuralFeature getValue() {
+ if(value != null && value.eIsProxy()) {
+ InternalEObject oldValue = (InternalEObject)value;
+ value = (EStructuralFeature)eResolveProxy(oldValue);
+ if(value != oldValue) {
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ParametricqueryPackage.ESTRUCTURAL_FEATURE_ARGUMENT__VALUE, oldValue, value));
+ }
+ }
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EStructuralFeature basicGetValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setValue(EStructuralFeature newValue) {
+ EStructuralFeature oldValue = value;
+ value = newValue;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ParametricqueryPackage.ESTRUCTURAL_FEATURE_ARGUMENT__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch(featureID) {
+ case ParametricqueryPackage.ESTRUCTURAL_FEATURE_ARGUMENT__VALUE:
+ if(resolve)
+ return getValue();
+ return basicGetValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch(featureID) {
+ case ParametricqueryPackage.ESTRUCTURAL_FEATURE_ARGUMENT__VALUE:
+ setValue((EStructuralFeature)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case ParametricqueryPackage.ESTRUCTURAL_FEATURE_ARGUMENT__VALUE:
+ setValue((EStructuralFeature)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case ParametricqueryPackage.ESTRUCTURAL_FEATURE_ARGUMENT__VALUE:
+ return value != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EStructuralFeatureArgumentImpl
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricQueryImpl.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricQueryImpl.java
new file mode 100644
index 00000000000..1718579b2ed
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricQueryImpl.java
@@ -0,0 +1,243 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.facet.infra.query.ModelQuery;
+
+import org.eclipse.emf.facet.infra.query.impl.ModelQueryImpl;
+
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parametric Query</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricQueryImpl#getCalledQuery <em>Called Query</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricQueryImpl#getArguments <em>Arguments</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ParametricQueryImpl extends ModelQueryImpl implements ParametricQuery {
+
+ /**
+ * The cached value of the '{@link #getCalledQuery() <em>Called Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getCalledQuery()
+ * @generated
+ * @ordered
+ */
+ protected ModelQuery calledQuery;
+
+ /**
+ * 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<Argument> arguments;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ParametricQueryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ParametricqueryPackage.Literals.PARAMETRIC_QUERY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ModelQuery getCalledQuery() {
+ if(calledQuery != null && calledQuery.eIsProxy()) {
+ InternalEObject oldCalledQuery = (InternalEObject)calledQuery;
+ calledQuery = (ModelQuery)eResolveProxy(oldCalledQuery);
+ if(calledQuery != oldCalledQuery) {
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ParametricqueryPackage.PARAMETRIC_QUERY__CALLED_QUERY, oldCalledQuery, calledQuery));
+ }
+ }
+ return calledQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ModelQuery basicGetCalledQuery() {
+ return calledQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCalledQuery(ModelQuery newCalledQuery) {
+ ModelQuery oldCalledQuery = calledQuery;
+ calledQuery = newCalledQuery;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ParametricqueryPackage.PARAMETRIC_QUERY__CALLED_QUERY, oldCalledQuery, calledQuery));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Argument> getArguments() {
+ if(arguments == null) {
+ arguments = new EObjectContainmentEList<Argument>(Argument.class, this, ParametricqueryPackage.PARAMETRIC_QUERY__ARGUMENTS);
+ }
+ return arguments;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch(featureID) {
+ case ParametricqueryPackage.PARAMETRIC_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 ParametricqueryPackage.PARAMETRIC_QUERY__CALLED_QUERY:
+ if(resolve)
+ return getCalledQuery();
+ return basicGetCalledQuery();
+ case ParametricqueryPackage.PARAMETRIC_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 ParametricqueryPackage.PARAMETRIC_QUERY__CALLED_QUERY:
+ setCalledQuery((ModelQuery)newValue);
+ return;
+ case ParametricqueryPackage.PARAMETRIC_QUERY__ARGUMENTS:
+ getArguments().clear();
+ getArguments().addAll((Collection<? extends Argument>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case ParametricqueryPackage.PARAMETRIC_QUERY__CALLED_QUERY:
+ setCalledQuery((ModelQuery)null);
+ return;
+ case ParametricqueryPackage.PARAMETRIC_QUERY__ARGUMENTS:
+ getArguments().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case ParametricqueryPackage.PARAMETRIC_QUERY__CALLED_QUERY:
+ return calledQuery != null;
+ case ParametricqueryPackage.PARAMETRIC_QUERY__ARGUMENTS:
+ return arguments != null && !arguments.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ParametricQueryImpl
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricqueryFactoryImpl.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricqueryFactoryImpl.java
new file mode 100644
index 00000000000..825ef0e9ec5
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricqueryFactoryImpl.java
@@ -0,0 +1,140 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.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.papyrus.infra.emf.facet.queries.parametricquery.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ParametricqueryFactoryImpl extends EFactoryImpl implements ParametricqueryFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static ParametricqueryFactory init() {
+ try {
+ ParametricqueryFactory theParametricqueryFactory = (ParametricqueryFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/infra/emf/facet/parametric/query/0.9.1"); //$NON-NLS-1$
+ if(theParametricqueryFactory != null) {
+ return theParametricqueryFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ParametricqueryFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ParametricqueryFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch(eClass.getClassifierID()) {
+ case ParametricqueryPackage.PARAMETRIC_QUERY:
+ return createParametricQuery();
+ case ParametricqueryPackage.STRING_ARGUMENT:
+ return createStringArgument();
+ case ParametricqueryPackage.ESTRUCTURAL_FEATURE_ARGUMENT:
+ return createEStructuralFeatureArgument();
+ 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 ParametricQuery createParametricQuery() {
+ ParametricQueryImpl parametricQuery = new ParametricQueryImpl();
+ return parametricQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StringArgument createStringArgument() {
+ StringArgumentImpl stringArgument = new StringArgumentImpl();
+ return stringArgument;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EStructuralFeatureArgument createEStructuralFeatureArgument() {
+ EStructuralFeatureArgumentImpl eStructuralFeatureArgument = new EStructuralFeatureArgumentImpl();
+ return eStructuralFeatureArgument;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ParametricqueryPackage getParametricqueryPackage() {
+ return (ParametricqueryPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ParametricqueryPackage getPackage() {
+ return ParametricqueryPackage.eINSTANCE;
+ }
+
+} //ParametricqueryFactoryImpl
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricqueryPackageImpl.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricqueryPackageImpl.java
new file mode 100644
index 00000000000..031caba2da6
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/ParametricqueryPackageImpl.java
@@ -0,0 +1,328 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.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.infra.query.QueryPackage;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryFactory;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.StringArgument;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ParametricqueryPackageImpl extends EPackageImpl implements ParametricqueryPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass parametricQueryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass argumentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass stringArgumentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass eStructuralFeatureArgumentEClass = 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.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ParametricqueryPackageImpl() {
+ super(eNS_URI, ParametricqueryFactory.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 ParametricqueryPackage#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 ParametricqueryPackage init() {
+ if(isInited)
+ return (ParametricqueryPackage)EPackage.Registry.INSTANCE.getEPackage(ParametricqueryPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ParametricqueryPackageImpl theParametricqueryPackage = (ParametricqueryPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ParametricqueryPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ParametricqueryPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ QueryPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theParametricqueryPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theParametricqueryPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theParametricqueryPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ParametricqueryPackage.eNS_URI, theParametricqueryPackage);
+ return theParametricqueryPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getParametricQuery() {
+ return parametricQueryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getParametricQuery_CalledQuery() {
+ return (EReference)parametricQueryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getParametricQuery_Arguments() {
+ return (EReference)parametricQueryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getArgument() {
+ return argumentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getArgument_ArgumentName() {
+ return (EAttribute)argumentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getStringArgument() {
+ return stringArgumentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStringArgument_Value() {
+ return (EAttribute)stringArgumentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getEStructuralFeatureArgument() {
+ return eStructuralFeatureArgumentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getEStructuralFeatureArgument_Value() {
+ return (EReference)eStructuralFeatureArgumentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ParametricqueryFactory getParametricqueryFactory() {
+ return (ParametricqueryFactory)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
+ parametricQueryEClass = createEClass(PARAMETRIC_QUERY);
+ createEReference(parametricQueryEClass, PARAMETRIC_QUERY__CALLED_QUERY);
+ createEReference(parametricQueryEClass, PARAMETRIC_QUERY__ARGUMENTS);
+
+ argumentEClass = createEClass(ARGUMENT);
+ createEAttribute(argumentEClass, ARGUMENT__ARGUMENT_NAME);
+
+ stringArgumentEClass = createEClass(STRING_ARGUMENT);
+ createEAttribute(stringArgumentEClass, STRING_ARGUMENT__VALUE);
+
+ eStructuralFeatureArgumentEClass = createEClass(ESTRUCTURAL_FEATURE_ARGUMENT);
+ createEReference(eStructuralFeatureArgumentEClass, ESTRUCTURAL_FEATURE_ARGUMENT__VALUE);
+ }
+
+ /**
+ * <!-- 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
+ QueryPackage theQueryPackage = (QueryPackage)EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ parametricQueryEClass.getESuperTypes().add(theQueryPackage.getModelQuery());
+ stringArgumentEClass.getESuperTypes().add(this.getArgument());
+ eStructuralFeatureArgumentEClass.getESuperTypes().add(this.getArgument());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(parametricQueryEClass, ParametricQuery.class, "ParametricQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getParametricQuery_CalledQuery(), theQueryPackage.getModelQuery(), null, "calledQuery", null, 1, 1, ParametricQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getParametricQuery_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, ParametricQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(argumentEClass, Argument.class, "Argument", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getArgument_ArgumentName(), ecorePackage.getEString(), "argumentName", null, 0, 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(stringArgumentEClass, StringArgument.class, "StringArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getStringArgument_Value(), ecorePackage.getEString(), "value", null, 1, 1, StringArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(eStructuralFeatureArgumentEClass, EStructuralFeatureArgument.class, "EStructuralFeatureArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getEStructuralFeatureArgument_Value(), theEcorePackage.getEStructuralFeature(), null, "value", null, 0, 1, EStructuralFeatureArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //ParametricqueryPackageImpl
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/StringArgumentImpl.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/StringArgumentImpl.java
new file mode 100644
index 00000000000..e84f1accfef
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/impl/StringArgumentImpl.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.StringArgument;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String Argument</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.StringArgumentImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StringArgumentImpl extends ArgumentImpl implements StringArgument {
+
+ /**
+ * 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 StringArgumentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ParametricqueryPackage.Literals.STRING_ARGUMENT;
+ }
+
+ /**
+ * <!-- 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, ParametricqueryPackage.STRING_ARGUMENT__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch(featureID) {
+ case ParametricqueryPackage.STRING_ARGUMENT__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 ParametricqueryPackage.STRING_ARGUMENT__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 ParametricqueryPackage.STRING_ARGUMENT__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case ParametricqueryPackage.STRING_ARGUMENT__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();
+ }
+
+} //StringArgumentImpl
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/util/ParametricqueryAdapterFactory.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/util/ParametricqueryAdapterFactory.java
new file mode 100644
index 00000000000..b8721ed2215
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/util/ParametricqueryAdapterFactory.java
@@ -0,0 +1,227 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.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.infra.query.ModelQuery;
+
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.*;
+
+/**
+ * <!-- 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.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage
+ * @generated
+ */
+public class ParametricqueryAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static ParametricqueryPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ParametricqueryAdapterFactory() {
+ if(modelPackage == null) {
+ modelPackage = ParametricqueryPackage.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 ParametricquerySwitch<Adapter> modelSwitch = new ParametricquerySwitch<Adapter>() {
+
+ @Override
+ public Adapter caseParametricQuery(ParametricQuery object) {
+ return createParametricQueryAdapter();
+ }
+
+ @Override
+ public Adapter caseArgument(Argument object) {
+ return createArgumentAdapter();
+ }
+
+ @Override
+ public Adapter caseStringArgument(StringArgument object) {
+ return createStringArgumentAdapter();
+ }
+
+ @Override
+ public Adapter caseEStructuralFeatureArgument(EStructuralFeatureArgument object) {
+ return createEStructuralFeatureArgumentAdapter();
+ }
+
+ @Override
+ public Adapter caseModelQuery(ModelQuery object) {
+ return createModelQueryAdapter();
+ }
+
+ @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.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery
+ * <em>Parametric 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.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery
+ * @generated
+ */
+ public Adapter createParametricQueryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument <em>Argument</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.papyrus.infra.emf.facet.queries.parametricquery.Argument
+ * @generated
+ */
+ public Adapter createArgumentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.StringArgument
+ * <em>String Argument</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.papyrus.infra.emf.facet.queries.parametricquery.StringArgument
+ * @generated
+ */
+ public Adapter createStringArgumentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument
+ * <em>EStructural Feature Argument</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.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument
+ * @generated
+ */
+ public Adapter createEStructuralFeatureArgumentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.facet.infra.query.ModelQuery <em>Model 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.infra.query.ModelQuery
+ * @generated
+ */
+ public Adapter createModelQueryAdapter() {
+ 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;
+ }
+
+} //ParametricqueryAdapterFactory
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/util/ParametricquerySwitch.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/util/ParametricquerySwitch.java
new file mode 100644
index 00000000000..acb6329fb6b
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src-gen/org/eclipse/papyrus/infra/emf/facet/queries/parametricquery/util/ParametricquerySwitch.java
@@ -0,0 +1,233 @@
+/**
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.emf.facet.infra.query.ModelQuery;
+
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.*;
+
+/**
+ * <!-- 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.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage
+ * @generated
+ */
+public class ParametricquerySwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static ParametricqueryPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ParametricquerySwitch() {
+ if(modelPackage == null) {
+ modelPackage = ParametricqueryPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * 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
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch(classifierID) {
+ case ParametricqueryPackage.PARAMETRIC_QUERY:
+ {
+ ParametricQuery parametricQuery = (ParametricQuery)theEObject;
+ T result = caseParametricQuery(parametricQuery);
+ if(result == null)
+ result = caseModelQuery(parametricQuery);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ParametricqueryPackage.ARGUMENT:
+ {
+ Argument argument = (Argument)theEObject;
+ T result = caseArgument(argument);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ParametricqueryPackage.STRING_ARGUMENT:
+ {
+ StringArgument stringArgument = (StringArgument)theEObject;
+ T result = caseStringArgument(stringArgument);
+ if(result == null)
+ result = caseArgument(stringArgument);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ParametricqueryPackage.ESTRUCTURAL_FEATURE_ARGUMENT:
+ {
+ EStructuralFeatureArgument eStructuralFeatureArgument = (EStructuralFeatureArgument)theEObject;
+ T result = caseEStructuralFeatureArgument(eStructuralFeatureArgument);
+ if(result == null)
+ result = caseArgument(eStructuralFeatureArgument);
+ if(result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Parametric 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>Parametric Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParametricQuery(ParametricQuery object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Argument</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>Argument</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseArgument(Argument object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>String Argument</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 Argument</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStringArgument(StringArgument object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EStructural Feature Argument</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 Argument</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEStructuralFeatureArgument(EStructuralFeatureArgument object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model 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>Model Query</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelQuery(ModelQuery 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
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ParametricquerySwitch
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/Activator.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/Activator.java
new file mode 100644
index 00000000000..53ed85cb848
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/Activator.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.emf.facet.queries;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ private static BundleContext context;
+
+ static BundleContext getContext() {
+ return context;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext bundleContext) throws Exception {
+ Activator.context = bundleContext;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext bundleContext) throws Exception {
+ Activator.context = null;
+ }
+
+}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/factory/ParametricQueryFactory.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/factory/ParametricQueryFactory.java
new file mode 100644
index 00000000000..9a39e71d5cf
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/factory/ParametricQueryFactory.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.emf.facet.queries.factory;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.emf.facet.infra.query.ModelQuery;
+import org.eclipse.emf.facet.infra.query.core.AbstractModelQuery;
+import org.eclipse.emf.facet.infra.query.core.IModelQueryFactory;
+import org.eclipse.emf.facet.infra.query.core.exception.ModelQueryException;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametric.FacetParametricQuery;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryFactory;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricqueryPackage;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.impl.ParametricQueryImpl;
+import org.osgi.framework.Bundle;
+
+
+public class ParametricQueryFactory implements IModelQueryFactory {
+
+ public ParametricQueryFactory() {
+
+ }
+
+ public AbstractModelQuery create(ModelQuery modelQuery, Bundle bundle) throws ModelQueryException {
+ Assert.isTrue(modelQuery instanceof ParametricQueryImpl);
+ return new FacetParametricQuery((ParametricQuery)modelQuery);
+ }
+
+ public EClass getManagedModelQueryType() {
+ return ParametricqueryPackage.eINSTANCE.getParametricQuery();
+ }
+
+}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/parametric/FacetParametricQuery.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/parametric/FacetParametricQuery.java
new file mode 100644
index 00000000000..e7940d0f7cf
--- /dev/null
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.facet.queries/src/org/eclipse/papyrus/infra/emf/facet/queries/parametric/FacetParametricQuery.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * 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:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.emf.facet.queries.parametric;
+
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.facet.infra.query.ModelQuery;
+import org.eclipse.emf.facet.infra.query.ModelQueryParameter;
+import org.eclipse.emf.facet.infra.query.QueryFactory;
+import org.eclipse.emf.facet.infra.query.core.AbstractModelQuery;
+import org.eclipse.emf.facet.infra.query.core.ModelQuerySetCatalog;
+import org.eclipse.emf.facet.infra.query.core.exception.ModelQueryException;
+import org.eclipse.emf.facet.infra.query.runtime.ModelQueryContext;
+import org.eclipse.emf.facet.infra.query.runtime.ModelQueryParameterValue;
+import org.eclipse.emf.facet.infra.query.runtime.ModelQueryResult;
+import org.eclipse.emf.facet.infra.query.runtime.RuntimeFactory;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.Argument;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.EStructuralFeatureArgument;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.ParametricQuery;
+import org.eclipse.papyrus.infra.emf.facet.queries.parametricquery.StringArgument;
+
+
+public class FacetParametricQuery extends AbstractModelQuery {
+
+ protected ParametricQuery parametricModelQuery;
+
+ public FacetParametricQuery(ParametricQuery modelQuery) {
+ super(modelQuery);
+ this.parametricModelQuery = modelQuery;
+ }
+
+ @Override
+ public Object basicEvaluate(EObject context, List<ModelQueryParameterValue> parameterValues) throws ModelQueryException {
+ ModelQuery calledQuery = parametricModelQuery.getCalledQuery();
+ List<Argument> arguments = parametricModelQuery.getArguments();
+
+ final ModelQuerySetCatalog querySetCatalog = ModelQuerySetCatalog.getSingleton();
+ if(calledQuery != null) {
+ final AbstractModelQuery modelQueryImpl = querySetCatalog.getModelQueryImpl(calledQuery);
+ ModelQueryContext modelQueryContext = RuntimeFactory.eINSTANCE.createModelQueryContext();
+ modelQueryContext.getSelectedModelElements().add(context);
+
+ List<ModelQueryParameterValue> calledParameterValues = getParameterValues(calledQuery, arguments);
+
+ return modelQueryImpl.basicEvaluate(context, calledParameterValues);
+ }
+
+ return Collections.emptyList();
+ }
+
+ private List<ModelQueryParameterValue> getParameterValues(ModelQuery calledQuery, List<Argument> arguments) {
+ List<ModelQueryParameterValue> result = new LinkedList<ModelQueryParameterValue>();
+
+ for(Argument argument : arguments) {
+ ModelQueryParameterValue parameterValue = RuntimeFactory.eINSTANCE.createModelQueryParameterValue();
+ ModelQueryParameter modelQueryParameter = QueryFactory.eINSTANCE.createModelQueryParameter();
+
+ Object value = null;
+ final String name = argument.getArgumentName();
+ if(argument instanceof StringArgument) {
+ value = ((StringArgument)argument).getValue();
+ } else if(argument instanceof EStructuralFeatureArgument) {
+ value = ((EStructuralFeatureArgument)argument).getValue();
+ }
+ modelQueryParameter.setName(name);
+ parameterValue.setParameter(modelQueryParameter);
+ parameterValue.setValue(value);
+ result.add(parameterValue);
+ }
+ return result;
+ }
+}

Back to the top