Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf')
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/CustomFiller.java53
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/Menu.java80
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuAction.java54
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuContainer.java45
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuGroup.java111
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuItem.java54
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuPosition.java212
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuRoot.java72
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildConfiguration.java90
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildFactory.java100
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildPackage.java942
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/Separator.java21
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/CustomFillerImpl.java163
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuActionImpl.java158
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuContainerImpl.java151
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuGroupImpl.java272
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuImpl.java304
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuItemImpl.java164
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuRootImpl.java363
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildConfigurationImpl.java259
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildFactoryImpl.java222
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildPackageImpl.java553
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/SeparatorImpl.java42
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/CreateIn.java212
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/CustomPolicy.java53
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/FilterPolicy.java21
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/Layout.java239
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NcpolicyFactory.java82
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NcpolicyPackage.java799
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewChildPolicy.java90
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewChildPolicySet.java72
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewEMFChildMenu.java108
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/ReplacePolicy.java45
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/CustomPolicyImpl.java163
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/FilterPolicyImpl.java42
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NcpolicyFactoryImpl.java223
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NcpolicyPackageImpl.java459
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewChildPolicyImpl.java240
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewChildPolicySetImpl.java221
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewEMFChildMenuImpl.java279
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/ReplacePolicyImpl.java151
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyAdapterFactory.java294
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyResourceFactoryImpl.java53
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyResourceImpl.java31
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicySwitch.java295
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyXMLProcessor.java51
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildAdapterFactory.java293
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildResourceFactoryImpl.java53
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildResourceImpl.java31
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildSwitch.java313
-rw-r--r--sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildXMLProcessor.java51
51 files changed, 9449 insertions, 0 deletions
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/CustomFiller.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/CustomFiller.java
new file mode 100644
index 00000000000..8b128b57ac5
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/CustomFiller.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Custom Filler</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.CustomFiller#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getCustomFiller()
+ * @model
+ * @generated
+ */
+public interface CustomFiller extends MenuItem {
+ /**
+ * 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.infra.emf.newchild.NewchildPackage#getCustomFiller_ClassName()
+ * @model required="true"
+ * @generated
+ */
+ String getClassName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.CustomFiller#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);
+
+} // CustomFiller
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/Menu.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/Menu.java
new file mode 100644
index 00000000000..bf32157b99a
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/Menu.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Menu</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.Menu#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.Menu#getIcon <em>Icon</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenu()
+ * @model
+ * @generated
+ */
+public interface Menu extends MenuContainer, MenuItem {
+ /**
+ * 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.infra.emf.newchild.NewchildPackage#getMenu_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.Menu#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>Icon</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Icon</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Icon</em>' attribute.
+ * @see #setIcon(String)
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenu_Icon()
+ * @model
+ * @generated
+ */
+ String getIcon();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.Menu#getIcon <em>Icon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Icon</em>' attribute.
+ * @see #getIcon()
+ * @generated
+ */
+ void setIcon(String value);
+
+} // Menu
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuAction.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuAction.java
new file mode 100644
index 00000000000..60bc05ea88d
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuAction.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Menu Action</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.MenuAction#getElementType <em>Element Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuAction()
+ * @model
+ * @generated
+ */
+public interface MenuAction extends MenuItem {
+ /**
+ * Returns the value of the '<em><b>Element Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element Type</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element Type</em>' reference.
+ * @see #setElementType(ExtendedElementTypeConfiguration)
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuAction_ElementType()
+ * @model required="true"
+ * @generated
+ */
+ ExtendedElementTypeConfiguration getElementType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.MenuAction#getElementType <em>Element Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element Type</em>' reference.
+ * @see #getElementType()
+ * @generated
+ */
+ void setElementType(ExtendedElementTypeConfiguration value);
+
+} // MenuAction
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuContainer.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuContainer.java
new file mode 100644
index 00000000000..7426628457b
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuContainer.java
@@ -0,0 +1,45 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Menu Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.MenuContainer#getSubmenus <em>Submenus</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuContainer()
+ * @model abstract="true"
+ * @generated
+ */
+public interface MenuContainer extends EObject {
+ /**
+ * Returns the value of the '<em><b>Submenus</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.emf.newchild.MenuItem}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Submenus</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>Submenus</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuContainer_Submenus()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MenuItem> getSubmenus();
+
+} // MenuContainer
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuGroup.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuGroup.java
new file mode 100644
index 00000000000..6399e0cc69f
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuGroup.java
@@ -0,0 +1,111 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Menu Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getBefore <em>Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getAfter <em>After</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getAbsolutePosition <em>Absolute Position</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuGroup()
+ * @model
+ * @generated
+ */
+public interface MenuGroup extends MenuContainer {
+ /**
+ * Returns the value of the '<em><b>Before</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Before</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Before</em>' attribute.
+ * @see #setBefore(String)
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuGroup_Before()
+ * @model
+ * @generated
+ */
+ String getBefore();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getBefore <em>Before</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Before</em>' attribute.
+ * @see #getBefore()
+ * @generated
+ */
+ void setBefore(String value);
+
+ /**
+ * Returns the value of the '<em><b>After</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>After</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>After</em>' attribute.
+ * @see #setAfter(String)
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuGroup_After()
+ * @model
+ * @generated
+ */
+ String getAfter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getAfter <em>After</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>After</em>' attribute.
+ * @see #getAfter()
+ * @generated
+ */
+ void setAfter(String value);
+
+ /**
+ * Returns the value of the '<em><b>Absolute Position</b></em>' attribute.
+ * The default value is <code>"top"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.infra.emf.newchild.MenuPosition}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Absolute Position</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Absolute Position</em>' attribute.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuPosition
+ * @see #setAbsolutePosition(MenuPosition)
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuGroup_AbsolutePosition()
+ * @model default="top"
+ * @generated
+ */
+ MenuPosition getAbsolutePosition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getAbsolutePosition <em>Absolute Position</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Absolute Position</em>' attribute.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuPosition
+ * @see #getAbsolutePosition()
+ * @generated
+ */
+ void setAbsolutePosition(MenuPosition value);
+
+} // MenuGroup
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuItem.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuItem.java
new file mode 100644
index 00000000000..db237989dea
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuItem.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Menu Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.MenuItem#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuItem()
+ * @model abstract="true"
+ * @generated
+ */
+public interface MenuItem extends EObject {
+ /**
+ * 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.infra.emf.newchild.NewchildPackage#getMenuItem_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.MenuItem#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);
+
+} // MenuItem
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuPosition.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuPosition.java
new file mode 100644
index 00000000000..9c91f068f05
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuPosition.java
@@ -0,0 +1,212 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Menu Position</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuPosition()
+ * @model
+ * @generated
+ */
+public enum MenuPosition implements Enumerator {
+ /**
+ * The '<em><b>Top</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TOP_VALUE
+ * @generated
+ * @ordered
+ */
+ TOP(0, "top", "top"),
+
+ /**
+ * The '<em><b>Bottom</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BOTTOM_VALUE
+ * @generated
+ * @ordered
+ */
+ BOTTOM(1, "bottom", "bottom");
+
+ /**
+ * The '<em><b>Top</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Top</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TOP
+ * @model name="top"
+ * @generated
+ * @ordered
+ */
+ public static final int TOP_VALUE = 0;
+
+ /**
+ * The '<em><b>Bottom</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Bottom</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BOTTOM
+ * @model name="bottom"
+ * @generated
+ * @ordered
+ */
+ public static final int BOTTOM_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Menu Position</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final MenuPosition[] VALUES_ARRAY =
+ new MenuPosition[] {
+ TOP,
+ BOTTOM,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Menu Position</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<MenuPosition> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Menu Position</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static MenuPosition get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ MenuPosition result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Menu Position</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static MenuPosition getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ MenuPosition result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Menu Position</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static MenuPosition get(int value) {
+ switch (value) {
+ case TOP_VALUE: return TOP;
+ case BOTTOM_VALUE: return BOTTOM;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private MenuPosition(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //MenuPosition
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuRoot.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuRoot.java
new file mode 100644
index 00000000000..d21d999481b
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/MenuRoot.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.infra.constraints.DisplayUnit;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Menu Root</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.MenuRoot#getGroups <em>Groups</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.MenuRoot#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuRoot()
+ * @model
+ * @generated
+ */
+public interface MenuRoot extends MenuContainer, DisplayUnit {
+ /**
+ * Returns the value of the '<em><b>Groups</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Groups</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>Groups</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getMenuRoot_Groups()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MenuGroup> getGroups();
+
+ /**
+ * 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.infra.emf.newchild.NewchildPackage#getMenuRoot_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.MenuRoot#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);
+
+} // MenuRoot
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildConfiguration.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildConfiguration.java
new file mode 100644
index 00000000000..1edc8223792
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildConfiguration.java
@@ -0,0 +1,90 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration#getRoots <em>Roots</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration#getNewChildPolicies <em>New Child Policies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getNewchildConfiguration()
+ * @model
+ * @generated
+ */
+public interface NewchildConfiguration extends EObject {
+ /**
+ * Returns the value of the '<em><b>Roots</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.emf.newchild.MenuRoot}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Roots</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>Roots</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getNewchildConfiguration_Roots()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MenuRoot> getRoots();
+
+ /**
+ * 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.infra.emf.newchild.NewchildPackage#getNewchildConfiguration_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration#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>New Child Policies</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>New Child Policies</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>New Child Policies</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getNewchildConfiguration_NewChildPolicies()
+ * @model containment="true"
+ * @generated
+ */
+ EList<NewChildPolicySet> getNewChildPolicies();
+
+} // NewchildConfiguration
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildFactory.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildFactory.java
new file mode 100644
index 00000000000..0cd266ee3f3
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildFactory.java
@@ -0,0 +1,100 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage
+ * @generated
+ */
+public interface NewchildFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ NewchildFactory eINSTANCE = org.eclipse.papyrus.infra.emf.newchild.impl.NewchildFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Configuration</em>'.
+ * @generated
+ */
+ NewchildConfiguration createNewchildConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Menu Root</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Menu Root</em>'.
+ * @generated
+ */
+ MenuRoot createMenuRoot();
+
+ /**
+ * Returns a new object of class '<em>Menu</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Menu</em>'.
+ * @generated
+ */
+ Menu createMenu();
+
+ /**
+ * Returns a new object of class '<em>Menu Action</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Menu Action</em>'.
+ * @generated
+ */
+ MenuAction createMenuAction();
+
+ /**
+ * Returns a new object of class '<em>Separator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Separator</em>'.
+ * @generated
+ */
+ Separator createSeparator();
+
+ /**
+ * Returns a new object of class '<em>Menu Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Menu Group</em>'.
+ * @generated
+ */
+ MenuGroup createMenuGroup();
+
+ /**
+ * Returns a new object of class '<em>Custom Filler</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Custom Filler</em>'.
+ * @generated
+ */
+ CustomFiller createCustomFiller();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ NewchildPackage getNewchildPackage();
+
+} //NewchildFactory
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildPackage.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildPackage.java
new file mode 100644
index 00000000000..24bfbf1cc79
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/NewchildPackage.java
@@ -0,0 +1,942 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface NewchildPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "newchild";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/newchild";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "newchild";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ NewchildPackage eINSTANCE = org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.NewchildConfigurationImpl <em>Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildConfigurationImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getNewchildConfiguration()
+ * @generated
+ */
+ int NEWCHILD_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Roots</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEWCHILD_CONFIGURATION__ROOTS = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEWCHILD_CONFIGURATION__NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>New Child Policies</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEWCHILD_CONFIGURATION__NEW_CHILD_POLICIES = 2;
+
+ /**
+ * The number of structural features of the '<em>Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEWCHILD_CONFIGURATION_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuContainerImpl <em>Menu Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuContainerImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuContainer()
+ * @generated
+ */
+ int MENU_CONTAINER = 3;
+
+ /**
+ * The feature id for the '<em><b>Submenus</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_CONTAINER__SUBMENUS = 0;
+
+ /**
+ * The number of structural features of the '<em>Menu Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuRootImpl <em>Menu Root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuRootImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuRoot()
+ * @generated
+ */
+ int MENU_ROOT = 1;
+
+ /**
+ * The feature id for the '<em><b>Submenus</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ROOT__SUBMENUS = MENU_CONTAINER__SUBMENUS;
+
+ /**
+ * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ROOT__CONSTRAINTS = MENU_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Element Multiplicity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ROOT__ELEMENT_MULTIPLICITY = MENU_CONTAINER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Groups</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ROOT__GROUPS = MENU_CONTAINER_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ROOT__NAME = MENU_CONTAINER_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Menu Root</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ROOT_FEATURE_COUNT = MENU_CONTAINER_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuItemImpl <em>Menu Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuItemImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuItem()
+ * @generated
+ */
+ int MENU_ITEM = 2;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ITEM__ID = 0;
+
+ /**
+ * The number of structural features of the '<em>Menu Item</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ITEM_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuImpl <em>Menu</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenu()
+ * @generated
+ */
+ int MENU = 4;
+
+ /**
+ * The feature id for the '<em><b>Submenus</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU__SUBMENUS = MENU_CONTAINER__SUBMENUS;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU__ID = MENU_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU__NAME = MENU_CONTAINER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU__ICON = MENU_CONTAINER_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Menu</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_FEATURE_COUNT = MENU_CONTAINER_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuActionImpl <em>Menu Action</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuActionImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuAction()
+ * @generated
+ */
+ int MENU_ACTION = 5;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ACTION__ID = MENU_ITEM__ID;
+
+ /**
+ * The feature id for the '<em><b>Element Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ACTION__ELEMENT_TYPE = MENU_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Menu Action</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ACTION_FEATURE_COUNT = MENU_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.SeparatorImpl <em>Separator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.SeparatorImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getSeparator()
+ * @generated
+ */
+ int SEPARATOR = 6;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEPARATOR__ID = MENU_ITEM__ID;
+
+ /**
+ * The number of structural features of the '<em>Separator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEPARATOR_FEATURE_COUNT = MENU_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuGroupImpl <em>Menu Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuGroupImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuGroup()
+ * @generated
+ */
+ int MENU_GROUP = 7;
+
+ /**
+ * The feature id for the '<em><b>Submenus</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_GROUP__SUBMENUS = MENU_CONTAINER__SUBMENUS;
+
+ /**
+ * The feature id for the '<em><b>Before</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_GROUP__BEFORE = MENU_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>After</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_GROUP__AFTER = MENU_CONTAINER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Absolute Position</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_GROUP__ABSOLUTE_POSITION = MENU_CONTAINER_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Menu Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_GROUP_FEATURE_COUNT = MENU_CONTAINER_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.CustomFillerImpl <em>Custom Filler</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.CustomFillerImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getCustomFiller()
+ * @generated
+ */
+ int CUSTOM_FILLER = 8;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_FILLER__ID = MENU_ITEM__ID;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_FILLER__CLASS_NAME = MENU_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Custom Filler</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_FILLER_FEATURE_COUNT = MENU_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.MenuPosition <em>Menu Position</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuPosition
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuPosition()
+ * @generated
+ */
+ int MENU_POSITION = 9;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration
+ * @generated
+ */
+ EClass getNewchildConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration#getRoots <em>Roots</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Roots</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration#getRoots()
+ * @see #getNewchildConfiguration()
+ * @generated
+ */
+ EReference getNewchildConfiguration_Roots();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration#getName()
+ * @see #getNewchildConfiguration()
+ * @generated
+ */
+ EAttribute getNewchildConfiguration_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration#getNewChildPolicies <em>New Child Policies</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>New Child Policies</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration#getNewChildPolicies()
+ * @see #getNewchildConfiguration()
+ * @generated
+ */
+ EReference getNewchildConfiguration_NewChildPolicies();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuRoot <em>Menu Root</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Menu Root</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuRoot
+ * @generated
+ */
+ EClass getMenuRoot();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.emf.newchild.MenuRoot#getGroups <em>Groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Groups</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuRoot#getGroups()
+ * @see #getMenuRoot()
+ * @generated
+ */
+ EReference getMenuRoot_Groups();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.MenuRoot#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuRoot#getName()
+ * @see #getMenuRoot()
+ * @generated
+ */
+ EAttribute getMenuRoot_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuItem <em>Menu Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Menu Item</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuItem
+ * @generated
+ */
+ EClass getMenuItem();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.MenuItem#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuItem#getId()
+ * @see #getMenuItem()
+ * @generated
+ */
+ EAttribute getMenuItem_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuContainer <em>Menu Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Menu Container</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuContainer
+ * @generated
+ */
+ EClass getMenuContainer();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.emf.newchild.MenuContainer#getSubmenus <em>Submenus</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Submenus</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuContainer#getSubmenus()
+ * @see #getMenuContainer()
+ * @generated
+ */
+ EReference getMenuContainer_Submenus();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.Menu <em>Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Menu</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.Menu
+ * @generated
+ */
+ EClass getMenu();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.Menu#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.Menu#getName()
+ * @see #getMenu()
+ * @generated
+ */
+ EAttribute getMenu_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.Menu#getIcon <em>Icon</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Icon</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.Menu#getIcon()
+ * @see #getMenu()
+ * @generated
+ */
+ EAttribute getMenu_Icon();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuAction <em>Menu Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Menu Action</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuAction
+ * @generated
+ */
+ EClass getMenuAction();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.infra.emf.newchild.MenuAction#getElementType <em>Element Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Element Type</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuAction#getElementType()
+ * @see #getMenuAction()
+ * @generated
+ */
+ EReference getMenuAction_ElementType();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.Separator <em>Separator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Separator</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.Separator
+ * @generated
+ */
+ EClass getSeparator();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup <em>Menu Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Menu Group</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuGroup
+ * @generated
+ */
+ EClass getMenuGroup();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getBefore <em>Before</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Before</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getBefore()
+ * @see #getMenuGroup()
+ * @generated
+ */
+ EAttribute getMenuGroup_Before();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getAfter <em>After</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>After</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getAfter()
+ * @see #getMenuGroup()
+ * @generated
+ */
+ EAttribute getMenuGroup_After();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getAbsolutePosition <em>Absolute Position</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Absolute Position</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuGroup#getAbsolutePosition()
+ * @see #getMenuGroup()
+ * @generated
+ */
+ EAttribute getMenuGroup_AbsolutePosition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.CustomFiller <em>Custom Filler</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Custom Filler</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.CustomFiller
+ * @generated
+ */
+ EClass getCustomFiller();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.CustomFiller#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.infra.emf.newchild.CustomFiller#getClassName()
+ * @see #getCustomFiller()
+ * @generated
+ */
+ EAttribute getCustomFiller_ClassName();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.infra.emf.newchild.MenuPosition <em>Menu Position</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Menu Position</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuPosition
+ * @generated
+ */
+ EEnum getMenuPosition();
+
+ /**
+ * 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
+ */
+ NewchildFactory getNewchildFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.NewchildConfigurationImpl <em>Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildConfigurationImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getNewchildConfiguration()
+ * @generated
+ */
+ EClass NEWCHILD_CONFIGURATION = eINSTANCE.getNewchildConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Roots</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NEWCHILD_CONFIGURATION__ROOTS = eINSTANCE.getNewchildConfiguration_Roots();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEWCHILD_CONFIGURATION__NAME = eINSTANCE.getNewchildConfiguration_Name();
+
+ /**
+ * The meta object literal for the '<em><b>New Child Policies</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NEWCHILD_CONFIGURATION__NEW_CHILD_POLICIES = eINSTANCE.getNewchildConfiguration_NewChildPolicies();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuRootImpl <em>Menu Root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuRootImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuRoot()
+ * @generated
+ */
+ EClass MENU_ROOT = eINSTANCE.getMenuRoot();
+
+ /**
+ * The meta object literal for the '<em><b>Groups</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MENU_ROOT__GROUPS = eINSTANCE.getMenuRoot_Groups();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MENU_ROOT__NAME = eINSTANCE.getMenuRoot_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuItemImpl <em>Menu Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuItemImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuItem()
+ * @generated
+ */
+ EClass MENU_ITEM = eINSTANCE.getMenuItem();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MENU_ITEM__ID = eINSTANCE.getMenuItem_Id();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuContainerImpl <em>Menu Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuContainerImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuContainer()
+ * @generated
+ */
+ EClass MENU_CONTAINER = eINSTANCE.getMenuContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Submenus</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MENU_CONTAINER__SUBMENUS = eINSTANCE.getMenuContainer_Submenus();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuImpl <em>Menu</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenu()
+ * @generated
+ */
+ EClass MENU = eINSTANCE.getMenu();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MENU__NAME = eINSTANCE.getMenu_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Icon</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MENU__ICON = eINSTANCE.getMenu_Icon();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuActionImpl <em>Menu Action</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuActionImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuAction()
+ * @generated
+ */
+ EClass MENU_ACTION = eINSTANCE.getMenuAction();
+
+ /**
+ * The meta object literal for the '<em><b>Element Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MENU_ACTION__ELEMENT_TYPE = eINSTANCE.getMenuAction_ElementType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.SeparatorImpl <em>Separator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.SeparatorImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getSeparator()
+ * @generated
+ */
+ EClass SEPARATOR = eINSTANCE.getSeparator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuGroupImpl <em>Menu Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.MenuGroupImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuGroup()
+ * @generated
+ */
+ EClass MENU_GROUP = eINSTANCE.getMenuGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Before</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MENU_GROUP__BEFORE = eINSTANCE.getMenuGroup_Before();
+
+ /**
+ * The meta object literal for the '<em><b>After</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MENU_GROUP__AFTER = eINSTANCE.getMenuGroup_After();
+
+ /**
+ * The meta object literal for the '<em><b>Absolute Position</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MENU_GROUP__ABSOLUTE_POSITION = eINSTANCE.getMenuGroup_AbsolutePosition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.impl.CustomFillerImpl <em>Custom Filler</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.CustomFillerImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getCustomFiller()
+ * @generated
+ */
+ EClass CUSTOM_FILLER = eINSTANCE.getCustomFiller();
+
+ /**
+ * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CUSTOM_FILLER__CLASS_NAME = eINSTANCE.getCustomFiller_ClassName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.MenuPosition <em>Menu Position</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuPosition
+ * @see org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl#getMenuPosition()
+ * @generated
+ */
+ EEnum MENU_POSITION = eINSTANCE.getMenuPosition();
+
+ }
+
+} //NewchildPackage
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/Separator.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/Separator.java
new file mode 100644
index 00000000000..3f47ddf1dcb
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/Separator.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Separator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#getSeparator()
+ * @model
+ * @generated
+ */
+public interface Separator extends MenuItem {
+} // Separator
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/CustomFillerImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/CustomFillerImpl.java
new file mode 100644
index 00000000000..8cfc28c13e9
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/CustomFillerImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.infra.emf.newchild.CustomFiller;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Custom Filler</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.CustomFillerImpl#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CustomFillerImpl extends MenuItemImpl implements CustomFiller {
+ /**
+ * 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 CustomFillerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NewchildPackage.Literals.CUSTOM_FILLER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getClassName() {
+ return className;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassName(String newClassName) {
+ String oldClassName = className;
+ className = newClassName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.CUSTOM_FILLER__CLASS_NAME, oldClassName, className));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NewchildPackage.CUSTOM_FILLER__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 NewchildPackage.CUSTOM_FILLER__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 NewchildPackage.CUSTOM_FILLER__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 NewchildPackage.CUSTOM_FILLER__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: ");
+ result.append(className);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CustomFillerImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuActionImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuActionImpl.java
new file mode 100644
index 00000000000..a203aee2996
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuActionImpl.java
@@ -0,0 +1,158 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.infra.emf.newchild.MenuAction;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedElementTypeConfiguration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Menu Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuActionImpl#getElementType <em>Element Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MenuActionImpl extends MenuItemImpl implements MenuAction {
+ /**
+ * The cached value of the '{@link #getElementType() <em>Element Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementType()
+ * @generated
+ * @ordered
+ */
+ protected ExtendedElementTypeConfiguration elementType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MenuActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NewchildPackage.Literals.MENU_ACTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedElementTypeConfiguration getElementType() {
+ if (elementType != null && elementType.eIsProxy()) {
+ InternalEObject oldElementType = (InternalEObject)elementType;
+ elementType = (ExtendedElementTypeConfiguration)eResolveProxy(oldElementType);
+ if (elementType != oldElementType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, NewchildPackage.MENU_ACTION__ELEMENT_TYPE, oldElementType, elementType));
+ }
+ }
+ return elementType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendedElementTypeConfiguration basicGetElementType() {
+ return elementType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElementType(ExtendedElementTypeConfiguration newElementType) {
+ ExtendedElementTypeConfiguration oldElementType = elementType;
+ elementType = newElementType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.MENU_ACTION__ELEMENT_TYPE, oldElementType, elementType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NewchildPackage.MENU_ACTION__ELEMENT_TYPE:
+ if (resolve) return getElementType();
+ return basicGetElementType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NewchildPackage.MENU_ACTION__ELEMENT_TYPE:
+ setElementType((ExtendedElementTypeConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU_ACTION__ELEMENT_TYPE:
+ setElementType((ExtendedElementTypeConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU_ACTION__ELEMENT_TYPE:
+ return elementType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MenuActionImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuContainerImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuContainerImpl.java
new file mode 100644
index 00000000000..16d5011d66f
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuContainerImpl.java
@@ -0,0 +1,151 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.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.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.emf.newchild.MenuContainer;
+import org.eclipse.papyrus.infra.emf.newchild.MenuItem;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Menu Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuContainerImpl#getSubmenus <em>Submenus</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class MenuContainerImpl extends EObjectImpl implements MenuContainer {
+ /**
+ * The cached value of the '{@link #getSubmenus() <em>Submenus</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubmenus()
+ * @generated
+ * @ordered
+ */
+ protected EList<MenuItem> submenus;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MenuContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NewchildPackage.Literals.MENU_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MenuItem> getSubmenus() {
+ if (submenus == null) {
+ submenus = new EObjectContainmentEList<MenuItem>(MenuItem.class, this, NewchildPackage.MENU_CONTAINER__SUBMENUS);
+ }
+ return submenus;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NewchildPackage.MENU_CONTAINER__SUBMENUS:
+ return ((InternalEList<?>)getSubmenus()).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 NewchildPackage.MENU_CONTAINER__SUBMENUS:
+ return getSubmenus();
+ }
+ 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 NewchildPackage.MENU_CONTAINER__SUBMENUS:
+ getSubmenus().clear();
+ getSubmenus().addAll((Collection<? extends MenuItem>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU_CONTAINER__SUBMENUS:
+ getSubmenus().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU_CONTAINER__SUBMENUS:
+ return submenus != null && !submenus.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MenuContainerImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuGroupImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuGroupImpl.java
new file mode 100644
index 00000000000..56e2846492b
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuGroupImpl.java
@@ -0,0 +1,272 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.infra.emf.newchild.MenuGroup;
+import org.eclipse.papyrus.infra.emf.newchild.MenuPosition;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Menu Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuGroupImpl#getBefore <em>Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuGroupImpl#getAfter <em>After</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuGroupImpl#getAbsolutePosition <em>Absolute Position</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MenuGroupImpl extends MenuContainerImpl implements MenuGroup {
+ /**
+ * The default value of the '{@link #getBefore() <em>Before</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBefore()
+ * @generated
+ * @ordered
+ */
+ protected static final String BEFORE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBefore() <em>Before</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBefore()
+ * @generated
+ * @ordered
+ */
+ protected String before = BEFORE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAfter() <em>After</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final String AFTER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAfter() <em>After</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAfter()
+ * @generated
+ * @ordered
+ */
+ protected String after = AFTER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAbsolutePosition() <em>Absolute Position</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAbsolutePosition()
+ * @generated
+ * @ordered
+ */
+ protected static final MenuPosition ABSOLUTE_POSITION_EDEFAULT = MenuPosition.TOP;
+
+ /**
+ * The cached value of the '{@link #getAbsolutePosition() <em>Absolute Position</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAbsolutePosition()
+ * @generated
+ * @ordered
+ */
+ protected MenuPosition absolutePosition = ABSOLUTE_POSITION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MenuGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NewchildPackage.Literals.MENU_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBefore() {
+ return before;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBefore(String newBefore) {
+ String oldBefore = before;
+ before = newBefore;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.MENU_GROUP__BEFORE, oldBefore, before));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAfter() {
+ return after;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAfter(String newAfter) {
+ String oldAfter = after;
+ after = newAfter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.MENU_GROUP__AFTER, oldAfter, after));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MenuPosition getAbsolutePosition() {
+ return absolutePosition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAbsolutePosition(MenuPosition newAbsolutePosition) {
+ MenuPosition oldAbsolutePosition = absolutePosition;
+ absolutePosition = newAbsolutePosition == null ? ABSOLUTE_POSITION_EDEFAULT : newAbsolutePosition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.MENU_GROUP__ABSOLUTE_POSITION, oldAbsolutePosition, absolutePosition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NewchildPackage.MENU_GROUP__BEFORE:
+ return getBefore();
+ case NewchildPackage.MENU_GROUP__AFTER:
+ return getAfter();
+ case NewchildPackage.MENU_GROUP__ABSOLUTE_POSITION:
+ return getAbsolutePosition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NewchildPackage.MENU_GROUP__BEFORE:
+ setBefore((String)newValue);
+ return;
+ case NewchildPackage.MENU_GROUP__AFTER:
+ setAfter((String)newValue);
+ return;
+ case NewchildPackage.MENU_GROUP__ABSOLUTE_POSITION:
+ setAbsolutePosition((MenuPosition)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU_GROUP__BEFORE:
+ setBefore(BEFORE_EDEFAULT);
+ return;
+ case NewchildPackage.MENU_GROUP__AFTER:
+ setAfter(AFTER_EDEFAULT);
+ return;
+ case NewchildPackage.MENU_GROUP__ABSOLUTE_POSITION:
+ setAbsolutePosition(ABSOLUTE_POSITION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU_GROUP__BEFORE:
+ return BEFORE_EDEFAULT == null ? before != null : !BEFORE_EDEFAULT.equals(before);
+ case NewchildPackage.MENU_GROUP__AFTER:
+ return AFTER_EDEFAULT == null ? after != null : !AFTER_EDEFAULT.equals(after);
+ case NewchildPackage.MENU_GROUP__ABSOLUTE_POSITION:
+ return absolutePosition != ABSOLUTE_POSITION_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(" (before: ");
+ result.append(before);
+ result.append(", after: ");
+ result.append(after);
+ result.append(", absolutePosition: ");
+ result.append(absolutePosition);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MenuGroupImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuImpl.java
new file mode 100644
index 00000000000..c92ceb2e4d7
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuImpl.java
@@ -0,0 +1,304 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.infra.emf.newchild.Menu;
+import org.eclipse.papyrus.infra.emf.newchild.MenuItem;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Menu</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuImpl#getIcon <em>Icon</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MenuImpl extends MenuContainerImpl implements Menu {
+ /**
+ * 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 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 #getIcon() <em>Icon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIcon() <em>Icon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected String icon = ICON_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MenuImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NewchildPackage.Literals.MENU;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.MENU__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.MENU__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIcon() {
+ return icon;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIcon(String newIcon) {
+ String oldIcon = icon;
+ icon = newIcon;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.MENU__ICON, oldIcon, icon));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NewchildPackage.MENU__ID:
+ return getId();
+ case NewchildPackage.MENU__NAME:
+ return getName();
+ case NewchildPackage.MENU__ICON:
+ return getIcon();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NewchildPackage.MENU__ID:
+ setId((String)newValue);
+ return;
+ case NewchildPackage.MENU__NAME:
+ setName((String)newValue);
+ return;
+ case NewchildPackage.MENU__ICON:
+ setIcon((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case NewchildPackage.MENU__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NewchildPackage.MENU__ICON:
+ setIcon(ICON_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case NewchildPackage.MENU__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NewchildPackage.MENU__ICON:
+ return ICON_EDEFAULT == null ? icon != null : !ICON_EDEFAULT.equals(icon);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == MenuItem.class) {
+ switch (derivedFeatureID) {
+ case NewchildPackage.MENU__ID: return NewchildPackage.MENU_ITEM__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 == MenuItem.class) {
+ switch (baseFeatureID) {
+ case NewchildPackage.MENU_ITEM__ID: return NewchildPackage.MENU__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(" (id: ");
+ result.append(id);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", icon: ");
+ result.append(icon);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MenuImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuItemImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuItemImpl.java
new file mode 100644
index 00000000000..c081acce712
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuItemImpl.java
@@ -0,0 +1,164 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.papyrus.infra.emf.newchild.MenuItem;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Menu Item</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuItemImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class MenuItemImpl extends EObjectImpl implements MenuItem {
+ /**
+ * 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 MenuItemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NewchildPackage.Literals.MENU_ITEM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.MENU_ITEM__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NewchildPackage.MENU_ITEM__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 NewchildPackage.MENU_ITEM__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 NewchildPackage.MENU_ITEM__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU_ITEM__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(" (id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MenuItemImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuRootImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuRootImpl.java
new file mode 100644
index 00000000000..753baf9d44b
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/MenuRootImpl.java
@@ -0,0 +1,363 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.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.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.constraints.ConstraintDescriptor;
+import org.eclipse.papyrus.infra.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.infra.constraints.DisplayUnit;
+import org.eclipse.papyrus.infra.emf.newchild.MenuGroup;
+import org.eclipse.papyrus.infra.emf.newchild.MenuRoot;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Menu Root</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuRootImpl#getConstraints <em>Constraints</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuRootImpl#getElementMultiplicity <em>Element Multiplicity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuRootImpl#getGroups <em>Groups</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.MenuRootImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MenuRootImpl extends MenuContainerImpl implements MenuRoot {
+ /**
+ * The cached value of the '{@link #getConstraints() <em>Constraints</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConstraints()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConstraintDescriptor> constraints;
+
+ /**
+ * The default value of the '{@link #getElementMultiplicity() <em>Element Multiplicity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementMultiplicity()
+ * @generated
+ * @ordered
+ */
+ protected static final int ELEMENT_MULTIPLICITY_EDEFAULT = 1;
+
+ /**
+ * The cached value of the '{@link #getElementMultiplicity() <em>Element Multiplicity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementMultiplicity()
+ * @generated
+ * @ordered
+ */
+ protected int elementMultiplicity = ELEMENT_MULTIPLICITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getGroups() <em>Groups</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGroups()
+ * @generated
+ * @ordered
+ */
+ protected EList<MenuGroup> groups;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MenuRootImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NewchildPackage.Literals.MENU_ROOT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConstraintDescriptor> getConstraints() {
+ if (constraints == null) {
+ constraints = new EObjectContainmentWithInverseEList<ConstraintDescriptor>(ConstraintDescriptor.class, this, NewchildPackage.MENU_ROOT__CONSTRAINTS, ConstraintsPackage.CONSTRAINT_DESCRIPTOR__DISPLAY);
+ }
+ return constraints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getElementMultiplicity() {
+ return elementMultiplicity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElementMultiplicity(int newElementMultiplicity) {
+ int oldElementMultiplicity = elementMultiplicity;
+ elementMultiplicity = newElementMultiplicity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.MENU_ROOT__ELEMENT_MULTIPLICITY, oldElementMultiplicity, elementMultiplicity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MenuGroup> getGroups() {
+ if (groups == null) {
+ groups = new EObjectContainmentEList<MenuGroup>(MenuGroup.class, this, NewchildPackage.MENU_ROOT__GROUPS);
+ }
+ return groups;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.MENU_ROOT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NewchildPackage.MENU_ROOT__CONSTRAINTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getConstraints()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NewchildPackage.MENU_ROOT__CONSTRAINTS:
+ return ((InternalEList<?>)getConstraints()).basicRemove(otherEnd, msgs);
+ case NewchildPackage.MENU_ROOT__GROUPS:
+ return ((InternalEList<?>)getGroups()).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 NewchildPackage.MENU_ROOT__CONSTRAINTS:
+ return getConstraints();
+ case NewchildPackage.MENU_ROOT__ELEMENT_MULTIPLICITY:
+ return getElementMultiplicity();
+ case NewchildPackage.MENU_ROOT__GROUPS:
+ return getGroups();
+ case NewchildPackage.MENU_ROOT__NAME:
+ return getName();
+ }
+ 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 NewchildPackage.MENU_ROOT__CONSTRAINTS:
+ getConstraints().clear();
+ getConstraints().addAll((Collection<? extends ConstraintDescriptor>)newValue);
+ return;
+ case NewchildPackage.MENU_ROOT__ELEMENT_MULTIPLICITY:
+ setElementMultiplicity((Integer)newValue);
+ return;
+ case NewchildPackage.MENU_ROOT__GROUPS:
+ getGroups().clear();
+ getGroups().addAll((Collection<? extends MenuGroup>)newValue);
+ return;
+ case NewchildPackage.MENU_ROOT__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU_ROOT__CONSTRAINTS:
+ getConstraints().clear();
+ return;
+ case NewchildPackage.MENU_ROOT__ELEMENT_MULTIPLICITY:
+ setElementMultiplicity(ELEMENT_MULTIPLICITY_EDEFAULT);
+ return;
+ case NewchildPackage.MENU_ROOT__GROUPS:
+ getGroups().clear();
+ return;
+ case NewchildPackage.MENU_ROOT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.MENU_ROOT__CONSTRAINTS:
+ return constraints != null && !constraints.isEmpty();
+ case NewchildPackage.MENU_ROOT__ELEMENT_MULTIPLICITY:
+ return elementMultiplicity != ELEMENT_MULTIPLICITY_EDEFAULT;
+ case NewchildPackage.MENU_ROOT__GROUPS:
+ return groups != null && !groups.isEmpty();
+ case NewchildPackage.MENU_ROOT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DisplayUnit.class) {
+ switch (derivedFeatureID) {
+ case NewchildPackage.MENU_ROOT__CONSTRAINTS: return ConstraintsPackage.DISPLAY_UNIT__CONSTRAINTS;
+ case NewchildPackage.MENU_ROOT__ELEMENT_MULTIPLICITY: return ConstraintsPackage.DISPLAY_UNIT__ELEMENT_MULTIPLICITY;
+ 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 == DisplayUnit.class) {
+ switch (baseFeatureID) {
+ case ConstraintsPackage.DISPLAY_UNIT__CONSTRAINTS: return NewchildPackage.MENU_ROOT__CONSTRAINTS;
+ case ConstraintsPackage.DISPLAY_UNIT__ELEMENT_MULTIPLICITY: return NewchildPackage.MENU_ROOT__ELEMENT_MULTIPLICITY;
+ 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(" (elementMultiplicity: ");
+ result.append(elementMultiplicity);
+ result.append(", name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MenuRootImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildConfigurationImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildConfigurationImpl.java
new file mode 100644
index 00000000000..bbe4f39a59e
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildConfigurationImpl.java
@@ -0,0 +1,259 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.emf.newchild.MenuRoot;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.NewchildConfigurationImpl#getRoots <em>Roots</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.NewchildConfigurationImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.impl.NewchildConfigurationImpl#getNewChildPolicies <em>New Child Policies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NewchildConfigurationImpl extends EObjectImpl implements NewchildConfiguration {
+ /**
+ * The cached value of the '{@link #getRoots() <em>Roots</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoots()
+ * @generated
+ * @ordered
+ */
+ protected EList<MenuRoot> roots;
+
+ /**
+ * 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 cached value of the '{@link #getNewChildPolicies() <em>New Child Policies</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNewChildPolicies()
+ * @generated
+ * @ordered
+ */
+ protected EList<NewChildPolicySet> newChildPolicies;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NewchildConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NewchildPackage.Literals.NEWCHILD_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MenuRoot> getRoots() {
+ if (roots == null) {
+ roots = new EObjectContainmentEList<MenuRoot>(MenuRoot.class, this, NewchildPackage.NEWCHILD_CONFIGURATION__ROOTS);
+ }
+ return roots;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NewchildPackage.NEWCHILD_CONFIGURATION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NewChildPolicySet> getNewChildPolicies() {
+ if (newChildPolicies == null) {
+ newChildPolicies = new EObjectContainmentEList<NewChildPolicySet>(NewChildPolicySet.class, this, NewchildPackage.NEWCHILD_CONFIGURATION__NEW_CHILD_POLICIES);
+ }
+ return newChildPolicies;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NewchildPackage.NEWCHILD_CONFIGURATION__ROOTS:
+ return ((InternalEList<?>)getRoots()).basicRemove(otherEnd, msgs);
+ case NewchildPackage.NEWCHILD_CONFIGURATION__NEW_CHILD_POLICIES:
+ return ((InternalEList<?>)getNewChildPolicies()).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 NewchildPackage.NEWCHILD_CONFIGURATION__ROOTS:
+ return getRoots();
+ case NewchildPackage.NEWCHILD_CONFIGURATION__NAME:
+ return getName();
+ case NewchildPackage.NEWCHILD_CONFIGURATION__NEW_CHILD_POLICIES:
+ return getNewChildPolicies();
+ }
+ 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 NewchildPackage.NEWCHILD_CONFIGURATION__ROOTS:
+ getRoots().clear();
+ getRoots().addAll((Collection<? extends MenuRoot>)newValue);
+ return;
+ case NewchildPackage.NEWCHILD_CONFIGURATION__NAME:
+ setName((String)newValue);
+ return;
+ case NewchildPackage.NEWCHILD_CONFIGURATION__NEW_CHILD_POLICIES:
+ getNewChildPolicies().clear();
+ getNewChildPolicies().addAll((Collection<? extends NewChildPolicySet>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.NEWCHILD_CONFIGURATION__ROOTS:
+ getRoots().clear();
+ return;
+ case NewchildPackage.NEWCHILD_CONFIGURATION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NewchildPackage.NEWCHILD_CONFIGURATION__NEW_CHILD_POLICIES:
+ getNewChildPolicies().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NewchildPackage.NEWCHILD_CONFIGURATION__ROOTS:
+ return roots != null && !roots.isEmpty();
+ case NewchildPackage.NEWCHILD_CONFIGURATION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NewchildPackage.NEWCHILD_CONFIGURATION__NEW_CHILD_POLICIES:
+ return newChildPolicies != null && !newChildPolicies.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NewchildConfigurationImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildFactoryImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildFactoryImpl.java
new file mode 100644
index 00000000000..d2b1f8f6aae
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildFactoryImpl.java
@@ -0,0 +1,222 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.emf.newchild.CustomFiller;
+import org.eclipse.papyrus.infra.emf.newchild.Menu;
+import org.eclipse.papyrus.infra.emf.newchild.MenuAction;
+import org.eclipse.papyrus.infra.emf.newchild.MenuGroup;
+import org.eclipse.papyrus.infra.emf.newchild.MenuPosition;
+import org.eclipse.papyrus.infra.emf.newchild.MenuRoot;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildFactory;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+import org.eclipse.papyrus.infra.emf.newchild.Separator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NewchildFactoryImpl extends EFactoryImpl implements NewchildFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NewchildFactory init() {
+ try {
+ NewchildFactory theNewchildFactory = (NewchildFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/newchild");
+ if (theNewchildFactory != null) {
+ return theNewchildFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NewchildFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NewchildFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NewchildPackage.NEWCHILD_CONFIGURATION: return createNewchildConfiguration();
+ case NewchildPackage.MENU_ROOT: return createMenuRoot();
+ case NewchildPackage.MENU: return createMenu();
+ case NewchildPackage.MENU_ACTION: return createMenuAction();
+ case NewchildPackage.SEPARATOR: return createSeparator();
+ case NewchildPackage.MENU_GROUP: return createMenuGroup();
+ case NewchildPackage.CUSTOM_FILLER: return createCustomFiller();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case NewchildPackage.MENU_POSITION:
+ return createMenuPositionFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case NewchildPackage.MENU_POSITION:
+ return convertMenuPositionToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NewchildConfiguration createNewchildConfiguration() {
+ NewchildConfigurationImpl newchildConfiguration = new NewchildConfigurationImpl();
+ return newchildConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MenuRoot createMenuRoot() {
+ MenuRootImpl menuRoot = new MenuRootImpl();
+ return menuRoot;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Menu createMenu() {
+ MenuImpl menu = new MenuImpl();
+ return menu;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MenuAction createMenuAction() {
+ MenuActionImpl menuAction = new MenuActionImpl();
+ return menuAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Separator createSeparator() {
+ SeparatorImpl separator = new SeparatorImpl();
+ return separator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MenuGroup createMenuGroup() {
+ MenuGroupImpl menuGroup = new MenuGroupImpl();
+ return menuGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CustomFiller createCustomFiller() {
+ CustomFillerImpl customFiller = new CustomFillerImpl();
+ return customFiller;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MenuPosition createMenuPositionFromString(EDataType eDataType, String initialValue) {
+ MenuPosition result = MenuPosition.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertMenuPositionToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NewchildPackage getNewchildPackage() {
+ return (NewchildPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NewchildPackage getPackage() {
+ return NewchildPackage.eINSTANCE;
+ }
+
+} //NewchildFactoryImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildPackageImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildPackageImpl.java
new file mode 100644
index 00000000000..0591570a678
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/NewchildPackageImpl.java
@@ -0,0 +1,553 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.infra.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.infra.emf.newchild.CustomFiller;
+import org.eclipse.papyrus.infra.emf.newchild.Menu;
+import org.eclipse.papyrus.infra.emf.newchild.MenuAction;
+import org.eclipse.papyrus.infra.emf.newchild.MenuContainer;
+import org.eclipse.papyrus.infra.emf.newchild.MenuGroup;
+import org.eclipse.papyrus.infra.emf.newchild.MenuItem;
+import org.eclipse.papyrus.infra.emf.newchild.MenuPosition;
+import org.eclipse.papyrus.infra.emf.newchild.MenuRoot;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildFactory;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+import org.eclipse.papyrus.infra.emf.newchild.Separator;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.uml2.types.TypesPackage;
+
+
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NewchildPackageImpl extends EPackageImpl implements NewchildPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass newchildConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass menuRootEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass menuItemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass menuContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass menuEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass menuActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass separatorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass menuGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass customFillerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum menuPositionEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private NewchildPackageImpl() {
+ super(eNS_URI, NewchildFactory.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 NewchildPackage#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 NewchildPackage init() {
+ if (isInited) return (NewchildPackage)EPackage.Registry.INSTANCE.getEPackage(NewchildPackage.eNS_URI);
+
+ // Obtain or create and register package
+ NewchildPackageImpl theNewchildPackage = (NewchildPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof NewchildPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new NewchildPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ ConstraintsPackage.eINSTANCE.eClass();
+ ExtendedtypesPackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ NcpolicyPackageImpl theNcpolicyPackage = (NcpolicyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NcpolicyPackage.eNS_URI) instanceof NcpolicyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NcpolicyPackage.eNS_URI) : NcpolicyPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theNewchildPackage.createPackageContents();
+ theNcpolicyPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theNewchildPackage.initializePackageContents();
+ theNcpolicyPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theNewchildPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(NewchildPackage.eNS_URI, theNewchildPackage);
+ return theNewchildPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNewchildConfiguration() {
+ return newchildConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNewchildConfiguration_Roots() {
+ return (EReference)newchildConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNewchildConfiguration_Name() {
+ return (EAttribute)newchildConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNewchildConfiguration_NewChildPolicies() {
+ return (EReference)newchildConfigurationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMenuRoot() {
+ return menuRootEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMenuRoot_Groups() {
+ return (EReference)menuRootEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMenuRoot_Name() {
+ return (EAttribute)menuRootEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMenuItem() {
+ return menuItemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMenuItem_Id() {
+ return (EAttribute)menuItemEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMenuContainer() {
+ return menuContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMenuContainer_Submenus() {
+ return (EReference)menuContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMenu() {
+ return menuEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMenu_Name() {
+ return (EAttribute)menuEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMenu_Icon() {
+ return (EAttribute)menuEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMenuAction() {
+ return menuActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMenuAction_ElementType() {
+ return (EReference)menuActionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSeparator() {
+ return separatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMenuGroup() {
+ return menuGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMenuGroup_Before() {
+ return (EAttribute)menuGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMenuGroup_After() {
+ return (EAttribute)menuGroupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMenuGroup_AbsolutePosition() {
+ return (EAttribute)menuGroupEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCustomFiller() {
+ return customFillerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCustomFiller_ClassName() {
+ return (EAttribute)customFillerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getMenuPosition() {
+ return menuPositionEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NewchildFactory getNewchildFactory() {
+ return (NewchildFactory)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
+ newchildConfigurationEClass = createEClass(NEWCHILD_CONFIGURATION);
+ createEReference(newchildConfigurationEClass, NEWCHILD_CONFIGURATION__ROOTS);
+ createEAttribute(newchildConfigurationEClass, NEWCHILD_CONFIGURATION__NAME);
+ createEReference(newchildConfigurationEClass, NEWCHILD_CONFIGURATION__NEW_CHILD_POLICIES);
+
+ menuRootEClass = createEClass(MENU_ROOT);
+ createEReference(menuRootEClass, MENU_ROOT__GROUPS);
+ createEAttribute(menuRootEClass, MENU_ROOT__NAME);
+
+ menuItemEClass = createEClass(MENU_ITEM);
+ createEAttribute(menuItemEClass, MENU_ITEM__ID);
+
+ menuContainerEClass = createEClass(MENU_CONTAINER);
+ createEReference(menuContainerEClass, MENU_CONTAINER__SUBMENUS);
+
+ menuEClass = createEClass(MENU);
+ createEAttribute(menuEClass, MENU__NAME);
+ createEAttribute(menuEClass, MENU__ICON);
+
+ menuActionEClass = createEClass(MENU_ACTION);
+ createEReference(menuActionEClass, MENU_ACTION__ELEMENT_TYPE);
+
+ separatorEClass = createEClass(SEPARATOR);
+
+ menuGroupEClass = createEClass(MENU_GROUP);
+ createEAttribute(menuGroupEClass, MENU_GROUP__BEFORE);
+ createEAttribute(menuGroupEClass, MENU_GROUP__AFTER);
+ createEAttribute(menuGroupEClass, MENU_GROUP__ABSOLUTE_POSITION);
+
+ customFillerEClass = createEClass(CUSTOM_FILLER);
+ createEAttribute(customFillerEClass, CUSTOM_FILLER__CLASS_NAME);
+
+ // Create enums
+ menuPositionEEnum = createEEnum(MENU_POSITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ NcpolicyPackage theNcpolicyPackage = (NcpolicyPackage)EPackage.Registry.INSTANCE.getEPackage(NcpolicyPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ ConstraintsPackage theConstraintsPackage = (ConstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI);
+ ExtendedtypesPackage theExtendedtypesPackage = (ExtendedtypesPackage)EPackage.Registry.INSTANCE.getEPackage(ExtendedtypesPackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theNcpolicyPackage);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ menuRootEClass.getESuperTypes().add(this.getMenuContainer());
+ menuRootEClass.getESuperTypes().add(theConstraintsPackage.getDisplayUnit());
+ menuEClass.getESuperTypes().add(this.getMenuContainer());
+ menuEClass.getESuperTypes().add(this.getMenuItem());
+ menuActionEClass.getESuperTypes().add(this.getMenuItem());
+ separatorEClass.getESuperTypes().add(this.getMenuItem());
+ menuGroupEClass.getESuperTypes().add(this.getMenuContainer());
+ customFillerEClass.getESuperTypes().add(this.getMenuItem());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(newchildConfigurationEClass, NewchildConfiguration.class, "NewchildConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNewchildConfiguration_Roots(), this.getMenuRoot(), null, "roots", null, 0, -1, NewchildConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNewchildConfiguration_Name(), theEcorePackage.getEString(), "name", null, 1, 1, NewchildConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNewchildConfiguration_NewChildPolicies(), theNcpolicyPackage.getNewChildPolicySet(), null, "newChildPolicies", null, 0, -1, NewchildConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(menuRootEClass, MenuRoot.class, "MenuRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMenuRoot_Groups(), this.getMenuGroup(), null, "groups", null, 0, -1, MenuRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMenuRoot_Name(), theEcorePackage.getEString(), "name", null, 1, 1, MenuRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(menuItemEClass, MenuItem.class, "MenuItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMenuItem_Id(), theEcorePackage.getEString(), "id", null, 0, 1, MenuItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(menuContainerEClass, MenuContainer.class, "MenuContainer", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMenuContainer_Submenus(), this.getMenuItem(), null, "submenus", null, 0, -1, MenuContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(menuEClass, Menu.class, "Menu", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMenu_Name(), ecorePackage.getEString(), "name", null, 1, 1, Menu.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMenu_Icon(), theEcorePackage.getEString(), "icon", null, 0, 1, Menu.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(menuActionEClass, MenuAction.class, "MenuAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMenuAction_ElementType(), theExtendedtypesPackage.getExtendedElementTypeConfiguration(), null, "elementType", null, 1, 1, MenuAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(separatorEClass, Separator.class, "Separator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(menuGroupEClass, MenuGroup.class, "MenuGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMenuGroup_Before(), theEcorePackage.getEString(), "before", null, 0, 1, MenuGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMenuGroup_After(), theEcorePackage.getEString(), "after", null, 0, 1, MenuGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMenuGroup_AbsolutePosition(), this.getMenuPosition(), "absolutePosition", "top", 0, 1, MenuGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(customFillerEClass, CustomFiller.class, "CustomFiller", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCustomFiller_ClassName(), theEcorePackage.getEString(), "className", null, 1, 1, CustomFiller.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(menuPositionEEnum, MenuPosition.class, "MenuPosition");
+ addEEnumLiteral(menuPositionEEnum, MenuPosition.TOP);
+ addEEnumLiteral(menuPositionEEnum, MenuPosition.BOTTOM);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //NewchildPackageImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/SeparatorImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/SeparatorImpl.java
new file mode 100644
index 00000000000..12294f1c70c
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/impl/SeparatorImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+import org.eclipse.papyrus.infra.emf.newchild.Separator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Separator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SeparatorImpl extends MenuItemImpl implements Separator {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SeparatorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NewchildPackage.Literals.SEPARATOR;
+ }
+
+} //SeparatorImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/CreateIn.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/CreateIn.java
new file mode 100644
index 00000000000..068fc321c7f
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/CreateIn.java
@@ -0,0 +1,212 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Create In</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getCreateIn()
+ * @model
+ * @generated
+ */
+public enum CreateIn implements Enumerator {
+ /**
+ * The '<em><b>Self</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SELF_VALUE
+ * @generated
+ * @ordered
+ */
+ SELF(0, "self", "self"),
+
+ /**
+ * The '<em><b>Parent</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PARENT_VALUE
+ * @generated
+ * @ordered
+ */
+ PARENT(1, "parent", "parent");
+
+ /**
+ * The '<em><b>Self</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Self</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SELF
+ * @model name="self"
+ * @generated
+ * @ordered
+ */
+ public static final int SELF_VALUE = 0;
+
+ /**
+ * The '<em><b>Parent</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Parent</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PARENT
+ * @model name="parent"
+ * @generated
+ * @ordered
+ */
+ public static final int PARENT_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Create In</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final CreateIn[] VALUES_ARRAY =
+ new CreateIn[] {
+ SELF,
+ PARENT,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Create In</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<CreateIn> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Create In</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CreateIn get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ CreateIn result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Create In</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CreateIn getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ CreateIn result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Create In</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CreateIn get(int value) {
+ switch (value) {
+ case SELF_VALUE: return SELF;
+ case PARENT_VALUE: return PARENT;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private CreateIn(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //CreateIn
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/CustomPolicy.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/CustomPolicy.java
new file mode 100644
index 00000000000..dbdfef7b920
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/CustomPolicy.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Custom Policy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getCustomPolicy()
+ * @model
+ * @generated
+ */
+public interface CustomPolicy extends NewChildPolicy {
+ /**
+ * 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.infra.emf.newchild.ncpolicy.NcpolicyPackage#getCustomPolicy_ClassName()
+ * @model required="true"
+ * @generated
+ */
+ String getClassName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy#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);
+
+} // CustomPolicy
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/FilterPolicy.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/FilterPolicy.java
new file mode 100644
index 00000000000..bf83eed76cd
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/FilterPolicy.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Filter Policy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getFilterPolicy()
+ * @model
+ * @generated
+ */
+public interface FilterPolicy extends NewChildPolicy {
+} // FilterPolicy
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/Layout.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/Layout.java
new file mode 100644
index 00000000000..ae9c186bd9f
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/Layout.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Layout</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getLayout()
+ * @model
+ * @generated
+ */
+public enum Layout implements Enumerator {
+ /**
+ * The '<em><b>Hierarchical</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #HIERARCHICAL_VALUE
+ * @generated
+ * @ordered
+ */
+ HIERARCHICAL(0, "hierarchical", "hierarchical"),
+
+ /**
+ * The '<em><b>Flat</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FLAT_VALUE
+ * @generated
+ * @ordered
+ */
+ FLAT(1, "flat", "flat"),
+
+ /**
+ * The '<em><b>Auto</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #AUTO_VALUE
+ * @generated
+ * @ordered
+ */
+ AUTO(2, "auto", "auto");
+
+ /**
+ * The '<em><b>Hierarchical</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Hierarchical</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #HIERARCHICAL
+ * @model name="hierarchical"
+ * @generated
+ * @ordered
+ */
+ public static final int HIERARCHICAL_VALUE = 0;
+
+ /**
+ * The '<em><b>Flat</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Flat</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FLAT
+ * @model name="flat"
+ * @generated
+ * @ordered
+ */
+ public static final int FLAT_VALUE = 1;
+
+ /**
+ * The '<em><b>Auto</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Auto</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #AUTO
+ * @model name="auto"
+ * @generated
+ * @ordered
+ */
+ public static final int AUTO_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Layout</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final Layout[] VALUES_ARRAY =
+ new Layout[] {
+ HIERARCHICAL,
+ FLAT,
+ AUTO,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Layout</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<Layout> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Layout</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Layout get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Layout result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Layout</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Layout getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Layout result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Layout</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Layout get(int value) {
+ switch (value) {
+ case HIERARCHICAL_VALUE: return HIERARCHICAL;
+ case FLAT_VALUE: return FLAT;
+ case AUTO_VALUE: return AUTO;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private Layout(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //Layout
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NcpolicyFactory.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NcpolicyFactory.java
new file mode 100644
index 00000000000..5933299c750
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NcpolicyFactory.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage
+ * @generated
+ */
+public interface NcpolicyFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ NcpolicyFactory eINSTANCE = org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>New EMF Child Menu</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>New EMF Child Menu</em>'.
+ * @generated
+ */
+ NewEMFChildMenu createNewEMFChildMenu();
+
+ /**
+ * Returns a new object of class '<em>New Child Policy Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>New Child Policy Set</em>'.
+ * @generated
+ */
+ NewChildPolicySet createNewChildPolicySet();
+
+ /**
+ * Returns a new object of class '<em>Filter Policy</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Filter Policy</em>'.
+ * @generated
+ */
+ FilterPolicy createFilterPolicy();
+
+ /**
+ * Returns a new object of class '<em>Replace Policy</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Replace Policy</em>'.
+ * @generated
+ */
+ ReplacePolicy createReplacePolicy();
+
+ /**
+ * Returns a new object of class '<em>Custom Policy</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Custom Policy</em>'.
+ * @generated
+ */
+ CustomPolicy createCustomPolicy();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ NcpolicyPackage getNcpolicyPackage();
+
+} //NcpolicyFactory
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NcpolicyPackage.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NcpolicyPackage.java
new file mode 100644
index 00000000000..27aac1d1b5c
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NcpolicyPackage.java
@@ -0,0 +1,799 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.infra.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface NcpolicyPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "ncpolicy";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/newchild/policy";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "ncpolicy";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ NcpolicyPackage eINSTANCE = org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewEMFChildMenuImpl <em>New EMF Child Menu</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewEMFChildMenuImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getNewEMFChildMenu()
+ * @generated
+ */
+ int NEW_EMF_CHILD_MENU = 0;
+
+ /**
+ * The feature id for the '<em><b>Submenus</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_EMF_CHILD_MENU__SUBMENUS = NewchildPackage.MENU__SUBMENUS;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_EMF_CHILD_MENU__ID = NewchildPackage.MENU__ID;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_EMF_CHILD_MENU__NAME = NewchildPackage.MENU__NAME;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_EMF_CHILD_MENU__ICON = NewchildPackage.MENU__ICON;
+
+ /**
+ * The feature id for the '<em><b>Create In</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_EMF_CHILD_MENU__CREATE_IN = NewchildPackage.MENU_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_EMF_CHILD_MENU__LAYOUT = NewchildPackage.MENU_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Groups</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_EMF_CHILD_MENU__GROUPS = NewchildPackage.MENU_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>New EMF Child Menu</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_EMF_CHILD_MENU_FEATURE_COUNT = NewchildPackage.MENU_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicySetImpl <em>New Child Policy Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicySetImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getNewChildPolicySet()
+ * @generated
+ */
+ int NEW_CHILD_POLICY_SET = 1;
+
+ /**
+ * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_CHILD_POLICY_SET__CONSTRAINTS = ConstraintsPackage.DISPLAY_UNIT__CONSTRAINTS;
+
+ /**
+ * The feature id for the '<em><b>Element Multiplicity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_CHILD_POLICY_SET__ELEMENT_MULTIPLICITY = ConstraintsPackage.DISPLAY_UNIT__ELEMENT_MULTIPLICITY;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_CHILD_POLICY_SET__NAME = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Policies</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_CHILD_POLICY_SET__POLICIES = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>New Child Policy Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_CHILD_POLICY_SET_FEATURE_COUNT = ConstraintsPackage.DISPLAY_UNIT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicyImpl <em>New Child Policy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicyImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getNewChildPolicy()
+ * @generated
+ */
+ int NEW_CHILD_POLICY = 2;
+
+ /**
+ * The feature id for the '<em><b>Roles</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_CHILD_POLICY__ROLES = 0;
+
+ /**
+ * The feature id for the '<em><b>EClasses</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_CHILD_POLICY__ECLASSES = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_CHILD_POLICY__NAME = 2;
+
+ /**
+ * The number of structural features of the '<em>New Child Policy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NEW_CHILD_POLICY_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.FilterPolicyImpl <em>Filter Policy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.FilterPolicyImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getFilterPolicy()
+ * @generated
+ */
+ int FILTER_POLICY = 3;
+
+ /**
+ * The feature id for the '<em><b>Roles</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER_POLICY__ROLES = NEW_CHILD_POLICY__ROLES;
+
+ /**
+ * The feature id for the '<em><b>EClasses</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER_POLICY__ECLASSES = NEW_CHILD_POLICY__ECLASSES;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER_POLICY__NAME = NEW_CHILD_POLICY__NAME;
+
+ /**
+ * The number of structural features of the '<em>Filter Policy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER_POLICY_FEATURE_COUNT = NEW_CHILD_POLICY_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.ReplacePolicyImpl <em>Replace Policy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.ReplacePolicyImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getReplacePolicy()
+ * @generated
+ */
+ int REPLACE_POLICY = 4;
+
+ /**
+ * The feature id for the '<em><b>Roles</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPLACE_POLICY__ROLES = NEW_CHILD_POLICY__ROLES;
+
+ /**
+ * The feature id for the '<em><b>EClasses</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPLACE_POLICY__ECLASSES = NEW_CHILD_POLICY__ECLASSES;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPLACE_POLICY__NAME = NEW_CHILD_POLICY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Replace With</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPLACE_POLICY__REPLACE_WITH = NEW_CHILD_POLICY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Replace Policy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPLACE_POLICY_FEATURE_COUNT = NEW_CHILD_POLICY_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.CustomPolicyImpl <em>Custom Policy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.CustomPolicyImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getCustomPolicy()
+ * @generated
+ */
+ int CUSTOM_POLICY = 5;
+
+ /**
+ * The feature id for the '<em><b>Roles</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_POLICY__ROLES = NEW_CHILD_POLICY__ROLES;
+
+ /**
+ * The feature id for the '<em><b>EClasses</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_POLICY__ECLASSES = NEW_CHILD_POLICY__ECLASSES;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_POLICY__NAME = NEW_CHILD_POLICY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_POLICY__CLASS_NAME = NEW_CHILD_POLICY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Custom Policy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_POLICY_FEATURE_COUNT = NEW_CHILD_POLICY_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn <em>Create In</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getCreateIn()
+ * @generated
+ */
+ int CREATE_IN = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout <em>Layout</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getLayout()
+ * @generated
+ */
+ int LAYOUT = 7;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu <em>New EMF Child Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>New EMF Child Menu</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu
+ * @generated
+ */
+ EClass getNewEMFChildMenu();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getCreateIn <em>Create In</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Create In</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getCreateIn()
+ * @see #getNewEMFChildMenu()
+ * @generated
+ */
+ EAttribute getNewEMFChildMenu_CreateIn();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getLayout <em>Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Layout</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getLayout()
+ * @see #getNewEMFChildMenu()
+ * @generated
+ */
+ EAttribute getNewEMFChildMenu_Layout();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getGroups <em>Groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Groups</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getGroups()
+ * @see #getNewEMFChildMenu()
+ * @generated
+ */
+ EReference getNewEMFChildMenu_Groups();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet <em>New Child Policy Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>New Child Policy Set</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet
+ * @generated
+ */
+ EClass getNewChildPolicySet();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet#getName()
+ * @see #getNewChildPolicySet()
+ * @generated
+ */
+ EAttribute getNewChildPolicySet_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet#getPolicies <em>Policies</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Policies</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet#getPolicies()
+ * @see #getNewChildPolicySet()
+ * @generated
+ */
+ EReference getNewChildPolicySet_Policies();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy <em>New Child Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>New Child Policy</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy
+ * @generated
+ */
+ EClass getNewChildPolicy();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy#getRoles <em>Roles</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Roles</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy#getRoles()
+ * @see #getNewChildPolicy()
+ * @generated
+ */
+ EAttribute getNewChildPolicy_Roles();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy#getEClasses <em>EClasses</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>EClasses</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy#getEClasses()
+ * @see #getNewChildPolicy()
+ * @generated
+ */
+ EReference getNewChildPolicy_EClasses();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy#getName()
+ * @see #getNewChildPolicy()
+ * @generated
+ */
+ EAttribute getNewChildPolicy_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.FilterPolicy <em>Filter Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Filter Policy</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.FilterPolicy
+ * @generated
+ */
+ EClass getFilterPolicy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy <em>Replace Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Replace Policy</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy
+ * @generated
+ */
+ EClass getReplacePolicy();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy#getReplaceWith <em>Replace With</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Replace With</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy#getReplaceWith()
+ * @see #getReplacePolicy()
+ * @generated
+ */
+ EReference getReplacePolicy_ReplaceWith();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy <em>Custom Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Custom Policy</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy
+ * @generated
+ */
+ EClass getCustomPolicy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy#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.infra.emf.newchild.ncpolicy.CustomPolicy#getClassName()
+ * @see #getCustomPolicy()
+ * @generated
+ */
+ EAttribute getCustomPolicy_ClassName();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn <em>Create In</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Create In</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn
+ * @generated
+ */
+ EEnum getCreateIn();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout <em>Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Layout</em>'.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout
+ * @generated
+ */
+ EEnum getLayout();
+
+ /**
+ * 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
+ */
+ NcpolicyFactory getNcpolicyFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewEMFChildMenuImpl <em>New EMF Child Menu</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewEMFChildMenuImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getNewEMFChildMenu()
+ * @generated
+ */
+ EClass NEW_EMF_CHILD_MENU = eINSTANCE.getNewEMFChildMenu();
+
+ /**
+ * The meta object literal for the '<em><b>Create In</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEW_EMF_CHILD_MENU__CREATE_IN = eINSTANCE.getNewEMFChildMenu_CreateIn();
+
+ /**
+ * The meta object literal for the '<em><b>Layout</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEW_EMF_CHILD_MENU__LAYOUT = eINSTANCE.getNewEMFChildMenu_Layout();
+
+ /**
+ * The meta object literal for the '<em><b>Groups</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NEW_EMF_CHILD_MENU__GROUPS = eINSTANCE.getNewEMFChildMenu_Groups();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicySetImpl <em>New Child Policy Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicySetImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getNewChildPolicySet()
+ * @generated
+ */
+ EClass NEW_CHILD_POLICY_SET = eINSTANCE.getNewChildPolicySet();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEW_CHILD_POLICY_SET__NAME = eINSTANCE.getNewChildPolicySet_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Policies</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NEW_CHILD_POLICY_SET__POLICIES = eINSTANCE.getNewChildPolicySet_Policies();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicyImpl <em>New Child Policy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicyImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getNewChildPolicy()
+ * @generated
+ */
+ EClass NEW_CHILD_POLICY = eINSTANCE.getNewChildPolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Roles</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEW_CHILD_POLICY__ROLES = eINSTANCE.getNewChildPolicy_Roles();
+
+ /**
+ * The meta object literal for the '<em><b>EClasses</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NEW_CHILD_POLICY__ECLASSES = eINSTANCE.getNewChildPolicy_EClasses();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NEW_CHILD_POLICY__NAME = eINSTANCE.getNewChildPolicy_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.FilterPolicyImpl <em>Filter Policy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.FilterPolicyImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getFilterPolicy()
+ * @generated
+ */
+ EClass FILTER_POLICY = eINSTANCE.getFilterPolicy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.ReplacePolicyImpl <em>Replace Policy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.ReplacePolicyImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getReplacePolicy()
+ * @generated
+ */
+ EClass REPLACE_POLICY = eINSTANCE.getReplacePolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Replace With</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REPLACE_POLICY__REPLACE_WITH = eINSTANCE.getReplacePolicy_ReplaceWith();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.CustomPolicyImpl <em>Custom Policy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.CustomPolicyImpl
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getCustomPolicy()
+ * @generated
+ */
+ EClass CUSTOM_POLICY = eINSTANCE.getCustomPolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CUSTOM_POLICY__CLASS_NAME = eINSTANCE.getCustomPolicy_ClassName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn <em>Create In</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getCreateIn()
+ * @generated
+ */
+ EEnum CREATE_IN = eINSTANCE.getCreateIn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout <em>Layout</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NcpolicyPackageImpl#getLayout()
+ * @generated
+ */
+ EEnum LAYOUT = eINSTANCE.getLayout();
+
+ }
+
+} //NcpolicyPackage
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewChildPolicy.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewChildPolicy.java
new file mode 100644
index 00000000000..d0e05d53d7d
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewChildPolicy.java
@@ -0,0 +1,90 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>New Child Policy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy#getRoles <em>Roles</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy#getEClasses <em>EClasses</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewChildPolicy()
+ * @model abstract="true"
+ * @generated
+ */
+public interface NewChildPolicy extends EObject {
+ /**
+ * Returns the value of the '<em><b>Roles</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Roles</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Roles</em>' attribute list.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewChildPolicy_Roles()
+ * @model
+ * @generated
+ */
+ EList<String> getRoles();
+
+ /**
+ * Returns the value of the '<em><b>EClasses</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EClass}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>EClasses</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>EClasses</em>' reference list.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewChildPolicy_EClasses()
+ * @model
+ * @generated
+ */
+ EList<EClass> getEClasses();
+
+ /**
+ * 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.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewChildPolicy_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy#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);
+
+} // NewChildPolicy
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewChildPolicySet.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewChildPolicySet.java
new file mode 100644
index 00000000000..eecb160d1c8
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewChildPolicySet.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.infra.constraints.DisplayUnit;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>New Child Policy Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet#getPolicies <em>Policies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewChildPolicySet()
+ * @model
+ * @generated
+ */
+public interface NewChildPolicySet extends DisplayUnit {
+ /**
+ * 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.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewChildPolicySet_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet#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>Policies</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Policies</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>Policies</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewChildPolicySet_Policies()
+ * @model containment="true"
+ * @generated
+ */
+ EList<NewChildPolicy> getPolicies();
+
+} // NewChildPolicySet
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewEMFChildMenu.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewEMFChildMenu.java
new file mode 100644
index 00000000000..e7b4a5504a8
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/NewEMFChildMenu.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.infra.emf.newchild.Menu;
+import org.eclipse.papyrus.infra.emf.newchild.MenuGroup;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>New EMF Child Menu</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getCreateIn <em>Create In</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getLayout <em>Layout</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getGroups <em>Groups</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewEMFChildMenu()
+ * @model
+ * @generated
+ */
+public interface NewEMFChildMenu extends Menu {
+ /**
+ * Returns the value of the '<em><b>Create In</b></em>' attribute.
+ * The default value is <code>"self"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Create In</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Create In</em>' attribute.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn
+ * @see #setCreateIn(CreateIn)
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewEMFChildMenu_CreateIn()
+ * @model default="self" required="true"
+ * @generated
+ */
+ CreateIn getCreateIn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getCreateIn <em>Create In</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Create In</em>' attribute.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn
+ * @see #getCreateIn()
+ * @generated
+ */
+ void setCreateIn(CreateIn value);
+
+ /**
+ * Returns the value of the '<em><b>Layout</b></em>' attribute.
+ * The default value is <code>"hierarchical"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Layout</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Layout</em>' attribute.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout
+ * @see #setLayout(Layout)
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewEMFChildMenu_Layout()
+ * @model default="hierarchical" required="true"
+ * @generated
+ */
+ Layout getLayout();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu#getLayout <em>Layout</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Layout</em>' attribute.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout
+ * @see #getLayout()
+ * @generated
+ */
+ void setLayout(Layout value);
+
+ /**
+ * Returns the value of the '<em><b>Groups</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Groups</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>Groups</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getNewEMFChildMenu_Groups()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MenuGroup> getGroups();
+
+} // NewEMFChildMenu
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/ReplacePolicy.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/ReplacePolicy.java
new file mode 100644
index 00000000000..ea9538e28c4
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/ReplacePolicy.java
@@ -0,0 +1,45 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.infra.emf.newchild.MenuItem;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Replace Policy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy#getReplaceWith <em>Replace With</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getReplacePolicy()
+ * @model
+ * @generated
+ */
+public interface ReplacePolicy extends NewChildPolicy {
+ /**
+ * Returns the value of the '<em><b>Replace With</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.emf.newchild.MenuItem}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Replace With</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>Replace With</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#getReplacePolicy_ReplaceWith()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<MenuItem> getReplaceWith();
+
+} // ReplacePolicy
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/CustomPolicyImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/CustomPolicyImpl.java
new file mode 100644
index 00000000000..b70524e630a
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/CustomPolicyImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Custom Policy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.CustomPolicyImpl#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CustomPolicyImpl extends NewChildPolicyImpl implements CustomPolicy {
+ /**
+ * 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 CustomPolicyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NcpolicyPackage.Literals.CUSTOM_POLICY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getClassName() {
+ return className;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassName(String newClassName) {
+ String oldClassName = className;
+ className = newClassName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NcpolicyPackage.CUSTOM_POLICY__CLASS_NAME, oldClassName, className));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NcpolicyPackage.CUSTOM_POLICY__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 NcpolicyPackage.CUSTOM_POLICY__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 NcpolicyPackage.CUSTOM_POLICY__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 NcpolicyPackage.CUSTOM_POLICY__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: ");
+ result.append(className);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CustomPolicyImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/FilterPolicyImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/FilterPolicyImpl.java
new file mode 100644
index 00000000000..2136b5f1686
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/FilterPolicyImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.FilterPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Filter Policy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class FilterPolicyImpl extends NewChildPolicyImpl implements FilterPolicy {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FilterPolicyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NcpolicyPackage.Literals.FILTER_POLICY;
+ }
+
+} //FilterPolicyImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NcpolicyFactoryImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NcpolicyFactoryImpl.java
new file mode 100644
index 00000000000..b7e8055a3d3
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NcpolicyFactoryImpl.java
@@ -0,0 +1,223 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.FilterPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyFactory;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NcpolicyFactoryImpl extends EFactoryImpl implements NcpolicyFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NcpolicyFactory init() {
+ try {
+ NcpolicyFactory theNcpolicyFactory = (NcpolicyFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/newchild/policy");
+ if (theNcpolicyFactory != null) {
+ return theNcpolicyFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NcpolicyFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NcpolicyFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU: return createNewEMFChildMenu();
+ case NcpolicyPackage.NEW_CHILD_POLICY_SET: return createNewChildPolicySet();
+ case NcpolicyPackage.FILTER_POLICY: return createFilterPolicy();
+ case NcpolicyPackage.REPLACE_POLICY: return createReplacePolicy();
+ case NcpolicyPackage.CUSTOM_POLICY: return createCustomPolicy();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case NcpolicyPackage.CREATE_IN:
+ return createCreateInFromString(eDataType, initialValue);
+ case NcpolicyPackage.LAYOUT:
+ return createLayoutFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case NcpolicyPackage.CREATE_IN:
+ return convertCreateInToString(eDataType, instanceValue);
+ case NcpolicyPackage.LAYOUT:
+ return convertLayoutToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NewEMFChildMenu createNewEMFChildMenu() {
+ NewEMFChildMenuImpl newEMFChildMenu = new NewEMFChildMenuImpl();
+ return newEMFChildMenu;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NewChildPolicySet createNewChildPolicySet() {
+ NewChildPolicySetImpl newChildPolicySet = new NewChildPolicySetImpl();
+ return newChildPolicySet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FilterPolicy createFilterPolicy() {
+ FilterPolicyImpl filterPolicy = new FilterPolicyImpl();
+ return filterPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReplacePolicy createReplacePolicy() {
+ ReplacePolicyImpl replacePolicy = new ReplacePolicyImpl();
+ return replacePolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CustomPolicy createCustomPolicy() {
+ CustomPolicyImpl customPolicy = new CustomPolicyImpl();
+ return customPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateIn createCreateInFromString(EDataType eDataType, String initialValue) {
+ CreateIn result = CreateIn.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertCreateInToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layout createLayoutFromString(EDataType eDataType, String initialValue) {
+ Layout result = Layout.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertLayoutToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NcpolicyPackage getNcpolicyPackage() {
+ return (NcpolicyPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NcpolicyPackage getPackage() {
+ return NcpolicyPackage.eINSTANCE;
+ }
+
+} //NcpolicyFactoryImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NcpolicyPackageImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NcpolicyPackageImpl.java
new file mode 100644
index 00000000000..e00c254c567
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NcpolicyPackageImpl.java
@@ -0,0 +1,459 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.infra.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+import org.eclipse.papyrus.infra.emf.newchild.impl.NewchildPackageImpl;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.FilterPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyFactory;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy;
+import org.eclipse.papyrus.infra.extendedtypes.ExtendedtypesPackage;
+import org.eclipse.uml2.types.TypesPackage;
+
+
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NcpolicyPackageImpl extends EPackageImpl implements NcpolicyPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass newEMFChildMenuEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass newChildPolicySetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass newChildPolicyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass filterPolicyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass replacePolicyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass customPolicyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum createInEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum layoutEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private NcpolicyPackageImpl() {
+ super(eNS_URI, NcpolicyFactory.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 NcpolicyPackage#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 NcpolicyPackage init() {
+ if (isInited) return (NcpolicyPackage)EPackage.Registry.INSTANCE.getEPackage(NcpolicyPackage.eNS_URI);
+
+ // Obtain or create and register package
+ NcpolicyPackageImpl theNcpolicyPackage = (NcpolicyPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof NcpolicyPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new NcpolicyPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ ConstraintsPackage.eINSTANCE.eClass();
+ ExtendedtypesPackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ NewchildPackageImpl theNewchildPackage = (NewchildPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NewchildPackage.eNS_URI) instanceof NewchildPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NewchildPackage.eNS_URI) : NewchildPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theNcpolicyPackage.createPackageContents();
+ theNewchildPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theNcpolicyPackage.initializePackageContents();
+ theNewchildPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theNcpolicyPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(NcpolicyPackage.eNS_URI, theNcpolicyPackage);
+ return theNcpolicyPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNewEMFChildMenu() {
+ return newEMFChildMenuEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNewEMFChildMenu_CreateIn() {
+ return (EAttribute)newEMFChildMenuEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNewEMFChildMenu_Layout() {
+ return (EAttribute)newEMFChildMenuEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNewEMFChildMenu_Groups() {
+ return (EReference)newEMFChildMenuEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNewChildPolicySet() {
+ return newChildPolicySetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNewChildPolicySet_Name() {
+ return (EAttribute)newChildPolicySetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNewChildPolicySet_Policies() {
+ return (EReference)newChildPolicySetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNewChildPolicy() {
+ return newChildPolicyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNewChildPolicy_Roles() {
+ return (EAttribute)newChildPolicyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNewChildPolicy_EClasses() {
+ return (EReference)newChildPolicyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNewChildPolicy_Name() {
+ return (EAttribute)newChildPolicyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFilterPolicy() {
+ return filterPolicyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReplacePolicy() {
+ return replacePolicyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReplacePolicy_ReplaceWith() {
+ return (EReference)replacePolicyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCustomPolicy() {
+ return customPolicyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCustomPolicy_ClassName() {
+ return (EAttribute)customPolicyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getCreateIn() {
+ return createInEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getLayout() {
+ return layoutEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NcpolicyFactory getNcpolicyFactory() {
+ return (NcpolicyFactory)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
+ newEMFChildMenuEClass = createEClass(NEW_EMF_CHILD_MENU);
+ createEAttribute(newEMFChildMenuEClass, NEW_EMF_CHILD_MENU__CREATE_IN);
+ createEAttribute(newEMFChildMenuEClass, NEW_EMF_CHILD_MENU__LAYOUT);
+ createEReference(newEMFChildMenuEClass, NEW_EMF_CHILD_MENU__GROUPS);
+
+ newChildPolicySetEClass = createEClass(NEW_CHILD_POLICY_SET);
+ createEAttribute(newChildPolicySetEClass, NEW_CHILD_POLICY_SET__NAME);
+ createEReference(newChildPolicySetEClass, NEW_CHILD_POLICY_SET__POLICIES);
+
+ newChildPolicyEClass = createEClass(NEW_CHILD_POLICY);
+ createEAttribute(newChildPolicyEClass, NEW_CHILD_POLICY__ROLES);
+ createEReference(newChildPolicyEClass, NEW_CHILD_POLICY__ECLASSES);
+ createEAttribute(newChildPolicyEClass, NEW_CHILD_POLICY__NAME);
+
+ filterPolicyEClass = createEClass(FILTER_POLICY);
+
+ replacePolicyEClass = createEClass(REPLACE_POLICY);
+ createEReference(replacePolicyEClass, REPLACE_POLICY__REPLACE_WITH);
+
+ customPolicyEClass = createEClass(CUSTOM_POLICY);
+ createEAttribute(customPolicyEClass, CUSTOM_POLICY__CLASS_NAME);
+
+ // Create enums
+ createInEEnum = createEEnum(CREATE_IN);
+ layoutEEnum = createEEnum(LAYOUT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ NewchildPackage theNewchildPackage = (NewchildPackage)EPackage.Registry.INSTANCE.getEPackage(NewchildPackage.eNS_URI);
+ ConstraintsPackage theConstraintsPackage = (ConstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ newEMFChildMenuEClass.getESuperTypes().add(theNewchildPackage.getMenu());
+ newChildPolicySetEClass.getESuperTypes().add(theConstraintsPackage.getDisplayUnit());
+ filterPolicyEClass.getESuperTypes().add(this.getNewChildPolicy());
+ replacePolicyEClass.getESuperTypes().add(this.getNewChildPolicy());
+ customPolicyEClass.getESuperTypes().add(this.getNewChildPolicy());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(newEMFChildMenuEClass, NewEMFChildMenu.class, "NewEMFChildMenu", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNewEMFChildMenu_CreateIn(), this.getCreateIn(), "createIn", "self", 1, 1, NewEMFChildMenu.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNewEMFChildMenu_Layout(), this.getLayout(), "layout", "hierarchical", 1, 1, NewEMFChildMenu.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNewEMFChildMenu_Groups(), theNewchildPackage.getMenuGroup(), null, "groups", null, 0, -1, NewEMFChildMenu.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(newChildPolicySetEClass, NewChildPolicySet.class, "NewChildPolicySet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNewChildPolicySet_Name(), theEcorePackage.getEString(), "name", null, 1, 1, NewChildPolicySet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNewChildPolicySet_Policies(), this.getNewChildPolicy(), null, "policies", null, 0, -1, NewChildPolicySet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(newChildPolicyEClass, NewChildPolicy.class, "NewChildPolicy", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNewChildPolicy_Roles(), theEcorePackage.getEString(), "roles", null, 0, -1, NewChildPolicy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNewChildPolicy_EClasses(), theEcorePackage.getEClass(), null, "eClasses", null, 0, -1, NewChildPolicy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNewChildPolicy_Name(), theEcorePackage.getEString(), "name", null, 1, 1, NewChildPolicy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(filterPolicyEClass, FilterPolicy.class, "FilterPolicy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(replacePolicyEClass, ReplacePolicy.class, "ReplacePolicy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getReplacePolicy_ReplaceWith(), theNewchildPackage.getMenuItem(), null, "replaceWith", null, 1, -1, ReplacePolicy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(customPolicyEClass, CustomPolicy.class, "CustomPolicy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCustomPolicy_ClassName(), theEcorePackage.getEString(), "className", null, 1, 1, CustomPolicy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(createInEEnum, CreateIn.class, "CreateIn");
+ addEEnumLiteral(createInEEnum, CreateIn.SELF);
+ addEEnumLiteral(createInEEnum, CreateIn.PARENT);
+
+ initEEnum(layoutEEnum, Layout.class, "Layout");
+ addEEnumLiteral(layoutEEnum, Layout.HIERARCHICAL);
+ addEEnumLiteral(layoutEEnum, Layout.FLAT);
+ addEEnumLiteral(layoutEEnum, Layout.AUTO);
+ }
+
+} //NcpolicyPackageImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewChildPolicyImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewChildPolicyImpl.java
new file mode 100644
index 00000000000..dc65f059a6b
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewChildPolicyImpl.java
@@ -0,0 +1,240 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>New Child Policy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicyImpl#getRoles <em>Roles</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicyImpl#getEClasses <em>EClasses</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicyImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class NewChildPolicyImpl extends EObjectImpl implements NewChildPolicy {
+ /**
+ * The cached value of the '{@link #getRoles() <em>Roles</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoles()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> roles;
+
+ /**
+ * The cached value of the '{@link #getEClasses() <em>EClasses</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEClasses()
+ * @generated
+ * @ordered
+ */
+ protected EList<EClass> eClasses;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NewChildPolicyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NcpolicyPackage.Literals.NEW_CHILD_POLICY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getRoles() {
+ if (roles == null) {
+ roles = new EDataTypeUniqueEList<String>(String.class, this, NcpolicyPackage.NEW_CHILD_POLICY__ROLES);
+ }
+ return roles;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EClass> getEClasses() {
+ if (eClasses == null) {
+ eClasses = new EObjectResolvingEList<EClass>(EClass.class, this, NcpolicyPackage.NEW_CHILD_POLICY__ECLASSES);
+ }
+ return eClasses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NcpolicyPackage.NEW_CHILD_POLICY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NcpolicyPackage.NEW_CHILD_POLICY__ROLES:
+ return getRoles();
+ case NcpolicyPackage.NEW_CHILD_POLICY__ECLASSES:
+ return getEClasses();
+ case NcpolicyPackage.NEW_CHILD_POLICY__NAME:
+ return getName();
+ }
+ 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 NcpolicyPackage.NEW_CHILD_POLICY__ROLES:
+ getRoles().clear();
+ getRoles().addAll((Collection<? extends String>)newValue);
+ return;
+ case NcpolicyPackage.NEW_CHILD_POLICY__ECLASSES:
+ getEClasses().clear();
+ getEClasses().addAll((Collection<? extends EClass>)newValue);
+ return;
+ case NcpolicyPackage.NEW_CHILD_POLICY__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NcpolicyPackage.NEW_CHILD_POLICY__ROLES:
+ getRoles().clear();
+ return;
+ case NcpolicyPackage.NEW_CHILD_POLICY__ECLASSES:
+ getEClasses().clear();
+ return;
+ case NcpolicyPackage.NEW_CHILD_POLICY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NcpolicyPackage.NEW_CHILD_POLICY__ROLES:
+ return roles != null && !roles.isEmpty();
+ case NcpolicyPackage.NEW_CHILD_POLICY__ECLASSES:
+ return eClasses != null && !eClasses.isEmpty();
+ case NcpolicyPackage.NEW_CHILD_POLICY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (roles: ");
+ result.append(roles);
+ result.append(", name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NewChildPolicyImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewChildPolicySetImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewChildPolicySetImpl.java
new file mode 100644
index 00000000000..dbf527bad22
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewChildPolicySetImpl.java
@@ -0,0 +1,221 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.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.infra.constraints.impl.DisplayUnitImpl;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>New Child Policy Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicySetImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewChildPolicySetImpl#getPolicies <em>Policies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NewChildPolicySetImpl extends DisplayUnitImpl implements NewChildPolicySet {
+ /**
+ * 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 cached value of the '{@link #getPolicies() <em>Policies</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPolicies()
+ * @generated
+ * @ordered
+ */
+ protected EList<NewChildPolicy> policies;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NewChildPolicySetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NcpolicyPackage.Literals.NEW_CHILD_POLICY_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NcpolicyPackage.NEW_CHILD_POLICY_SET__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NewChildPolicy> getPolicies() {
+ if (policies == null) {
+ policies = new EObjectContainmentEList<NewChildPolicy>(NewChildPolicy.class, this, NcpolicyPackage.NEW_CHILD_POLICY_SET__POLICIES);
+ }
+ return policies;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NcpolicyPackage.NEW_CHILD_POLICY_SET__POLICIES:
+ return ((InternalEList<?>)getPolicies()).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 NcpolicyPackage.NEW_CHILD_POLICY_SET__NAME:
+ return getName();
+ case NcpolicyPackage.NEW_CHILD_POLICY_SET__POLICIES:
+ return getPolicies();
+ }
+ 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 NcpolicyPackage.NEW_CHILD_POLICY_SET__NAME:
+ setName((String)newValue);
+ return;
+ case NcpolicyPackage.NEW_CHILD_POLICY_SET__POLICIES:
+ getPolicies().clear();
+ getPolicies().addAll((Collection<? extends NewChildPolicy>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NcpolicyPackage.NEW_CHILD_POLICY_SET__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NcpolicyPackage.NEW_CHILD_POLICY_SET__POLICIES:
+ getPolicies().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NcpolicyPackage.NEW_CHILD_POLICY_SET__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NcpolicyPackage.NEW_CHILD_POLICY_SET__POLICIES:
+ return policies != null && !policies.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NewChildPolicySetImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewEMFChildMenuImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewEMFChildMenuImpl.java
new file mode 100644
index 00000000000..672a01fe405
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/NewEMFChildMenuImpl.java
@@ -0,0 +1,279 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.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.infra.emf.newchild.MenuGroup;
+import org.eclipse.papyrus.infra.emf.newchild.impl.MenuImpl;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CreateIn;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.Layout;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu;
+
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>New EMF Child Menu</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewEMFChildMenuImpl#getCreateIn <em>Create In</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewEMFChildMenuImpl#getLayout <em>Layout</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.NewEMFChildMenuImpl#getGroups <em>Groups</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NewEMFChildMenuImpl extends MenuImpl implements NewEMFChildMenu {
+ /**
+ * The default value of the '{@link #getCreateIn() <em>Create In</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreateIn()
+ * @generated
+ * @ordered
+ */
+ protected static final CreateIn CREATE_IN_EDEFAULT = CreateIn.SELF;
+
+ /**
+ * The cached value of the '{@link #getCreateIn() <em>Create In</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreateIn()
+ * @generated
+ * @ordered
+ */
+ protected CreateIn createIn = CREATE_IN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLayout() <em>Layout</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected static final Layout LAYOUT_EDEFAULT = Layout.HIERARCHICAL;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected Layout layout = LAYOUT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getGroups() <em>Groups</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGroups()
+ * @generated
+ * @ordered
+ */
+ protected EList<MenuGroup> groups;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NewEMFChildMenuImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NcpolicyPackage.Literals.NEW_EMF_CHILD_MENU;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateIn getCreateIn() {
+ return createIn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCreateIn(CreateIn newCreateIn) {
+ CreateIn oldCreateIn = createIn;
+ createIn = newCreateIn == null ? CREATE_IN_EDEFAULT : newCreateIn;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NcpolicyPackage.NEW_EMF_CHILD_MENU__CREATE_IN, oldCreateIn, createIn));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layout getLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayout(Layout newLayout) {
+ Layout oldLayout = layout;
+ layout = newLayout == null ? LAYOUT_EDEFAULT : newLayout;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NcpolicyPackage.NEW_EMF_CHILD_MENU__LAYOUT, oldLayout, layout));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MenuGroup> getGroups() {
+ if (groups == null) {
+ groups = new EObjectContainmentEList<MenuGroup>(MenuGroup.class, this, NcpolicyPackage.NEW_EMF_CHILD_MENU__GROUPS);
+ }
+ return groups;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__GROUPS:
+ return ((InternalEList<?>)getGroups()).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 NcpolicyPackage.NEW_EMF_CHILD_MENU__CREATE_IN:
+ return getCreateIn();
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__LAYOUT:
+ return getLayout();
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__GROUPS:
+ return getGroups();
+ }
+ 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 NcpolicyPackage.NEW_EMF_CHILD_MENU__CREATE_IN:
+ setCreateIn((CreateIn)newValue);
+ return;
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__LAYOUT:
+ setLayout((Layout)newValue);
+ return;
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__GROUPS:
+ getGroups().clear();
+ getGroups().addAll((Collection<? extends MenuGroup>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__CREATE_IN:
+ setCreateIn(CREATE_IN_EDEFAULT);
+ return;
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__LAYOUT:
+ setLayout(LAYOUT_EDEFAULT);
+ return;
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__GROUPS:
+ getGroups().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__CREATE_IN:
+ return createIn != CREATE_IN_EDEFAULT;
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__LAYOUT:
+ return layout != LAYOUT_EDEFAULT;
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU__GROUPS:
+ return groups != null && !groups.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (createIn: ");
+ result.append(createIn);
+ result.append(", layout: ");
+ result.append(layout);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NewEMFChildMenuImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/ReplacePolicyImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/ReplacePolicyImpl.java
new file mode 100644
index 00000000000..0ab5128c2ef
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/impl/ReplacePolicyImpl.java
@@ -0,0 +1,151 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.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.infra.emf.newchild.MenuItem;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Replace Policy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.impl.ReplacePolicyImpl#getReplaceWith <em>Replace With</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ReplacePolicyImpl extends NewChildPolicyImpl implements ReplacePolicy {
+ /**
+ * The cached value of the '{@link #getReplaceWith() <em>Replace With</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReplaceWith()
+ * @generated
+ * @ordered
+ */
+ protected EList<MenuItem> replaceWith;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReplacePolicyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NcpolicyPackage.Literals.REPLACE_POLICY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MenuItem> getReplaceWith() {
+ if (replaceWith == null) {
+ replaceWith = new EObjectContainmentEList<MenuItem>(MenuItem.class, this, NcpolicyPackage.REPLACE_POLICY__REPLACE_WITH);
+ }
+ return replaceWith;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NcpolicyPackage.REPLACE_POLICY__REPLACE_WITH:
+ return ((InternalEList<?>)getReplaceWith()).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 NcpolicyPackage.REPLACE_POLICY__REPLACE_WITH:
+ return getReplaceWith();
+ }
+ 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 NcpolicyPackage.REPLACE_POLICY__REPLACE_WITH:
+ getReplaceWith().clear();
+ getReplaceWith().addAll((Collection<? extends MenuItem>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NcpolicyPackage.REPLACE_POLICY__REPLACE_WITH:
+ getReplaceWith().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NcpolicyPackage.REPLACE_POLICY__REPLACE_WITH:
+ return replaceWith != null && !replaceWith.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ReplacePolicyImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyAdapterFactory.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyAdapterFactory.java
new file mode 100644
index 00000000000..566e5c685b7
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyAdapterFactory.java
@@ -0,0 +1,294 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.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.infra.constraints.DisplayUnit;
+import org.eclipse.papyrus.infra.emf.newchild.Menu;
+import org.eclipse.papyrus.infra.emf.newchild.MenuContainer;
+import org.eclipse.papyrus.infra.emf.newchild.MenuItem;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.FilterPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage
+ * @generated
+ */
+public class NcpolicyAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static NcpolicyPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NcpolicyAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = NcpolicyPackage.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 NcpolicySwitch<Adapter> modelSwitch =
+ new NcpolicySwitch<Adapter>() {
+ @Override
+ public Adapter caseNewEMFChildMenu(NewEMFChildMenu object) {
+ return createNewEMFChildMenuAdapter();
+ }
+ @Override
+ public Adapter caseNewChildPolicySet(NewChildPolicySet object) {
+ return createNewChildPolicySetAdapter();
+ }
+ @Override
+ public Adapter caseNewChildPolicy(NewChildPolicy object) {
+ return createNewChildPolicyAdapter();
+ }
+ @Override
+ public Adapter caseFilterPolicy(FilterPolicy object) {
+ return createFilterPolicyAdapter();
+ }
+ @Override
+ public Adapter caseReplacePolicy(ReplacePolicy object) {
+ return createReplacePolicyAdapter();
+ }
+ @Override
+ public Adapter caseCustomPolicy(CustomPolicy object) {
+ return createCustomPolicyAdapter();
+ }
+ @Override
+ public Adapter caseMenuContainer(MenuContainer object) {
+ return createMenuContainerAdapter();
+ }
+ @Override
+ public Adapter caseMenuItem(MenuItem object) {
+ return createMenuItemAdapter();
+ }
+ @Override
+ public Adapter caseMenu(Menu object) {
+ return createMenuAdapter();
+ }
+ @Override
+ public Adapter caseDisplayUnit(DisplayUnit object) {
+ return createDisplayUnitAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu <em>New EMF Child Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu
+ * @generated
+ */
+ public Adapter createNewEMFChildMenuAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet <em>New Child Policy 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.infra.emf.newchild.ncpolicy.NewChildPolicySet
+ * @generated
+ */
+ public Adapter createNewChildPolicySetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy <em>New Child Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy
+ * @generated
+ */
+ public Adapter createNewChildPolicyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.FilterPolicy <em>Filter Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.FilterPolicy
+ * @generated
+ */
+ public Adapter createFilterPolicyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy <em>Replace Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy
+ * @generated
+ */
+ public Adapter createReplacePolicyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy <em>Custom Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy
+ * @generated
+ */
+ public Adapter createCustomPolicyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuContainer <em>Menu 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.infra.emf.newchild.MenuContainer
+ * @generated
+ */
+ public Adapter createMenuContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuItem <em>Menu Item</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuItem
+ * @generated
+ */
+ public Adapter createMenuItemAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.Menu <em>Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.Menu
+ * @generated
+ */
+ public Adapter createMenuAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.constraints.DisplayUnit <em>Display Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.constraints.DisplayUnit
+ * @generated
+ */
+ public Adapter createDisplayUnitAdapter() {
+ 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;
+ }
+
+} //NcpolicyAdapterFactory
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyResourceFactoryImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyResourceFactoryImpl.java
new file mode 100644
index 00000000000..ad5257634ca
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyResourceFactoryImpl.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.util.NcpolicyResourceImpl
+ * @generated
+ */
+public class NcpolicyResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NcpolicyResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new NcpolicyResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //NcpolicyResourceFactoryImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyResourceImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyResourceImpl.java
new file mode 100644
index 00000000000..f6bcb8238ea
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyResourceImpl.java
@@ -0,0 +1,31 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.util.NcpolicyResourceFactoryImpl
+ * @generated
+ */
+public class NcpolicyResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public NcpolicyResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //NcpolicyResourceImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicySwitch.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicySwitch.java
new file mode 100644
index 00000000000..8a19a516f82
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicySwitch.java
@@ -0,0 +1,295 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.infra.constraints.DisplayUnit;
+import org.eclipse.papyrus.infra.emf.newchild.Menu;
+import org.eclipse.papyrus.infra.emf.newchild.MenuContainer;
+import org.eclipse.papyrus.infra.emf.newchild.MenuItem;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.CustomPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.FilterPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicy;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewChildPolicySet;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NewEMFChildMenu;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.ReplacePolicy;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage
+ * @generated
+ */
+public class NcpolicySwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static NcpolicyPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NcpolicySwitch() {
+ if (modelPackage == null) {
+ modelPackage = NcpolicyPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case NcpolicyPackage.NEW_EMF_CHILD_MENU: {
+ NewEMFChildMenu newEMFChildMenu = (NewEMFChildMenu)theEObject;
+ T result = caseNewEMFChildMenu(newEMFChildMenu);
+ if (result == null) result = caseMenu(newEMFChildMenu);
+ if (result == null) result = caseMenuContainer(newEMFChildMenu);
+ if (result == null) result = caseMenuItem(newEMFChildMenu);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NcpolicyPackage.NEW_CHILD_POLICY_SET: {
+ NewChildPolicySet newChildPolicySet = (NewChildPolicySet)theEObject;
+ T result = caseNewChildPolicySet(newChildPolicySet);
+ if (result == null) result = caseDisplayUnit(newChildPolicySet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NcpolicyPackage.NEW_CHILD_POLICY: {
+ NewChildPolicy newChildPolicy = (NewChildPolicy)theEObject;
+ T result = caseNewChildPolicy(newChildPolicy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NcpolicyPackage.FILTER_POLICY: {
+ FilterPolicy filterPolicy = (FilterPolicy)theEObject;
+ T result = caseFilterPolicy(filterPolicy);
+ if (result == null) result = caseNewChildPolicy(filterPolicy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NcpolicyPackage.REPLACE_POLICY: {
+ ReplacePolicy replacePolicy = (ReplacePolicy)theEObject;
+ T result = caseReplacePolicy(replacePolicy);
+ if (result == null) result = caseNewChildPolicy(replacePolicy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NcpolicyPackage.CUSTOM_POLICY: {
+ CustomPolicy customPolicy = (CustomPolicy)theEObject;
+ T result = caseCustomPolicy(customPolicy);
+ if (result == null) result = caseNewChildPolicy(customPolicy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>New EMF Child Menu</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>New EMF Child Menu</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNewEMFChildMenu(NewEMFChildMenu object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>New Child Policy 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>New Child Policy Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNewChildPolicySet(NewChildPolicySet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>New Child Policy</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>New Child Policy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNewChildPolicy(NewChildPolicy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Filter Policy</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>Filter Policy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFilterPolicy(FilterPolicy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Replace Policy</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>Replace Policy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReplacePolicy(ReplacePolicy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Custom Policy</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>Custom Policy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCustomPolicy(CustomPolicy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Menu 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>Menu Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMenuContainer(MenuContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Menu Item</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>Menu Item</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMenuItem(MenuItem object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Menu</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>Menu</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMenu(Menu object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Display Unit</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>Display Unit</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDisplayUnit(DisplayUnit 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;
+ }
+
+} //NcpolicySwitch
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyXMLProcessor.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyXMLProcessor.java
new file mode 100644
index 00000000000..488e102bf5d
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/ncpolicy/util/NcpolicyXMLProcessor.java
@@ -0,0 +1,51 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.ncpolicy.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.infra.emf.newchild.ncpolicy.NcpolicyPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NcpolicyXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NcpolicyXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ NcpolicyPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the NcpolicyResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new NcpolicyResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new NcpolicyResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //NcpolicyXMLProcessor
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildAdapterFactory.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildAdapterFactory.java
new file mode 100644
index 00000000000..eae764cdd91
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildAdapterFactory.java
@@ -0,0 +1,293 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.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.infra.constraints.DisplayUnit;
+import org.eclipse.papyrus.infra.emf.newchild.CustomFiller;
+import org.eclipse.papyrus.infra.emf.newchild.Menu;
+import org.eclipse.papyrus.infra.emf.newchild.MenuAction;
+import org.eclipse.papyrus.infra.emf.newchild.MenuContainer;
+import org.eclipse.papyrus.infra.emf.newchild.MenuGroup;
+import org.eclipse.papyrus.infra.emf.newchild.MenuItem;
+import org.eclipse.papyrus.infra.emf.newchild.MenuRoot;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+import org.eclipse.papyrus.infra.emf.newchild.Separator;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage
+ * @generated
+ */
+public class NewchildAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static NewchildPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NewchildAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = NewchildPackage.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 NewchildSwitch<Adapter> modelSwitch =
+ new NewchildSwitch<Adapter>() {
+ @Override
+ public Adapter caseNewchildConfiguration(NewchildConfiguration object) {
+ return createNewchildConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseMenuRoot(MenuRoot object) {
+ return createMenuRootAdapter();
+ }
+ @Override
+ public Adapter caseMenuItem(MenuItem object) {
+ return createMenuItemAdapter();
+ }
+ @Override
+ public Adapter caseMenuContainer(MenuContainer object) {
+ return createMenuContainerAdapter();
+ }
+ @Override
+ public Adapter caseMenu(Menu object) {
+ return createMenuAdapter();
+ }
+ @Override
+ public Adapter caseMenuAction(MenuAction object) {
+ return createMenuActionAdapter();
+ }
+ @Override
+ public Adapter caseSeparator(Separator object) {
+ return createSeparatorAdapter();
+ }
+ @Override
+ public Adapter caseMenuGroup(MenuGroup object) {
+ return createMenuGroupAdapter();
+ }
+ @Override
+ public Adapter caseCustomFiller(CustomFiller object) {
+ return createCustomFillerAdapter();
+ }
+ @Override
+ public Adapter caseDisplayUnit(DisplayUnit object) {
+ return createDisplayUnitAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration
+ * @generated
+ */
+ public Adapter createNewchildConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuRoot <em>Menu Root</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuRoot
+ * @generated
+ */
+ public Adapter createMenuRootAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuItem <em>Menu Item</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuItem
+ * @generated
+ */
+ public Adapter createMenuItemAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuContainer <em>Menu 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.infra.emf.newchild.MenuContainer
+ * @generated
+ */
+ public Adapter createMenuContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.Menu <em>Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.Menu
+ * @generated
+ */
+ public Adapter createMenuAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuAction <em>Menu Action</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuAction
+ * @generated
+ */
+ public Adapter createMenuActionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.Separator <em>Separator</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.Separator
+ * @generated
+ */
+ public Adapter createSeparatorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.MenuGroup <em>Menu Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.MenuGroup
+ * @generated
+ */
+ public Adapter createMenuGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.emf.newchild.CustomFiller <em>Custom Filler</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.emf.newchild.CustomFiller
+ * @generated
+ */
+ public Adapter createCustomFillerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.constraints.DisplayUnit <em>Display Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.constraints.DisplayUnit
+ * @generated
+ */
+ public Adapter createDisplayUnitAdapter() {
+ 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;
+ }
+
+} //NewchildAdapterFactory
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildResourceFactoryImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildResourceFactoryImpl.java
new file mode 100644
index 00000000000..bf3f5cf5a12
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildResourceFactoryImpl.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.util.NewchildResourceImpl
+ * @generated
+ */
+public class NewchildResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NewchildResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new NewchildResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //NewchildResourceFactoryImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildResourceImpl.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildResourceImpl.java
new file mode 100644
index 00000000000..87f4620d093
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildResourceImpl.java
@@ -0,0 +1,31 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.util.NewchildResourceFactoryImpl
+ * @generated
+ */
+public class NewchildResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public NewchildResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //NewchildResourceImpl
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildSwitch.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildSwitch.java
new file mode 100644
index 00000000000..bb7f519d8b1
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildSwitch.java
@@ -0,0 +1,313 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.infra.constraints.DisplayUnit;
+import org.eclipse.papyrus.infra.emf.newchild.CustomFiller;
+import org.eclipse.papyrus.infra.emf.newchild.Menu;
+import org.eclipse.papyrus.infra.emf.newchild.MenuAction;
+import org.eclipse.papyrus.infra.emf.newchild.MenuContainer;
+import org.eclipse.papyrus.infra.emf.newchild.MenuGroup;
+import org.eclipse.papyrus.infra.emf.newchild.MenuItem;
+import org.eclipse.papyrus.infra.emf.newchild.MenuRoot;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildConfiguration;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+import org.eclipse.papyrus.infra.emf.newchild.Separator;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.emf.newchild.NewchildPackage
+ * @generated
+ */
+public class NewchildSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static NewchildPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NewchildSwitch() {
+ if (modelPackage == null) {
+ modelPackage = NewchildPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case NewchildPackage.NEWCHILD_CONFIGURATION: {
+ NewchildConfiguration newchildConfiguration = (NewchildConfiguration)theEObject;
+ T result = caseNewchildConfiguration(newchildConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NewchildPackage.MENU_ROOT: {
+ MenuRoot menuRoot = (MenuRoot)theEObject;
+ T result = caseMenuRoot(menuRoot);
+ if (result == null) result = caseMenuContainer(menuRoot);
+ if (result == null) result = caseDisplayUnit(menuRoot);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NewchildPackage.MENU_ITEM: {
+ MenuItem menuItem = (MenuItem)theEObject;
+ T result = caseMenuItem(menuItem);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NewchildPackage.MENU_CONTAINER: {
+ MenuContainer menuContainer = (MenuContainer)theEObject;
+ T result = caseMenuContainer(menuContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NewchildPackage.MENU: {
+ Menu menu = (Menu)theEObject;
+ T result = caseMenu(menu);
+ if (result == null) result = caseMenuContainer(menu);
+ if (result == null) result = caseMenuItem(menu);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NewchildPackage.MENU_ACTION: {
+ MenuAction menuAction = (MenuAction)theEObject;
+ T result = caseMenuAction(menuAction);
+ if (result == null) result = caseMenuItem(menuAction);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NewchildPackage.SEPARATOR: {
+ Separator separator = (Separator)theEObject;
+ T result = caseSeparator(separator);
+ if (result == null) result = caseMenuItem(separator);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NewchildPackage.MENU_GROUP: {
+ MenuGroup menuGroup = (MenuGroup)theEObject;
+ T result = caseMenuGroup(menuGroup);
+ if (result == null) result = caseMenuContainer(menuGroup);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NewchildPackage.CUSTOM_FILLER: {
+ CustomFiller customFiller = (CustomFiller)theEObject;
+ T result = caseCustomFiller(customFiller);
+ if (result == null) result = caseMenuItem(customFiller);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration</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>Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNewchildConfiguration(NewchildConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Menu Root</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>Menu Root</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMenuRoot(MenuRoot object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Menu Item</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>Menu Item</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMenuItem(MenuItem object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Menu 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>Menu Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMenuContainer(MenuContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Menu</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>Menu</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMenu(Menu object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Menu Action</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>Menu Action</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMenuAction(MenuAction object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Separator</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>Separator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSeparator(Separator object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Menu Group</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>Menu Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMenuGroup(MenuGroup object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Custom Filler</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>Custom Filler</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCustomFiller(CustomFiller object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Display Unit</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>Display Unit</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDisplayUnit(DisplayUnit 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;
+ }
+
+} //NewchildSwitch
diff --git a/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildXMLProcessor.java b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildXMLProcessor.java
new file mode 100644
index 00000000000..aac8d02ecd8
--- /dev/null
+++ b/sandbox/org.eclipse.papyrus.newchild/src-gen/org/eclipse/papyrus/infra/emf/newchild/util/NewchildXMLProcessor.java
@@ -0,0 +1,51 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.infra.emf.newchild.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.infra.emf.newchild.NewchildPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NewchildXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NewchildXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ NewchildPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the NewchildResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new NewchildResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new NewchildResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //NewchildXMLProcessor

Back to the top