Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org')
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/AbstractTrigger.java32
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/AbstractValueProcessor.java32
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/BasicTrigger.java156
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementContainer.java66
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementProperty.java148
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementTemplate.java97
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/JavaProcessor.java66
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/PropertylifecycleFactory.java106
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/PropertylifecyclePackage.java1299
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategyElement.java73
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategySet.java55
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategyTemplate.java127
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/AbstractTriggerImpl.java50
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/AbstractValueProcessorImpl.java50
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/BasicTriggerImpl.java370
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementContainerImpl.java204
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementPropertyImpl.java393
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementTemplateImpl.java249
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/JavaProcessorImpl.java187
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/PropertylifecycleFactoryImpl.java183
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/PropertylifecyclePackageImpl.java659
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategyElementImpl.java459
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategySetImpl.java169
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategyTemplateImpl.java310
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleAdapterFactory.java318
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleResourceFactoryImpl.java54
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleResourceImpl.java41
-rwxr-xr-xextraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleSwitch.java375
28 files changed, 6328 insertions, 0 deletions
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/AbstractTrigger.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/AbstractTrigger.java
new file mode 100755
index 00000000000..575a6f6653f
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/AbstractTrigger.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Trigger</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Triggers specifying the lifecycle moment(s) from which to apply the processed value to the property
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getAbstractTrigger()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AbstractTrigger extends EObject {
+} // AbstractTrigger
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/AbstractValueProcessor.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/AbstractValueProcessor.java
new file mode 100755
index 00000000000..1860a609377
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/AbstractValueProcessor.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Value Processor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Processor from which to compute the new value of the property
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getAbstractValueProcessor()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AbstractValueProcessor extends EObject {
+} // AbstractValueProcessor
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/BasicTrigger.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/BasicTrigger.java
new file mode 100755
index 00000000000..542af57d31f
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/BasicTrigger.java
@@ -0,0 +1,156 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Basic Trigger</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Specify the basic triggers of an element's lifecycle
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnCreate <em>On Create</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnDelete <em>On Delete</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnOpen <em>On Open</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnMove <em>On Move</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getBasicTrigger()
+ * @model
+ * @generated
+ */
+public interface BasicTrigger extends AbstractTrigger {
+ /**
+ * Returns the value of the '<em><b>On Create</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>On Create</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>On Create</em>' attribute.
+ * @see #setOnCreate(boolean)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getBasicTrigger_OnCreate()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ boolean isOnCreate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnCreate <em>On Create</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>On Create</em>' attribute.
+ * @see #isOnCreate()
+ * @generated
+ */
+ void setOnCreate(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>On Delete</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>On Delete</em>' attribute.
+ * @see #setOnDelete(boolean)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getBasicTrigger_OnDelete()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ boolean isOnDelete();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnDelete <em>On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>On Delete</em>' attribute.
+ * @see #isOnDelete()
+ * @generated
+ */
+ void setOnDelete(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>On Open</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>On Open</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>On Open</em>' attribute.
+ * @see #setOnOpen(boolean)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getBasicTrigger_OnOpen()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ boolean isOnOpen();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnOpen <em>On Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>On Open</em>' attribute.
+ * @see #isOnOpen()
+ * @generated
+ */
+ void setOnOpen(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>On Move</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>On Move</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>On Move</em>' attribute.
+ * @see #setOnMove(boolean)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getBasicTrigger_OnMove()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ boolean isOnMove();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnMove <em>On Move</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>On Move</em>' attribute.
+ * @see #isOnMove()
+ * @generated
+ */
+ void setOnMove(boolean value);
+
+} // BasicTrigger
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementContainer.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementContainer.java
new file mode 100755
index 00000000000..0fa70d0bc2e
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementContainer.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The informations defining the required immediate possible container(s) of the element
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.ElementContainer#getContainersContainer <em>Containers Container</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getElementContainer()
+ * @model
+ * @generated
+ */
+public interface ElementContainer extends ElementTemplate {
+ /**
+ * Returns the value of the '<em><b>Containers Container</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Containers Container</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Containers Container</em>' containment reference.
+ * @see #setContainersContainer(ElementContainer)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getElementContainer_ContainersContainer()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ ElementContainer getContainersContainer();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.ElementContainer#getContainersContainer <em>Containers Container</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Containers Container</em>' containment reference.
+ * @see #getContainersContainer()
+ * @generated
+ */
+ void setContainersContainer(ElementContainer value);
+
+} // ElementContainer
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementProperty.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementProperty.java
new file mode 100755
index 00000000000..29ccd839489
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementProperty.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element Property</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * These informations are used to select and edit the property
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getFeatureLabel <em>Feature Label</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getPriority <em>Priority</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getTriggers <em>Triggers</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getValueProcessor <em>Value Processor</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getElementProperty()
+ * @model
+ * @generated
+ */
+public interface ElementProperty extends EObject {
+ /**
+ * Returns the value of the '<em><b>Feature Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Feature Label</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Feature Label</em>' attribute.
+ * @see #setFeatureLabel(String)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getElementProperty_FeatureLabel()
+ * @model required="true"
+ * @generated
+ */
+ String getFeatureLabel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getFeatureLabel <em>Feature Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Feature Label</em>' attribute.
+ * @see #getFeatureLabel()
+ * @generated
+ */
+ void setFeatureLabel(String value);
+
+ /**
+ * Returns the value of the '<em><b>Priority</b></em>' attribute.
+ * The default value is <code>"0"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Priority</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Priority</em>' attribute.
+ * @see #setPriority(Integer)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getElementProperty_Priority()
+ * @model default="0" required="true"
+ * @generated
+ */
+ Integer getPriority();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getPriority <em>Priority</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Priority</em>' attribute.
+ * @see #getPriority()
+ * @generated
+ */
+ void setPriority(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Triggers</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.propertylifecycle.AbstractTrigger}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Triggers</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>Triggers</em>' containment reference list.
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getElementProperty_Triggers()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ EList<AbstractTrigger> getTriggers();
+
+ /**
+ * Returns the value of the '<em><b>Value Processor</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value Processor</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value Processor</em>' containment reference.
+ * @see #setValueProcessor(AbstractValueProcessor)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getElementProperty_ValueProcessor()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ AbstractValueProcessor getValueProcessor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getValueProcessor <em>Value Processor</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value Processor</em>' containment reference.
+ * @see #getValueProcessor()
+ * @generated
+ */
+ void setValueProcessor(AbstractValueProcessor value);
+
+} // ElementProperty
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementTemplate.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementTemplate.java
new file mode 100755
index 00000000000..99c4d468cf9
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/ElementTemplate.java
@@ -0,0 +1,97 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element Template</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Contains the standard informations needed to identify the elements affected by this strategy
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.ElementTemplate#getBaseType <em>Base Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.ElementTemplate#getSpecializedType <em>Specialized Type</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getElementTemplate()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ElementTemplate extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Type</em>' attribute.
+ * @see #setBaseType(String)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getElementTemplate_BaseType()
+ * @model required="true"
+ * @generated
+ */
+ String getBaseType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.ElementTemplate#getBaseType <em>Base Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Type</em>' attribute.
+ * @see #getBaseType()
+ * @generated
+ */
+ void setBaseType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Specialized Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Specialized Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Specialized Type</em>' attribute.
+ * @see #setSpecializedType(String)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getElementTemplate_SpecializedType()
+ * @model
+ * @generated
+ */
+ String getSpecializedType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.ElementTemplate#getSpecializedType <em>Specialized Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Specialized Type</em>' attribute.
+ * @see #getSpecializedType()
+ * @generated
+ */
+ void setSpecializedType(String value);
+
+} // ElementTemplate
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/JavaProcessor.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/JavaProcessor.java
new file mode 100755
index 00000000000..69d736feef6
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/JavaProcessor.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Java Processor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Process the new vaue from the specified java class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.JavaProcessor#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getJavaProcessor()
+ * @model
+ * @generated
+ */
+public interface JavaProcessor extends AbstractValueProcessor {
+ /**
+ * Returns the value of the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class 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>Class Name</em>' attribute.
+ * @see #setClassName(String)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getJavaProcessor_ClassName()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getClassName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.JavaProcessor#getClassName <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Class Name</em>' attribute.
+ * @see #getClassName()
+ * @generated
+ */
+ void setClassName(String value);
+
+} // JavaProcessor
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/PropertylifecycleFactory.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/PropertylifecycleFactory.java
new file mode 100755
index 00000000000..2ef95b8e206
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/PropertylifecycleFactory.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+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.propertylifecycle.PropertylifecyclePackage
+ * @generated
+ */
+public interface PropertylifecycleFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ PropertylifecycleFactory eINSTANCE = org.eclipse.papyrus.propertylifecycle.impl.PropertylifecycleFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Strategy Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Strategy Set</em>'.
+ * @generated
+ */
+ StrategySet createStrategySet();
+
+ /**
+ * Returns a new object of class '<em>Strategy Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Strategy Element</em>'.
+ * @generated
+ */
+ StrategyElement createStrategyElement();
+
+ /**
+ * Returns a new object of class '<em>Element Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Element Container</em>'.
+ * @generated
+ */
+ ElementContainer createElementContainer();
+
+ /**
+ * Returns a new object of class '<em>Element Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Element Property</em>'.
+ * @generated
+ */
+ ElementProperty createElementProperty();
+
+ /**
+ * Returns a new object of class '<em>Java Processor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Java Processor</em>'.
+ * @generated
+ */
+ JavaProcessor createJavaProcessor();
+
+ /**
+ * Returns a new object of class '<em>Basic Trigger</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Basic Trigger</em>'.
+ * @generated
+ */
+ BasicTrigger createBasicTrigger();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ PropertylifecyclePackage getPropertylifecyclePackage();
+
+} // PropertylifecycleFactory
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/PropertylifecyclePackage.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/PropertylifecyclePackage.java
new file mode 100755
index 00000000000..948d9b9dfc3
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/PropertylifecyclePackage.java
@@ -0,0 +1,1299 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecycleFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface PropertylifecyclePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "propertylifecycle"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/infra/propertylifecycle/1.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "propertylifecycle"; //$NON-NLS-1$
+
+ /**
+ * The package content type ID.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eCONTENT_TYPE = "org.eclipse.papyrus.infra.propertylifecycle"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ PropertylifecyclePackage eINSTANCE = org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyTemplateImpl <em>Strategy Template</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.StrategyTemplateImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getStrategyTemplate()
+ * @generated
+ */
+ int STRATEGY_TEMPLATE = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TEMPLATE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Decription</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TEMPLATE__DECRIPTION = 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TEMPLATE__ID = 2;
+
+ /**
+ * The number of structural features of the '<em>Strategy Template</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TEMPLATE_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Strategy Template</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TEMPLATE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.propertylifecycle.impl.StrategySetImpl <em>Strategy Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.StrategySetImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getStrategySet()
+ * @generated
+ */
+ int STRATEGY_SET = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_SET__NAME = STRATEGY_TEMPLATE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Decription</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_SET__DECRIPTION = STRATEGY_TEMPLATE__DECRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_SET__ID = STRATEGY_TEMPLATE__ID;
+
+ /**
+ * The feature id for the '<em><b>Strategies</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_SET__STRATEGIES = STRATEGY_TEMPLATE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Strategy Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_SET_FEATURE_COUNT = STRATEGY_TEMPLATE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Strategy Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_SET_OPERATION_COUNT = STRATEGY_TEMPLATE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.propertylifecycle.impl.ElementTemplateImpl <em>Element Template</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.ElementTemplateImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getElementTemplate()
+ * @generated
+ */
+ int ELEMENT_TEMPLATE = 3;
+
+ /**
+ * The feature id for the '<em><b>Base Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TEMPLATE__BASE_TYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Specialized Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TEMPLATE__SPECIALIZED_TYPE = 1;
+
+ /**
+ * The number of structural features of the '<em>Element Template</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TEMPLATE_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Element Template</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_TEMPLATE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyElementImpl <em>Strategy Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.StrategyElementImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getStrategyElement()
+ * @generated
+ */
+ int STRATEGY_ELEMENT = 2;
+
+ /**
+ * The feature id for the '<em><b>Base Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_ELEMENT__BASE_TYPE = ELEMENT_TEMPLATE__BASE_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Specialized Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_ELEMENT__SPECIALIZED_TYPE = ELEMENT_TEMPLATE__SPECIALIZED_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_ELEMENT__NAME = ELEMENT_TEMPLATE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Decription</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_ELEMENT__DECRIPTION = ELEMENT_TEMPLATE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_ELEMENT__ID = ELEMENT_TEMPLATE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Element Containers</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_ELEMENT__ELEMENT_CONTAINERS = ELEMENT_TEMPLATE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Element Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_ELEMENT__ELEMENT_PROPERTIES = ELEMENT_TEMPLATE_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Strategy Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_ELEMENT_FEATURE_COUNT = ELEMENT_TEMPLATE_FEATURE_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>Strategy Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_ELEMENT_OPERATION_COUNT = ELEMENT_TEMPLATE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.propertylifecycle.impl.ElementContainerImpl <em>Element Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.ElementContainerImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getElementContainer()
+ * @generated
+ */
+ int ELEMENT_CONTAINER = 4;
+
+ /**
+ * The feature id for the '<em><b>Base Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_CONTAINER__BASE_TYPE = ELEMENT_TEMPLATE__BASE_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Specialized Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_CONTAINER__SPECIALIZED_TYPE = ELEMENT_TEMPLATE__SPECIALIZED_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Containers Container</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_CONTAINER__CONTAINERS_CONTAINER = ELEMENT_TEMPLATE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Element Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_CONTAINER_FEATURE_COUNT = ELEMENT_TEMPLATE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Element Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_CONTAINER_OPERATION_COUNT = ELEMENT_TEMPLATE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.propertylifecycle.impl.ElementPropertyImpl <em>Element Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.ElementPropertyImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getElementProperty()
+ * @generated
+ */
+ int ELEMENT_PROPERTY = 5;
+
+ /**
+ * The feature id for the '<em><b>Feature Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_PROPERTY__FEATURE_LABEL = 0;
+
+ /**
+ * The feature id for the '<em><b>Priority</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_PROPERTY__PRIORITY = 1;
+
+ /**
+ * The feature id for the '<em><b>Triggers</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_PROPERTY__TRIGGERS = 2;
+
+ /**
+ * The feature id for the '<em><b>Value Processor</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_PROPERTY__VALUE_PROCESSOR = 3;
+
+ /**
+ * The number of structural features of the '<em>Element Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_PROPERTY_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the '<em>Element Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_PROPERTY_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.propertylifecycle.impl.AbstractTriggerImpl <em>Abstract Trigger</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.AbstractTriggerImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getAbstractTrigger()
+ * @generated
+ */
+ int ABSTRACT_TRIGGER = 6;
+
+ /**
+ * The number of structural features of the '<em>Abstract Trigger</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_TRIGGER_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Abstract Trigger</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_TRIGGER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.propertylifecycle.impl.AbstractValueProcessorImpl <em>Abstract Value Processor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.AbstractValueProcessorImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getAbstractValueProcessor()
+ * @generated
+ */
+ int ABSTRACT_VALUE_PROCESSOR = 7;
+
+ /**
+ * The number of structural features of the '<em>Abstract Value Processor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_VALUE_PROCESSOR_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Abstract Value Processor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_VALUE_PROCESSOR_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.propertylifecycle.impl.JavaProcessorImpl <em>Java Processor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.JavaProcessorImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getJavaProcessor()
+ * @generated
+ */
+ int JAVA_PROCESSOR = 8;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int JAVA_PROCESSOR__CLASS_NAME = ABSTRACT_VALUE_PROCESSOR_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Java Processor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int JAVA_PROCESSOR_FEATURE_COUNT = ABSTRACT_VALUE_PROCESSOR_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Java Processor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int JAVA_PROCESSOR_OPERATION_COUNT = ABSTRACT_VALUE_PROCESSOR_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.propertylifecycle.impl.BasicTriggerImpl <em>Basic Trigger</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.BasicTriggerImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getBasicTrigger()
+ * @generated
+ */
+ int BASIC_TRIGGER = 9;
+
+ /**
+ * The feature id for the '<em><b>On Create</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BASIC_TRIGGER__ON_CREATE = ABSTRACT_TRIGGER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>On Delete</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BASIC_TRIGGER__ON_DELETE = ABSTRACT_TRIGGER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>On Open</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BASIC_TRIGGER__ON_OPEN = ABSTRACT_TRIGGER_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>On Move</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BASIC_TRIGGER__ON_MOVE = ABSTRACT_TRIGGER_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Basic Trigger</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BASIC_TRIGGER_FEATURE_COUNT = ABSTRACT_TRIGGER_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Basic Trigger</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BASIC_TRIGGER_OPERATION_COUNT = ABSTRACT_TRIGGER_OPERATION_COUNT + 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.propertylifecycle.StrategyTemplate <em>Strategy Template</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Strategy Template</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategyTemplate
+ * @generated
+ */
+ EClass getStrategyTemplate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getName()
+ * @see #getStrategyTemplate()
+ * @generated
+ */
+ EAttribute getStrategyTemplate_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getDecription <em>Decription</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Decription</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getDecription()
+ * @see #getStrategyTemplate()
+ * @generated
+ */
+ EAttribute getStrategyTemplate_Decription();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getId()
+ * @see #getStrategyTemplate()
+ * @generated
+ */
+ EAttribute getStrategyTemplate_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.propertylifecycle.StrategySet <em>Strategy Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Strategy Set</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategySet
+ * @generated
+ */
+ EClass getStrategySet();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.propertylifecycle.StrategySet#getStrategies <em>Strategies</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Strategies</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategySet#getStrategies()
+ * @see #getStrategySet()
+ * @generated
+ */
+ EReference getStrategySet_Strategies();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.propertylifecycle.StrategyElement <em>Strategy Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Strategy Element</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategyElement
+ * @generated
+ */
+ EClass getStrategyElement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.propertylifecycle.StrategyElement#getElementContainers <em>Element Containers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Element Containers</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategyElement#getElementContainers()
+ * @see #getStrategyElement()
+ * @generated
+ */
+ EReference getStrategyElement_ElementContainers();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.propertylifecycle.StrategyElement#getElementProperties <em>Element Properties</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Element Properties</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategyElement#getElementProperties()
+ * @see #getStrategyElement()
+ * @generated
+ */
+ EReference getStrategyElement_ElementProperties();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.propertylifecycle.ElementTemplate <em>Element Template</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Element Template</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.ElementTemplate
+ * @generated
+ */
+ EClass getElementTemplate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.ElementTemplate#getBaseType <em>Base Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Base Type</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.ElementTemplate#getBaseType()
+ * @see #getElementTemplate()
+ * @generated
+ */
+ EAttribute getElementTemplate_BaseType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.ElementTemplate#getSpecializedType <em>Specialized Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Specialized Type</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.ElementTemplate#getSpecializedType()
+ * @see #getElementTemplate()
+ * @generated
+ */
+ EAttribute getElementTemplate_SpecializedType();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.propertylifecycle.ElementContainer <em>Element Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Element Container</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.ElementContainer
+ * @generated
+ */
+ EClass getElementContainer();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.propertylifecycle.ElementContainer#getContainersContainer <em>Containers Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Containers Container</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.ElementContainer#getContainersContainer()
+ * @see #getElementContainer()
+ * @generated
+ */
+ EReference getElementContainer_ContainersContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.propertylifecycle.ElementProperty <em>Element Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Element Property</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.ElementProperty
+ * @generated
+ */
+ EClass getElementProperty();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getFeatureLabel <em>Feature Label</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Feature Label</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.ElementProperty#getFeatureLabel()
+ * @see #getElementProperty()
+ * @generated
+ */
+ EAttribute getElementProperty_FeatureLabel();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getPriority <em>Priority</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Priority</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.ElementProperty#getPriority()
+ * @see #getElementProperty()
+ * @generated
+ */
+ EAttribute getElementProperty_Priority();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getTriggers <em>Triggers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Triggers</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.ElementProperty#getTriggers()
+ * @see #getElementProperty()
+ * @generated
+ */
+ EReference getElementProperty_Triggers();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.propertylifecycle.ElementProperty#getValueProcessor <em>Value Processor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Value Processor</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.ElementProperty#getValueProcessor()
+ * @see #getElementProperty()
+ * @generated
+ */
+ EReference getElementProperty_ValueProcessor();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.propertylifecycle.AbstractTrigger <em>Abstract Trigger</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Abstract Trigger</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.AbstractTrigger
+ * @generated
+ */
+ EClass getAbstractTrigger();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.propertylifecycle.AbstractValueProcessor <em>Abstract Value Processor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Abstract Value Processor</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.AbstractValueProcessor
+ * @generated
+ */
+ EClass getAbstractValueProcessor();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.propertylifecycle.JavaProcessor <em>Java Processor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Java Processor</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.JavaProcessor
+ * @generated
+ */
+ EClass getJavaProcessor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.JavaProcessor#getClassName <em>Class Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Class Name</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.JavaProcessor#getClassName()
+ * @see #getJavaProcessor()
+ * @generated
+ */
+ EAttribute getJavaProcessor_ClassName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger <em>Basic Trigger</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Basic Trigger</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.BasicTrigger
+ * @generated
+ */
+ EClass getBasicTrigger();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnCreate <em>On Create</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>On Create</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnCreate()
+ * @see #getBasicTrigger()
+ * @generated
+ */
+ EAttribute getBasicTrigger_OnCreate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnDelete <em>On Delete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>On Delete</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnDelete()
+ * @see #getBasicTrigger()
+ * @generated
+ */
+ EAttribute getBasicTrigger_OnDelete();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnOpen <em>On Open</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>On Open</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnOpen()
+ * @see #getBasicTrigger()
+ * @generated
+ */
+ EAttribute getBasicTrigger_OnOpen();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnMove <em>On Move</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>On Move</em>'.
+ * @see org.eclipse.papyrus.propertylifecycle.BasicTrigger#isOnMove()
+ * @see #getBasicTrigger()
+ * @generated
+ */
+ EAttribute getBasicTrigger_OnMove();
+
+ /**
+ * 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
+ */
+ PropertylifecycleFactory getPropertylifecycleFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyTemplateImpl <em>Strategy Template</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.StrategyTemplateImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getStrategyTemplate()
+ * @generated
+ */
+ EClass STRATEGY_TEMPLATE = eINSTANCE.getStrategyTemplate();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STRATEGY_TEMPLATE__NAME = eINSTANCE.getStrategyTemplate_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Decription</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STRATEGY_TEMPLATE__DECRIPTION = eINSTANCE.getStrategyTemplate_Decription();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute STRATEGY_TEMPLATE__ID = eINSTANCE.getStrategyTemplate_Id();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.propertylifecycle.impl.StrategySetImpl <em>Strategy Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.StrategySetImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getStrategySet()
+ * @generated
+ */
+ EClass STRATEGY_SET = eINSTANCE.getStrategySet();
+
+ /**
+ * The meta object literal for the '<em><b>Strategies</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference STRATEGY_SET__STRATEGIES = eINSTANCE.getStrategySet_Strategies();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyElementImpl <em>Strategy Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.StrategyElementImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getStrategyElement()
+ * @generated
+ */
+ EClass STRATEGY_ELEMENT = eINSTANCE.getStrategyElement();
+
+ /**
+ * The meta object literal for the '<em><b>Element Containers</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference STRATEGY_ELEMENT__ELEMENT_CONTAINERS = eINSTANCE.getStrategyElement_ElementContainers();
+
+ /**
+ * The meta object literal for the '<em><b>Element Properties</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference STRATEGY_ELEMENT__ELEMENT_PROPERTIES = eINSTANCE.getStrategyElement_ElementProperties();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.propertylifecycle.impl.ElementTemplateImpl <em>Element Template</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.ElementTemplateImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getElementTemplate()
+ * @generated
+ */
+ EClass ELEMENT_TEMPLATE = eINSTANCE.getElementTemplate();
+
+ /**
+ * The meta object literal for the '<em><b>Base Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ELEMENT_TEMPLATE__BASE_TYPE = eINSTANCE.getElementTemplate_BaseType();
+
+ /**
+ * The meta object literal for the '<em><b>Specialized Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ELEMENT_TEMPLATE__SPECIALIZED_TYPE = eINSTANCE.getElementTemplate_SpecializedType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.propertylifecycle.impl.ElementContainerImpl <em>Element Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.ElementContainerImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getElementContainer()
+ * @generated
+ */
+ EClass ELEMENT_CONTAINER = eINSTANCE.getElementContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Containers Container</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ELEMENT_CONTAINER__CONTAINERS_CONTAINER = eINSTANCE.getElementContainer_ContainersContainer();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.propertylifecycle.impl.ElementPropertyImpl <em>Element Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.ElementPropertyImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getElementProperty()
+ * @generated
+ */
+ EClass ELEMENT_PROPERTY = eINSTANCE.getElementProperty();
+
+ /**
+ * The meta object literal for the '<em><b>Feature Label</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ELEMENT_PROPERTY__FEATURE_LABEL = eINSTANCE.getElementProperty_FeatureLabel();
+
+ /**
+ * The meta object literal for the '<em><b>Priority</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ELEMENT_PROPERTY__PRIORITY = eINSTANCE.getElementProperty_Priority();
+
+ /**
+ * The meta object literal for the '<em><b>Triggers</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ELEMENT_PROPERTY__TRIGGERS = eINSTANCE.getElementProperty_Triggers();
+
+ /**
+ * The meta object literal for the '<em><b>Value Processor</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ELEMENT_PROPERTY__VALUE_PROCESSOR = eINSTANCE.getElementProperty_ValueProcessor();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.propertylifecycle.impl.AbstractTriggerImpl <em>Abstract Trigger</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.AbstractTriggerImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getAbstractTrigger()
+ * @generated
+ */
+ EClass ABSTRACT_TRIGGER = eINSTANCE.getAbstractTrigger();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.propertylifecycle.impl.AbstractValueProcessorImpl <em>Abstract Value Processor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.AbstractValueProcessorImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getAbstractValueProcessor()
+ * @generated
+ */
+ EClass ABSTRACT_VALUE_PROCESSOR = eINSTANCE.getAbstractValueProcessor();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.propertylifecycle.impl.JavaProcessorImpl <em>Java Processor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.JavaProcessorImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getJavaProcessor()
+ * @generated
+ */
+ EClass JAVA_PROCESSOR = eINSTANCE.getJavaProcessor();
+
+ /**
+ * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute JAVA_PROCESSOR__CLASS_NAME = eINSTANCE.getJavaProcessor_ClassName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.propertylifecycle.impl.BasicTriggerImpl <em>Basic Trigger</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.impl.BasicTriggerImpl
+ * @see org.eclipse.papyrus.propertylifecycle.impl.PropertylifecyclePackageImpl#getBasicTrigger()
+ * @generated
+ */
+ EClass BASIC_TRIGGER = eINSTANCE.getBasicTrigger();
+
+ /**
+ * The meta object literal for the '<em><b>On Create</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BASIC_TRIGGER__ON_CREATE = eINSTANCE.getBasicTrigger_OnCreate();
+
+ /**
+ * The meta object literal for the '<em><b>On Delete</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BASIC_TRIGGER__ON_DELETE = eINSTANCE.getBasicTrigger_OnDelete();
+
+ /**
+ * The meta object literal for the '<em><b>On Open</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BASIC_TRIGGER__ON_OPEN = eINSTANCE.getBasicTrigger_OnOpen();
+
+ /**
+ * The meta object literal for the '<em><b>On Move</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BASIC_TRIGGER__ON_MOVE = eINSTANCE.getBasicTrigger_OnMove();
+
+ }
+
+} // PropertylifecyclePackage
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategyElement.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategyElement.java
new file mode 100755
index 00000000000..965e36e266a
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategyElement.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Strategy Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The element affected by this strategy
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.StrategyElement#getElementContainers <em>Element Containers</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.StrategyElement#getElementProperties <em>Element Properties</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getStrategyElement()
+ * @model
+ * @generated
+ */
+public interface StrategyElement extends ElementTemplate, StrategyTemplate {
+ /**
+ * Returns the value of the '<em><b>Element Containers</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.propertylifecycle.ElementContainer}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element Containers</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>Element Containers</em>' containment reference list.
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getStrategyElement_ElementContainers()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ElementContainer> getElementContainers();
+
+ /**
+ * Returns the value of the '<em><b>Element Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.propertylifecycle.ElementProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element Properties</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>Element Properties</em>' containment reference list.
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getStrategyElement_ElementProperties()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ElementProperty> getElementProperties();
+
+} // StrategyElement
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategySet.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategySet.java
new file mode 100755
index 00000000000..7bd1ed22b0c
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategySet.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Strategy Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Root set containing the defined strategies
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.StrategySet#getStrategies <em>Strategies</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getStrategySet()
+ * @model
+ * @generated
+ */
+public interface StrategySet extends StrategyTemplate {
+ /**
+ * Returns the value of the '<em><b>Strategies</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.propertylifecycle.StrategyElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Strategies</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>Strategies</em>' containment reference list.
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getStrategySet_Strategies()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<StrategyElement> getStrategies();
+
+} // StrategySet
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategyTemplate.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategyTemplate.java
new file mode 100755
index 00000000000..ddebf5f0d30
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/StrategyTemplate.java
@@ -0,0 +1,127 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Strategy Template</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Contains the standard informations needed to identify the strategy sets
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getDecription <em>Decription</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getStrategyTemplate()
+ * @model abstract="true"
+ * @generated
+ */
+public interface StrategyTemplate extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getStrategyTemplate_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Decription</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Decription</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Decription</em>' attribute.
+ * @see #setDecription(String)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getStrategyTemplate_Decription()
+ * @model
+ * @generated
+ */
+ String getDecription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getDecription <em>Decription</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Decription</em>' attribute.
+ * @see #getDecription()
+ * @generated
+ */
+ void setDecription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage#getStrategyTemplate_Id()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.propertylifecycle.StrategyTemplate#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+} // StrategyTemplate
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/AbstractTriggerImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/AbstractTriggerImpl.java
new file mode 100755
index 00000000000..696eefcd0c3
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/AbstractTriggerImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.propertylifecycle.AbstractTrigger;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Trigger</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class AbstractTriggerImpl extends MinimalEObjectImpl.Container implements AbstractTrigger {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AbstractTriggerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertylifecyclePackage.Literals.ABSTRACT_TRIGGER;
+ }
+
+} // AbstractTriggerImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/AbstractValueProcessorImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/AbstractValueProcessorImpl.java
new file mode 100755
index 00000000000..43fceb033ca
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/AbstractValueProcessorImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.propertylifecycle.AbstractValueProcessor;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Value Processor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class AbstractValueProcessorImpl extends MinimalEObjectImpl.Container implements AbstractValueProcessor {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AbstractValueProcessorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertylifecyclePackage.Literals.ABSTRACT_VALUE_PROCESSOR;
+ }
+
+} // AbstractValueProcessorImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/BasicTriggerImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/BasicTriggerImpl.java
new file mode 100755
index 00000000000..d1a69ba6f1b
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/BasicTriggerImpl.java
@@ -0,0 +1,370 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.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.propertylifecycle.BasicTrigger;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Basic Trigger</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.BasicTriggerImpl#isOnCreate <em>On Create</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.BasicTriggerImpl#isOnDelete <em>On Delete</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.BasicTriggerImpl#isOnOpen <em>On Open</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.BasicTriggerImpl#isOnMove <em>On Move</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BasicTriggerImpl extends AbstractTriggerImpl implements BasicTrigger {
+ /**
+ * The default value of the '{@link #isOnCreate() <em>On Create</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOnCreate()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ON_CREATE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isOnCreate() <em>On Create</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOnCreate()
+ * @generated
+ * @ordered
+ */
+ protected boolean onCreate = ON_CREATE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isOnDelete() <em>On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ON_DELETE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isOnDelete() <em>On Delete</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOnDelete()
+ * @generated
+ * @ordered
+ */
+ protected boolean onDelete = ON_DELETE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isOnOpen() <em>On Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOnOpen()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ON_OPEN_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isOnOpen() <em>On Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOnOpen()
+ * @generated
+ * @ordered
+ */
+ protected boolean onOpen = ON_OPEN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isOnMove() <em>On Move</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOnMove()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ON_MOVE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isOnMove() <em>On Move</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOnMove()
+ * @generated
+ * @ordered
+ */
+ protected boolean onMove = ON_MOVE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BasicTriggerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertylifecyclePackage.Literals.BASIC_TRIGGER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isOnCreate() {
+ return onCreate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setOnCreate(boolean newOnCreate) {
+ boolean oldOnCreate = onCreate;
+ onCreate = newOnCreate;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.BASIC_TRIGGER__ON_CREATE, oldOnCreate, onCreate));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isOnDelete() {
+ return onDelete;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setOnDelete(boolean newOnDelete) {
+ boolean oldOnDelete = onDelete;
+ onDelete = newOnDelete;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.BASIC_TRIGGER__ON_DELETE, oldOnDelete, onDelete));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isOnOpen() {
+ return onOpen;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setOnOpen(boolean newOnOpen) {
+ boolean oldOnOpen = onOpen;
+ onOpen = newOnOpen;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.BASIC_TRIGGER__ON_OPEN, oldOnOpen, onOpen));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isOnMove() {
+ return onMove;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setOnMove(boolean newOnMove) {
+ boolean oldOnMove = onMove;
+ onMove = newOnMove;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.BASIC_TRIGGER__ON_MOVE, oldOnMove, onMove));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_CREATE:
+ return isOnCreate();
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_DELETE:
+ return isOnDelete();
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_OPEN:
+ return isOnOpen();
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_MOVE:
+ return isOnMove();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_CREATE:
+ setOnCreate((Boolean) newValue);
+ return;
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_DELETE:
+ setOnDelete((Boolean) newValue);
+ return;
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_OPEN:
+ setOnOpen((Boolean) newValue);
+ return;
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_MOVE:
+ setOnMove((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_CREATE:
+ setOnCreate(ON_CREATE_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_DELETE:
+ setOnDelete(ON_DELETE_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_OPEN:
+ setOnOpen(ON_OPEN_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_MOVE:
+ setOnMove(ON_MOVE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_CREATE:
+ return onCreate != ON_CREATE_EDEFAULT;
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_DELETE:
+ return onDelete != ON_DELETE_EDEFAULT;
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_OPEN:
+ return onOpen != ON_OPEN_EDEFAULT;
+ case PropertylifecyclePackage.BASIC_TRIGGER__ON_MOVE:
+ return onMove != ON_MOVE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (onCreate: "); //$NON-NLS-1$
+ result.append(onCreate);
+ result.append(", onDelete: "); //$NON-NLS-1$
+ result.append(onDelete);
+ result.append(", onOpen: "); //$NON-NLS-1$
+ result.append(onOpen);
+ result.append(", onMove: "); //$NON-NLS-1$
+ result.append(onMove);
+ result.append(')');
+ return result.toString();
+ }
+
+} // BasicTriggerImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementContainerImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementContainerImpl.java
new file mode 100755
index 00000000000..4419f253efc
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementContainerImpl.java
@@ -0,0 +1,204 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.propertylifecycle.ElementContainer;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.ElementContainerImpl#getContainersContainer <em>Containers Container</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ElementContainerImpl extends ElementTemplateImpl implements ElementContainer {
+ /**
+ * The cached value of the '{@link #getContainersContainer() <em>Containers Container</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getContainersContainer()
+ * @generated
+ * @ordered
+ */
+ protected ElementContainer containersContainer;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ElementContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertylifecyclePackage.Literals.ELEMENT_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementContainer getContainersContainer() {
+ return containersContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetContainersContainer(ElementContainer newContainersContainer, NotificationChain msgs) {
+ ElementContainer oldContainersContainer = containersContainer;
+ containersContainer = newContainersContainer;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.ELEMENT_CONTAINER__CONTAINERS_CONTAINER, oldContainersContainer, newContainersContainer);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setContainersContainer(ElementContainer newContainersContainer) {
+ if (newContainersContainer != containersContainer) {
+ NotificationChain msgs = null;
+ if (containersContainer != null) {
+ msgs = ((InternalEObject) containersContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PropertylifecyclePackage.ELEMENT_CONTAINER__CONTAINERS_CONTAINER, null, msgs);
+ }
+ if (newContainersContainer != null) {
+ msgs = ((InternalEObject) newContainersContainer).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PropertylifecyclePackage.ELEMENT_CONTAINER__CONTAINERS_CONTAINER, null, msgs);
+ }
+ msgs = basicSetContainersContainer(newContainersContainer, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.ELEMENT_CONTAINER__CONTAINERS_CONTAINER, newContainersContainer, newContainersContainer));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_CONTAINER__CONTAINERS_CONTAINER:
+ return basicSetContainersContainer(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_CONTAINER__CONTAINERS_CONTAINER:
+ return getContainersContainer();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_CONTAINER__CONTAINERS_CONTAINER:
+ setContainersContainer((ElementContainer) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_CONTAINER__CONTAINERS_CONTAINER:
+ setContainersContainer((ElementContainer) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_CONTAINER__CONTAINERS_CONTAINER:
+ return containersContainer != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ElementContainerImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementPropertyImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementPropertyImpl.java
new file mode 100755
index 00000000000..287a9a17fc1
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementPropertyImpl.java
@@ -0,0 +1,393 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.propertylifecycle.AbstractTrigger;
+import org.eclipse.papyrus.propertylifecycle.AbstractValueProcessor;
+import org.eclipse.papyrus.propertylifecycle.ElementProperty;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.ElementPropertyImpl#getFeatureLabel <em>Feature Label</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.ElementPropertyImpl#getPriority <em>Priority</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.ElementPropertyImpl#getTriggers <em>Triggers</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.ElementPropertyImpl#getValueProcessor <em>Value Processor</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ElementPropertyImpl extends MinimalEObjectImpl.Container implements ElementProperty {
+ /**
+ * The default value of the '{@link #getFeatureLabel() <em>Feature Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFeatureLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String FEATURE_LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFeatureLabel() <em>Feature Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFeatureLabel()
+ * @generated
+ * @ordered
+ */
+ protected String featureLabel = FEATURE_LABEL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPriority() <em>Priority</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getPriority()
+ * @generated
+ * @ordered
+ */
+ protected static final Integer PRIORITY_EDEFAULT = new Integer(0);
+
+ /**
+ * The cached value of the '{@link #getPriority() <em>Priority</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getPriority()
+ * @generated
+ * @ordered
+ */
+ protected Integer priority = PRIORITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTriggers() <em>Triggers</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTriggers()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractTrigger> triggers;
+
+ /**
+ * The cached value of the '{@link #getValueProcessor() <em>Value Processor</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getValueProcessor()
+ * @generated
+ * @ordered
+ */
+ protected AbstractValueProcessor valueProcessor;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ElementPropertyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertylifecyclePackage.Literals.ELEMENT_PROPERTY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getFeatureLabel() {
+ return featureLabel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFeatureLabel(String newFeatureLabel) {
+ String oldFeatureLabel = featureLabel;
+ featureLabel = newFeatureLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.ELEMENT_PROPERTY__FEATURE_LABEL, oldFeatureLabel, featureLabel));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Integer getPriority() {
+ return priority;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setPriority(Integer newPriority) {
+ Integer oldPriority = priority;
+ priority = newPriority;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.ELEMENT_PROPERTY__PRIORITY, oldPriority, priority));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<AbstractTrigger> getTriggers() {
+ if (triggers == null) {
+ triggers = new EObjectContainmentEList<AbstractTrigger>(AbstractTrigger.class, this, PropertylifecyclePackage.ELEMENT_PROPERTY__TRIGGERS);
+ }
+ return triggers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public AbstractValueProcessor getValueProcessor() {
+ return valueProcessor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetValueProcessor(AbstractValueProcessor newValueProcessor, NotificationChain msgs) {
+ AbstractValueProcessor oldValueProcessor = valueProcessor;
+ valueProcessor = newValueProcessor;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.ELEMENT_PROPERTY__VALUE_PROCESSOR, oldValueProcessor, newValueProcessor);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValueProcessor(AbstractValueProcessor newValueProcessor) {
+ if (newValueProcessor != valueProcessor) {
+ NotificationChain msgs = null;
+ if (valueProcessor != null) {
+ msgs = ((InternalEObject) valueProcessor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PropertylifecyclePackage.ELEMENT_PROPERTY__VALUE_PROCESSOR, null, msgs);
+ }
+ if (newValueProcessor != null) {
+ msgs = ((InternalEObject) newValueProcessor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PropertylifecyclePackage.ELEMENT_PROPERTY__VALUE_PROCESSOR, null, msgs);
+ }
+ msgs = basicSetValueProcessor(newValueProcessor, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.ELEMENT_PROPERTY__VALUE_PROCESSOR, newValueProcessor, newValueProcessor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__TRIGGERS:
+ return ((InternalEList<?>) getTriggers()).basicRemove(otherEnd, msgs);
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__VALUE_PROCESSOR:
+ return basicSetValueProcessor(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__FEATURE_LABEL:
+ return getFeatureLabel();
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__PRIORITY:
+ return getPriority();
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__TRIGGERS:
+ return getTriggers();
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__VALUE_PROCESSOR:
+ return getValueProcessor();
+ }
+ 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 PropertylifecyclePackage.ELEMENT_PROPERTY__FEATURE_LABEL:
+ setFeatureLabel((String) newValue);
+ return;
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__PRIORITY:
+ setPriority((Integer) newValue);
+ return;
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__TRIGGERS:
+ getTriggers().clear();
+ getTriggers().addAll((Collection<? extends AbstractTrigger>) newValue);
+ return;
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__VALUE_PROCESSOR:
+ setValueProcessor((AbstractValueProcessor) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__FEATURE_LABEL:
+ setFeatureLabel(FEATURE_LABEL_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__PRIORITY:
+ setPriority(PRIORITY_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__TRIGGERS:
+ getTriggers().clear();
+ return;
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__VALUE_PROCESSOR:
+ setValueProcessor((AbstractValueProcessor) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__FEATURE_LABEL:
+ return FEATURE_LABEL_EDEFAULT == null ? featureLabel != null : !FEATURE_LABEL_EDEFAULT.equals(featureLabel);
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__PRIORITY:
+ return PRIORITY_EDEFAULT == null ? priority != null : !PRIORITY_EDEFAULT.equals(priority);
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__TRIGGERS:
+ return triggers != null && !triggers.isEmpty();
+ case PropertylifecyclePackage.ELEMENT_PROPERTY__VALUE_PROCESSOR:
+ return valueProcessor != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (featureLabel: "); //$NON-NLS-1$
+ result.append(featureLabel);
+ result.append(", priority: "); //$NON-NLS-1$
+ result.append(priority);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ElementPropertyImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementTemplateImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementTemplateImpl.java
new file mode 100755
index 00000000000..cd1dc19cec5
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/ElementTemplateImpl.java
@@ -0,0 +1,249 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.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.MinimalEObjectImpl;
+import org.eclipse.papyrus.propertylifecycle.ElementTemplate;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element Template</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.ElementTemplateImpl#getBaseType <em>Base Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.ElementTemplateImpl#getSpecializedType <em>Specialized Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ElementTemplateImpl extends MinimalEObjectImpl.Container implements ElementTemplate {
+ /**
+ * The default value of the '{@link #getBaseType() <em>Base Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBaseType()
+ * @generated
+ * @ordered
+ */
+ protected static final String BASE_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBaseType() <em>Base Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBaseType()
+ * @generated
+ * @ordered
+ */
+ protected String baseType = BASE_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSpecializedType() <em>Specialized Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getSpecializedType()
+ * @generated
+ * @ordered
+ */
+ protected static final String SPECIALIZED_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSpecializedType() <em>Specialized Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getSpecializedType()
+ * @generated
+ * @ordered
+ */
+ protected String specializedType = SPECIALIZED_TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ElementTemplateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertylifecyclePackage.Literals.ELEMENT_TEMPLATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getBaseType() {
+ return baseType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBaseType(String newBaseType) {
+ String oldBaseType = baseType;
+ baseType = newBaseType;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.ELEMENT_TEMPLATE__BASE_TYPE, oldBaseType, baseType));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getSpecializedType() {
+ return specializedType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSpecializedType(String newSpecializedType) {
+ String oldSpecializedType = specializedType;
+ specializedType = newSpecializedType;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.ELEMENT_TEMPLATE__SPECIALIZED_TYPE, oldSpecializedType, specializedType));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_TEMPLATE__BASE_TYPE:
+ return getBaseType();
+ case PropertylifecyclePackage.ELEMENT_TEMPLATE__SPECIALIZED_TYPE:
+ return getSpecializedType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_TEMPLATE__BASE_TYPE:
+ setBaseType((String) newValue);
+ return;
+ case PropertylifecyclePackage.ELEMENT_TEMPLATE__SPECIALIZED_TYPE:
+ setSpecializedType((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_TEMPLATE__BASE_TYPE:
+ setBaseType(BASE_TYPE_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.ELEMENT_TEMPLATE__SPECIALIZED_TYPE:
+ setSpecializedType(SPECIALIZED_TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.ELEMENT_TEMPLATE__BASE_TYPE:
+ return BASE_TYPE_EDEFAULT == null ? baseType != null : !BASE_TYPE_EDEFAULT.equals(baseType);
+ case PropertylifecyclePackage.ELEMENT_TEMPLATE__SPECIALIZED_TYPE:
+ return SPECIALIZED_TYPE_EDEFAULT == null ? specializedType != null : !SPECIALIZED_TYPE_EDEFAULT.equals(specializedType);
+ }
+ 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(" (baseType: "); //$NON-NLS-1$
+ result.append(baseType);
+ result.append(", specializedType: "); //$NON-NLS-1$
+ result.append(specializedType);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ElementTemplateImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/JavaProcessorImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/JavaProcessorImpl.java
new file mode 100755
index 00000000000..0f9ed8726dd
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/JavaProcessorImpl.java
@@ -0,0 +1,187 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.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.propertylifecycle.JavaProcessor;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Java Processor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.JavaProcessorImpl#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class JavaProcessorImpl extends AbstractValueProcessorImpl implements JavaProcessor {
+ /**
+ * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getClassName()
+ * @generated
+ * @ordered
+ */
+ protected String className = CLASS_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected JavaProcessorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertylifecyclePackage.Literals.JAVA_PROCESSOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getClassName() {
+ return className;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setClassName(String newClassName) {
+ String oldClassName = className;
+ className = newClassName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.JAVA_PROCESSOR__CLASS_NAME, oldClassName, className));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PropertylifecyclePackage.JAVA_PROCESSOR__CLASS_NAME:
+ return getClassName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PropertylifecyclePackage.JAVA_PROCESSOR__CLASS_NAME:
+ setClassName((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.JAVA_PROCESSOR__CLASS_NAME:
+ setClassName(CLASS_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.JAVA_PROCESSOR__CLASS_NAME:
+ return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
+ }
+ 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(" (className: "); //$NON-NLS-1$
+ result.append(className);
+ result.append(')');
+ return result.toString();
+ }
+
+} // JavaProcessorImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/PropertylifecycleFactoryImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/PropertylifecycleFactoryImpl.java
new file mode 100755
index 00000000000..d2da6a58228
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/PropertylifecycleFactoryImpl.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.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.propertylifecycle.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PropertylifecycleFactoryImpl extends EFactoryImpl implements PropertylifecycleFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static PropertylifecycleFactory init() {
+ try {
+ PropertylifecycleFactory thePropertylifecycleFactory = (PropertylifecycleFactory) EPackage.Registry.INSTANCE.getEFactory(PropertylifecyclePackage.eNS_URI);
+ if (thePropertylifecycleFactory != null) {
+ return thePropertylifecycleFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new PropertylifecycleFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PropertylifecycleFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case PropertylifecyclePackage.STRATEGY_SET:
+ return createStrategySet();
+ case PropertylifecyclePackage.STRATEGY_ELEMENT:
+ return createStrategyElement();
+ case PropertylifecyclePackage.ELEMENT_CONTAINER:
+ return createElementContainer();
+ case PropertylifecyclePackage.ELEMENT_PROPERTY:
+ return createElementProperty();
+ case PropertylifecyclePackage.JAVA_PROCESSOR:
+ return createJavaProcessor();
+ case PropertylifecyclePackage.BASIC_TRIGGER:
+ return createBasicTrigger();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public StrategySet createStrategySet() {
+ StrategySetImpl strategySet = new StrategySetImpl();
+ return strategySet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public StrategyElement createStrategyElement() {
+ StrategyElementImpl strategyElement = new StrategyElementImpl();
+ return strategyElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementContainer createElementContainer() {
+ ElementContainerImpl elementContainer = new ElementContainerImpl();
+ return elementContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementProperty createElementProperty() {
+ ElementPropertyImpl elementProperty = new ElementPropertyImpl();
+ return elementProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public JavaProcessor createJavaProcessor() {
+ JavaProcessorImpl javaProcessor = new JavaProcessorImpl();
+ return javaProcessor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public BasicTrigger createBasicTrigger() {
+ BasicTriggerImpl basicTrigger = new BasicTriggerImpl();
+ return basicTrigger;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public PropertylifecyclePackage getPropertylifecyclePackage() {
+ return (PropertylifecyclePackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static PropertylifecyclePackage getPackage() {
+ return PropertylifecyclePackage.eINSTANCE;
+ }
+
+} // PropertylifecycleFactoryImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/PropertylifecyclePackageImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/PropertylifecyclePackageImpl.java
new file mode 100755
index 00000000000..7fab87a1968
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/PropertylifecyclePackageImpl.java
@@ -0,0 +1,659 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.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.impl.EPackageImpl;
+import org.eclipse.papyrus.propertylifecycle.AbstractTrigger;
+import org.eclipse.papyrus.propertylifecycle.AbstractValueProcessor;
+import org.eclipse.papyrus.propertylifecycle.BasicTrigger;
+import org.eclipse.papyrus.propertylifecycle.ElementContainer;
+import org.eclipse.papyrus.propertylifecycle.ElementProperty;
+import org.eclipse.papyrus.propertylifecycle.ElementTemplate;
+import org.eclipse.papyrus.propertylifecycle.JavaProcessor;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecycleFactory;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+import org.eclipse.papyrus.propertylifecycle.StrategyElement;
+import org.eclipse.papyrus.propertylifecycle.StrategySet;
+import org.eclipse.papyrus.propertylifecycle.StrategyTemplate;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PropertylifecyclePackageImpl extends EPackageImpl implements PropertylifecyclePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass strategyTemplateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass strategySetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass strategyElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass elementTemplateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass elementContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass elementPropertyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass abstractTriggerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass abstractValueProcessorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass javaProcessorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass basicTriggerEClass = 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.propertylifecycle.PropertylifecyclePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PropertylifecyclePackageImpl() {
+ super(eNS_URI, PropertylifecycleFactory.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 PropertylifecyclePackage#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 PropertylifecyclePackage init() {
+ if (isInited) {
+ return (PropertylifecyclePackage) EPackage.Registry.INSTANCE.getEPackage(PropertylifecyclePackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ PropertylifecyclePackageImpl thePropertylifecyclePackage = (PropertylifecyclePackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PropertylifecyclePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PropertylifecyclePackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ thePropertylifecyclePackage.createPackageContents();
+
+ // Initialize created meta-data
+ thePropertylifecyclePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ thePropertylifecyclePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(PropertylifecyclePackage.eNS_URI, thePropertylifecyclePackage);
+ return thePropertylifecyclePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getStrategyTemplate() {
+ return strategyTemplateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getStrategyTemplate_Name() {
+ return (EAttribute) strategyTemplateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getStrategyTemplate_Decription() {
+ return (EAttribute) strategyTemplateEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getStrategyTemplate_Id() {
+ return (EAttribute) strategyTemplateEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getStrategySet() {
+ return strategySetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getStrategySet_Strategies() {
+ return (EReference) strategySetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getStrategyElement() {
+ return strategyElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getStrategyElement_ElementContainers() {
+ return (EReference) strategyElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getStrategyElement_ElementProperties() {
+ return (EReference) strategyElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getElementTemplate() {
+ return elementTemplateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getElementTemplate_BaseType() {
+ return (EAttribute) elementTemplateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getElementTemplate_SpecializedType() {
+ return (EAttribute) elementTemplateEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getElementContainer() {
+ return elementContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getElementContainer_ContainersContainer() {
+ return (EReference) elementContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getElementProperty() {
+ return elementPropertyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getElementProperty_FeatureLabel() {
+ return (EAttribute) elementPropertyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getElementProperty_Priority() {
+ return (EAttribute) elementPropertyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getElementProperty_Triggers() {
+ return (EReference) elementPropertyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getElementProperty_ValueProcessor() {
+ return (EReference) elementPropertyEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getAbstractTrigger() {
+ return abstractTriggerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getAbstractValueProcessor() {
+ return abstractValueProcessorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getJavaProcessor() {
+ return javaProcessorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getJavaProcessor_ClassName() {
+ return (EAttribute) javaProcessorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getBasicTrigger() {
+ return basicTriggerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBasicTrigger_OnCreate() {
+ return (EAttribute) basicTriggerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBasicTrigger_OnDelete() {
+ return (EAttribute) basicTriggerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBasicTrigger_OnOpen() {
+ return (EAttribute) basicTriggerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBasicTrigger_OnMove() {
+ return (EAttribute) basicTriggerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public PropertylifecycleFactory getPropertylifecycleFactory() {
+ return (PropertylifecycleFactory) 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
+ strategyTemplateEClass = createEClass(STRATEGY_TEMPLATE);
+ createEAttribute(strategyTemplateEClass, STRATEGY_TEMPLATE__NAME);
+ createEAttribute(strategyTemplateEClass, STRATEGY_TEMPLATE__DECRIPTION);
+ createEAttribute(strategyTemplateEClass, STRATEGY_TEMPLATE__ID);
+
+ strategySetEClass = createEClass(STRATEGY_SET);
+ createEReference(strategySetEClass, STRATEGY_SET__STRATEGIES);
+
+ strategyElementEClass = createEClass(STRATEGY_ELEMENT);
+ createEReference(strategyElementEClass, STRATEGY_ELEMENT__ELEMENT_CONTAINERS);
+ createEReference(strategyElementEClass, STRATEGY_ELEMENT__ELEMENT_PROPERTIES);
+
+ elementTemplateEClass = createEClass(ELEMENT_TEMPLATE);
+ createEAttribute(elementTemplateEClass, ELEMENT_TEMPLATE__BASE_TYPE);
+ createEAttribute(elementTemplateEClass, ELEMENT_TEMPLATE__SPECIALIZED_TYPE);
+
+ elementContainerEClass = createEClass(ELEMENT_CONTAINER);
+ createEReference(elementContainerEClass, ELEMENT_CONTAINER__CONTAINERS_CONTAINER);
+
+ elementPropertyEClass = createEClass(ELEMENT_PROPERTY);
+ createEAttribute(elementPropertyEClass, ELEMENT_PROPERTY__FEATURE_LABEL);
+ createEAttribute(elementPropertyEClass, ELEMENT_PROPERTY__PRIORITY);
+ createEReference(elementPropertyEClass, ELEMENT_PROPERTY__TRIGGERS);
+ createEReference(elementPropertyEClass, ELEMENT_PROPERTY__VALUE_PROCESSOR);
+
+ abstractTriggerEClass = createEClass(ABSTRACT_TRIGGER);
+
+ abstractValueProcessorEClass = createEClass(ABSTRACT_VALUE_PROCESSOR);
+
+ javaProcessorEClass = createEClass(JAVA_PROCESSOR);
+ createEAttribute(javaProcessorEClass, JAVA_PROCESSOR__CLASS_NAME);
+
+ basicTriggerEClass = createEClass(BASIC_TRIGGER);
+ createEAttribute(basicTriggerEClass, BASIC_TRIGGER__ON_CREATE);
+ createEAttribute(basicTriggerEClass, BASIC_TRIGGER__ON_DELETE);
+ createEAttribute(basicTriggerEClass, BASIC_TRIGGER__ON_OPEN);
+ createEAttribute(basicTriggerEClass, BASIC_TRIGGER__ON_MOVE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ strategySetEClass.getESuperTypes().add(this.getStrategyTemplate());
+ strategyElementEClass.getESuperTypes().add(this.getElementTemplate());
+ strategyElementEClass.getESuperTypes().add(this.getStrategyTemplate());
+ elementContainerEClass.getESuperTypes().add(this.getElementTemplate());
+ javaProcessorEClass.getESuperTypes().add(this.getAbstractValueProcessor());
+ basicTriggerEClass.getESuperTypes().add(this.getAbstractTrigger());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(strategyTemplateEClass, StrategyTemplate.class, "StrategyTemplate", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getStrategyTemplate_Name(), ecorePackage.getEString(), "name", null, 0, 1, StrategyTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getStrategyTemplate_Decription(), ecorePackage.getEString(), "decription", null, 0, 1, StrategyTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getStrategyTemplate_Id(), ecorePackage.getEString(), "id", null, 1, 1, StrategyTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(strategySetEClass, StrategySet.class, "StrategySet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getStrategySet_Strategies(), this.getStrategyElement(), null, "strategies", null, 1, -1, StrategySet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, //$NON-NLS-1$
+ IS_ORDERED);
+
+ initEClass(strategyElementEClass, StrategyElement.class, "StrategyElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getStrategyElement_ElementContainers(), this.getElementContainer(), null, "elementContainers", null, 0, -1, StrategyElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, //$NON-NLS-1$
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getStrategyElement_ElementProperties(), this.getElementProperty(), null, "elementProperties", null, 1, -1, StrategyElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, //$NON-NLS-1$
+ !IS_DERIVED, IS_ORDERED);
+
+ initEClass(elementTemplateEClass, ElementTemplate.class, "ElementTemplate", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getElementTemplate_BaseType(), ecorePackage.getEString(), "baseType", null, 1, 1, ElementTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getElementTemplate_SpecializedType(), ecorePackage.getEString(), "specializedType", null, 0, 1, ElementTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(elementContainerEClass, ElementContainer.class, "ElementContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getElementContainer_ContainersContainer(), this.getElementContainer(), null, "containersContainer", null, 0, 1, ElementContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, //$NON-NLS-1$
+ IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(elementPropertyEClass, ElementProperty.class, "ElementProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getElementProperty_FeatureLabel(), ecorePackage.getEString(), "featureLabel", null, 1, 1, ElementProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getElementProperty_Priority(), ecorePackage.getEIntegerObject(), "priority", "0", 1, 1, ElementProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+ initEReference(getElementProperty_Triggers(), this.getAbstractTrigger(), null, "triggers", null, 1, -1, ElementProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, //$NON-NLS-1$
+ !IS_ORDERED);
+ initEReference(getElementProperty_ValueProcessor(), this.getAbstractValueProcessor(), null, "valueProcessor", null, 1, 1, ElementProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, //$NON-NLS-1$
+ !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(abstractTriggerEClass, AbstractTrigger.class, "AbstractTrigger", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(abstractValueProcessorEClass, AbstractValueProcessor.class, "AbstractValueProcessor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(javaProcessorEClass, JavaProcessor.class, "JavaProcessor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getJavaProcessor_ClassName(), ecorePackage.getEString(), "className", null, 1, 1, JavaProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(basicTriggerEClass, BasicTrigger.class, "BasicTrigger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getBasicTrigger_OnCreate(), ecorePackage.getEBoolean(), "onCreate", null, 1, 1, BasicTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getBasicTrigger_OnDelete(), ecorePackage.getEBoolean(), "onDelete", null, 1, 1, BasicTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getBasicTrigger_OnOpen(), ecorePackage.getEBoolean(), "onOpen", null, 1, 1, BasicTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getBasicTrigger_OnMove(), ecorePackage.getEBoolean(), "onMove", null, 1, 1, BasicTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // PropertylifecyclePackageImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategyElementImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategyElementImpl.java
new file mode 100755
index 00000000000..e27dded5853
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategyElementImpl.java
@@ -0,0 +1,459 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.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.papyrus.propertylifecycle.ElementContainer;
+import org.eclipse.papyrus.propertylifecycle.ElementProperty;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+import org.eclipse.papyrus.propertylifecycle.StrategyElement;
+import org.eclipse.papyrus.propertylifecycle.StrategyTemplate;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Strategy Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyElementImpl#getDecription <em>Decription</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyElementImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyElementImpl#getElementContainers <em>Element Containers</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyElementImpl#getElementProperties <em>Element Properties</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StrategyElementImpl extends ElementTemplateImpl implements StrategyElement {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDecription() <em>Decription</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDecription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DECRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDecription() <em>Decription</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDecription()
+ * @generated
+ * @ordered
+ */
+ protected String decription = DECRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getElementContainers() <em>Element Containers</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getElementContainers()
+ * @generated
+ * @ordered
+ */
+ protected EList<ElementContainer> elementContainers;
+
+ /**
+ * The cached value of the '{@link #getElementProperties() <em>Element Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getElementProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<ElementProperty> elementProperties;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StrategyElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertylifecyclePackage.Literals.STRATEGY_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.STRATEGY_ELEMENT__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDecription() {
+ return decription;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDecription(String newDecription) {
+ String oldDecription = decription;
+ decription = newDecription;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.STRATEGY_ELEMENT__DECRIPTION, oldDecription, decription));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.STRATEGY_ELEMENT__ID, oldId, id));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ElementContainer> getElementContainers() {
+ if (elementContainers == null) {
+ elementContainers = new EObjectContainmentEList<ElementContainer>(ElementContainer.class, this, PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_CONTAINERS);
+ }
+ return elementContainers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<ElementProperty> getElementProperties() {
+ if (elementProperties == null) {
+ elementProperties = new EObjectContainmentEList<ElementProperty>(ElementProperty.class, this, PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_PROPERTIES);
+ }
+ return elementProperties;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_CONTAINERS:
+ return ((InternalEList<?>) getElementContainers()).basicRemove(otherEnd, msgs);
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_PROPERTIES:
+ return ((InternalEList<?>) getElementProperties()).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 PropertylifecyclePackage.STRATEGY_ELEMENT__NAME:
+ return getName();
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__DECRIPTION:
+ return getDecription();
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ID:
+ return getId();
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_CONTAINERS:
+ return getElementContainers();
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_PROPERTIES:
+ return getElementProperties();
+ }
+ 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 PropertylifecyclePackage.STRATEGY_ELEMENT__NAME:
+ setName((String) newValue);
+ return;
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__DECRIPTION:
+ setDecription((String) newValue);
+ return;
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ID:
+ setId((String) newValue);
+ return;
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_CONTAINERS:
+ getElementContainers().clear();
+ getElementContainers().addAll((Collection<? extends ElementContainer>) newValue);
+ return;
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_PROPERTIES:
+ getElementProperties().clear();
+ getElementProperties().addAll((Collection<? extends ElementProperty>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__DECRIPTION:
+ setDecription(DECRIPTION_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_CONTAINERS:
+ getElementContainers().clear();
+ return;
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_PROPERTIES:
+ getElementProperties().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__DECRIPTION:
+ return DECRIPTION_EDEFAULT == null ? decription != null : !DECRIPTION_EDEFAULT.equals(decription);
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_CONTAINERS:
+ return elementContainers != null && !elementContainers.isEmpty();
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ELEMENT_PROPERTIES:
+ return elementProperties != null && !elementProperties.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == StrategyTemplate.class) {
+ switch (derivedFeatureID) {
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__NAME:
+ return PropertylifecyclePackage.STRATEGY_TEMPLATE__NAME;
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__DECRIPTION:
+ return PropertylifecyclePackage.STRATEGY_TEMPLATE__DECRIPTION;
+ case PropertylifecyclePackage.STRATEGY_ELEMENT__ID:
+ return PropertylifecyclePackage.STRATEGY_TEMPLATE__ID;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == StrategyTemplate.class) {
+ switch (baseFeatureID) {
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__NAME:
+ return PropertylifecyclePackage.STRATEGY_ELEMENT__NAME;
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__DECRIPTION:
+ return PropertylifecyclePackage.STRATEGY_ELEMENT__DECRIPTION;
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__ID:
+ return PropertylifecyclePackage.STRATEGY_ELEMENT__ID;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", decription: "); //$NON-NLS-1$
+ result.append(decription);
+ result.append(", id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} // StrategyElementImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategySetImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategySetImpl.java
new file mode 100755
index 00000000000..bbf1596db53
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategySetImpl.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+import org.eclipse.papyrus.propertylifecycle.StrategyElement;
+import org.eclipse.papyrus.propertylifecycle.StrategySet;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Strategy Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.StrategySetImpl#getStrategies <em>Strategies</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StrategySetImpl extends StrategyTemplateImpl implements StrategySet {
+ /**
+ * The cached value of the '{@link #getStrategies() <em>Strategies</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getStrategies()
+ * @generated
+ * @ordered
+ */
+ protected EList<StrategyElement> strategies;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StrategySetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertylifecyclePackage.Literals.STRATEGY_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<StrategyElement> getStrategies() {
+ if (strategies == null) {
+ strategies = new EObjectContainmentEList<StrategyElement>(StrategyElement.class, this, PropertylifecyclePackage.STRATEGY_SET__STRATEGIES);
+ }
+ return strategies;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PropertylifecyclePackage.STRATEGY_SET__STRATEGIES:
+ return ((InternalEList<?>) getStrategies()).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 PropertylifecyclePackage.STRATEGY_SET__STRATEGIES:
+ return getStrategies();
+ }
+ 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 PropertylifecyclePackage.STRATEGY_SET__STRATEGIES:
+ getStrategies().clear();
+ getStrategies().addAll((Collection<? extends StrategyElement>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.STRATEGY_SET__STRATEGIES:
+ getStrategies().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.STRATEGY_SET__STRATEGIES:
+ return strategies != null && !strategies.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // StrategySetImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategyTemplateImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategyTemplateImpl.java
new file mode 100755
index 00000000000..267622b8948
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/impl/StrategyTemplateImpl.java
@@ -0,0 +1,310 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.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.MinimalEObjectImpl;
+import org.eclipse.papyrus.propertylifecycle.PropertylifecyclePackage;
+import org.eclipse.papyrus.propertylifecycle.StrategyTemplate;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Strategy Template</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyTemplateImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyTemplateImpl#getDecription <em>Decription</em>}</li>
+ * <li>{@link org.eclipse.papyrus.propertylifecycle.impl.StrategyTemplateImpl#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class StrategyTemplateImpl extends MinimalEObjectImpl.Container implements StrategyTemplate {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDecription() <em>Decription</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDecription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DECRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDecription() <em>Decription</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDecription()
+ * @generated
+ * @ordered
+ */
+ protected String decription = DECRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StrategyTemplateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertylifecyclePackage.Literals.STRATEGY_TEMPLATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.STRATEGY_TEMPLATE__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDecription() {
+ return decription;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDecription(String newDecription) {
+ String oldDecription = decription;
+ decription = newDecription;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.STRATEGY_TEMPLATE__DECRIPTION, oldDecription, decription));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertylifecyclePackage.STRATEGY_TEMPLATE__ID, oldId, id));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__NAME:
+ return getName();
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__DECRIPTION:
+ return getDecription();
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__ID:
+ return getId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__NAME:
+ setName((String) newValue);
+ return;
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__DECRIPTION:
+ setDecription((String) newValue);
+ return;
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__ID:
+ setId((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__DECRIPTION:
+ setDecription(DECRIPTION_EDEFAULT);
+ return;
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__DECRIPTION:
+ return DECRIPTION_EDEFAULT == null ? decription != null : !DECRIPTION_EDEFAULT.equals(decription);
+ case PropertylifecyclePackage.STRATEGY_TEMPLATE__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", decription: "); //$NON-NLS-1$
+ result.append(decription);
+ result.append(", id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} // StrategyTemplateImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleAdapterFactory.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleAdapterFactory.java
new file mode 100755
index 00000000000..9666a6ca629
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleAdapterFactory.java
@@ -0,0 +1,318 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.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.papyrus.propertylifecycle.*;
+
+/**
+ * <!-- 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.propertylifecycle.PropertylifecyclePackage
+ * @generated
+ */
+public class PropertylifecycleAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static PropertylifecyclePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PropertylifecycleAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = PropertylifecyclePackage.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 PropertylifecycleSwitch<Adapter> modelSwitch = new PropertylifecycleSwitch<Adapter>() {
+ @Override
+ public Adapter caseStrategyTemplate(StrategyTemplate object) {
+ return createStrategyTemplateAdapter();
+ }
+
+ @Override
+ public Adapter caseStrategySet(StrategySet object) {
+ return createStrategySetAdapter();
+ }
+
+ @Override
+ public Adapter caseStrategyElement(StrategyElement object) {
+ return createStrategyElementAdapter();
+ }
+
+ @Override
+ public Adapter caseElementTemplate(ElementTemplate object) {
+ return createElementTemplateAdapter();
+ }
+
+ @Override
+ public Adapter caseElementContainer(ElementContainer object) {
+ return createElementContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseElementProperty(ElementProperty object) {
+ return createElementPropertyAdapter();
+ }
+
+ @Override
+ public Adapter caseAbstractTrigger(AbstractTrigger object) {
+ return createAbstractTriggerAdapter();
+ }
+
+ @Override
+ public Adapter caseAbstractValueProcessor(AbstractValueProcessor object) {
+ return createAbstractValueProcessorAdapter();
+ }
+
+ @Override
+ public Adapter caseJavaProcessor(JavaProcessor object) {
+ return createJavaProcessorAdapter();
+ }
+
+ @Override
+ public Adapter caseBasicTrigger(BasicTrigger object) {
+ return createBasicTriggerAdapter();
+ }
+
+ @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.propertylifecycle.StrategyTemplate <em>Strategy Template</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.propertylifecycle.StrategyTemplate
+ * @generated
+ */
+ public Adapter createStrategyTemplateAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.propertylifecycle.StrategySet <em>Strategy Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategySet
+ * @generated
+ */
+ public Adapter createStrategySetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.propertylifecycle.StrategyElement <em>Strategy Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.propertylifecycle.StrategyElement
+ * @generated
+ */
+ public Adapter createStrategyElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.propertylifecycle.ElementTemplate <em>Element Template</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.propertylifecycle.ElementTemplate
+ * @generated
+ */
+ public Adapter createElementTemplateAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.propertylifecycle.ElementContainer <em>Element Container</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.propertylifecycle.ElementContainer
+ * @generated
+ */
+ public Adapter createElementContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.propertylifecycle.ElementProperty <em>Element Property</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.propertylifecycle.ElementProperty
+ * @generated
+ */
+ public Adapter createElementPropertyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.propertylifecycle.AbstractTrigger <em>Abstract Trigger</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.propertylifecycle.AbstractTrigger
+ * @generated
+ */
+ public Adapter createAbstractTriggerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.propertylifecycle.AbstractValueProcessor <em>Abstract Value Processor</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.propertylifecycle.AbstractValueProcessor
+ * @generated
+ */
+ public Adapter createAbstractValueProcessorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.propertylifecycle.JavaProcessor <em>Java Processor</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.propertylifecycle.JavaProcessor
+ * @generated
+ */
+ public Adapter createJavaProcessorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.propertylifecycle.BasicTrigger <em>Basic Trigger</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.propertylifecycle.BasicTrigger
+ * @generated
+ */
+ public Adapter createBasicTriggerAdapter() {
+ 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;
+ }
+
+} // PropertylifecycleAdapterFactory
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleResourceFactoryImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleResourceFactoryImpl.java
new file mode 100755
index 00000000000..be2b87b606e
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleResourceFactoryImpl.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.util.PropertylifecycleResourceImpl
+ * @generated
+ */
+public class PropertylifecycleResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PropertylifecycleResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ Resource result = new PropertylifecycleResourceImpl(uri);
+ return result;
+ }
+
+} // PropertylifecycleResourceFactoryImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleResourceImpl.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleResourceImpl.java
new file mode 100755
index 00000000000..e617600629b
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleResourceImpl.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.propertylifecycle.util.PropertylifecycleResourceFactoryImpl
+ * @generated
+ */
+public class PropertylifecycleResourceImpl extends XMIResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param uri
+ * the URI of the new resource.
+ * @generated
+ */
+ public PropertylifecycleResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // PropertylifecycleResourceImpl
diff --git a/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleSwitch.java b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleSwitch.java
new file mode 100755
index 00000000000..0937f20e5d4
--- /dev/null
+++ b/extraplugins/propertylifecycle/org.eclipse.papyrus.propertylifecycle.model/src-gen/org/eclipse/papyrus/propertylifecycle/util/PropertylifecycleSwitch.java
@@ -0,0 +1,375 @@
+/**
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.propertylifecycle.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.propertylifecycle.*;
+
+/**
+ * <!-- 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.propertylifecycle.PropertylifecyclePackage
+ * @generated
+ */
+public class PropertylifecycleSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static PropertylifecyclePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PropertylifecycleSwitch() {
+ if (modelPackage == null) {
+ modelPackage = PropertylifecyclePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param ePackage
+ * the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * 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 PropertylifecyclePackage.STRATEGY_TEMPLATE: {
+ StrategyTemplate strategyTemplate = (StrategyTemplate) theEObject;
+ T result = caseStrategyTemplate(strategyTemplate);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PropertylifecyclePackage.STRATEGY_SET: {
+ StrategySet strategySet = (StrategySet) theEObject;
+ T result = caseStrategySet(strategySet);
+ if (result == null) {
+ result = caseStrategyTemplate(strategySet);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PropertylifecyclePackage.STRATEGY_ELEMENT: {
+ StrategyElement strategyElement = (StrategyElement) theEObject;
+ T result = caseStrategyElement(strategyElement);
+ if (result == null) {
+ result = caseElementTemplate(strategyElement);
+ }
+ if (result == null) {
+ result = caseStrategyTemplate(strategyElement);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PropertylifecyclePackage.ELEMENT_TEMPLATE: {
+ ElementTemplate elementTemplate = (ElementTemplate) theEObject;
+ T result = caseElementTemplate(elementTemplate);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PropertylifecyclePackage.ELEMENT_CONTAINER: {
+ ElementContainer elementContainer = (ElementContainer) theEObject;
+ T result = caseElementContainer(elementContainer);
+ if (result == null) {
+ result = caseElementTemplate(elementContainer);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PropertylifecyclePackage.ELEMENT_PROPERTY: {
+ ElementProperty elementProperty = (ElementProperty) theEObject;
+ T result = caseElementProperty(elementProperty);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PropertylifecyclePackage.ABSTRACT_TRIGGER: {
+ AbstractTrigger abstractTrigger = (AbstractTrigger) theEObject;
+ T result = caseAbstractTrigger(abstractTrigger);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PropertylifecyclePackage.ABSTRACT_VALUE_PROCESSOR: {
+ AbstractValueProcessor abstractValueProcessor = (AbstractValueProcessor) theEObject;
+ T result = caseAbstractValueProcessor(abstractValueProcessor);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PropertylifecyclePackage.JAVA_PROCESSOR: {
+ JavaProcessor javaProcessor = (JavaProcessor) theEObject;
+ T result = caseJavaProcessor(javaProcessor);
+ if (result == null) {
+ result = caseAbstractValueProcessor(javaProcessor);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PropertylifecyclePackage.BASIC_TRIGGER: {
+ BasicTrigger basicTrigger = (BasicTrigger) theEObject;
+ T result = caseBasicTrigger(basicTrigger);
+ if (result == null) {
+ result = caseAbstractTrigger(basicTrigger);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Strategy Template</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>Strategy Template</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStrategyTemplate(StrategyTemplate object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Strategy Set</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Strategy Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStrategySet(StrategySet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Strategy Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Strategy Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStrategyElement(StrategyElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element Template</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>Element Template</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementTemplate(ElementTemplate object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element Container</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>Element Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementContainer(ElementContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element Property</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>Element Property</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementProperty(ElementProperty object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Trigger</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Trigger</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractTrigger(AbstractTrigger object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Value Processor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Value Processor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractValueProcessor(AbstractValueProcessor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Java Processor</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>Java Processor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseJavaProcessor(JavaProcessor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Basic Trigger</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>Basic Trigger</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBasicTrigger(BasicTrigger 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;
+ }
+
+} // PropertylifecycleSwitch

Back to the top