summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorszarnekow2009-04-15 09:05:13 (EDT)
committer sefftinge2009-04-15 09:05:13 (EDT)
commit15471675d4fb0810e665676011d56c48b38359c4 (patch)
tree07155157c8fddae73d3e682804b504d8b0540a44
parentf48d5d57501be591bdd3afa48cf519306db59bd4 (diff)
downloadorg.eclipse.xtext-15471675d4fb0810e665676011d56c48b38359c4.zip
org.eclipse.xtext-15471675d4fb0810e665676011d56c48b38359c4.tar.gz
org.eclipse.xtext-15471675d4fb0810e665676011d56c48b38359c4.tar.bz2
Regenerated StructureModel EMF code to emf-gen instead of src-gen
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/.classpath1
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/build.properties4
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/A.java100
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/B.java73
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/SimplestructureFactory.java64
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/SimplestructurePackage.java372
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/AImpl.java292
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/BImpl.java225
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/SimplestructureFactoryImpl.java121
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/SimplestructurePackageImpl.java284
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/rootImpl.java156
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/root.java46
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/util/SimplestructureAdapterFactory.java160
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/util/SimplestructureSwitch.java172
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/AValidator.java26
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/BValidator.java24
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/rootValidator.java23
-rw-r--r--tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure.genmodel2
18 files changed, 2143 insertions, 2 deletions
diff --git a/tests/org.eclipse.xtext.ui.common.tests/.classpath b/tests/org.eclipse.xtext.ui.common.tests/.classpath
index 7e8449d..f69f5b9 100644
--- a/tests/org.eclipse.xtext.ui.common.tests/.classpath
+++ b/tests/org.eclipse.xtext.ui.common.tests/.classpath
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
+ <classpathentry kind="src" path="emf-gen"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
diff --git a/tests/org.eclipse.xtext.ui.common.tests/build.properties b/tests/org.eclipse.xtext.ui.common.tests/build.properties
index a81330f..22ce9d3 100644
--- a/tests/org.eclipse.xtext.ui.common.tests/build.properties
+++ b/tests/org.eclipse.xtext.ui.common.tests/build.properties
@@ -1,4 +1,6 @@
-source.. = src/, src-gen/
+source.. = src/,\
+ src-gen/,\
+ emf-gen/
output.. = bin/
bin.includes = META-INF/,\
.,\
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/A.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/A.java
new file mode 100644
index 0000000..1bd8edc
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/A.java
@@ -0,0 +1,100 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: A.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>A</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#getA <em>A</em>}</li>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#getB <em>B</em>}</li>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage#getA()
+ * @model
+ * @generated
+ */
+public interface A extends EObject {
+ /**
+ * Returns the value of the '<em><b>A</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>A</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>A</em>' containment reference.
+ * @see #setA(A)
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage#getA_A()
+ * @model containment="true"
+ * @generated
+ */
+ A getA();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#getA <em>A</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>A</em>' containment reference.
+ * @see #getA()
+ * @generated
+ */
+ void setA(A value);
+
+ /**
+ * Returns the value of the '<em><b>B</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>B</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>B</em>' containment reference list.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage#getA_B()
+ * @model containment="true"
+ * @generated
+ */
+ EList<B> getB();
+
+ /**
+ * 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.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage#getA_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#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);
+
+} // A
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/B.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/B.java
new file mode 100644
index 0000000..c7d993a
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/B.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: B.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>B</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B#getB <em>B</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage#getB()
+ * @model
+ * @generated
+ */
+public interface B extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage#getB_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B#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>B</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>B</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>B</em>' containment reference list.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage#getB_B()
+ * @model containment="true"
+ * @generated
+ */
+ EList<B> getB();
+
+} // B
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/SimplestructureFactory.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/SimplestructureFactory.java
new file mode 100644
index 0000000..48848d4
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/SimplestructureFactory.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SimplestructureFactory.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure;
+
+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.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage
+ * @generated
+ */
+public interface SimplestructureFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SimplestructureFactory eINSTANCE = org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.SimplestructureFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>A</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>A</em>'.
+ * @generated
+ */
+ A createA();
+
+ /**
+ * Returns a new object of class '<em>B</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>B</em>'.
+ * @generated
+ */
+ B createB();
+
+ /**
+ * Returns a new object of class '<em>root</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>root</em>'.
+ * @generated
+ */
+ root createroot();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SimplestructurePackage getSimplestructurePackage();
+
+} //SimplestructureFactory
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/SimplestructurePackage.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/SimplestructurePackage.java
new file mode 100644
index 0000000..87ea77f
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/SimplestructurePackage.java
@@ -0,0 +1,372 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SimplestructurePackage.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructureFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SimplestructurePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "simplestructure";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.example.org/simplestructure";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "simplestructure";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SimplestructurePackage eINSTANCE = org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.SimplestructurePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.AImpl <em>A</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.AImpl
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.SimplestructurePackageImpl#getA()
+ * @generated
+ */
+ int A = 0;
+
+ /**
+ * The feature id for the '<em><b>A</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int A__A = 0;
+
+ /**
+ * The feature id for the '<em><b>B</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int A__B = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int A__NAME = 2;
+
+ /**
+ * The number of structural features of the '<em>A</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int A_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.BImpl <em>B</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.BImpl
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.SimplestructurePackageImpl#getB()
+ * @generated
+ */
+ int B = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int B__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>B</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int B__B = 1;
+
+ /**
+ * The number of structural features of the '<em>B</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int B_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.rootImpl <em>root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.rootImpl
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.SimplestructurePackageImpl#getroot()
+ * @generated
+ */
+ int ROOT = 2;
+
+ /**
+ * The feature id for the '<em><b>A</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__A = 0;
+
+ /**
+ * The number of structural features of the '<em>root</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_FEATURE_COUNT = 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A <em>A</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>A</em>'.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A
+ * @generated
+ */
+ EClass getA();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#getA <em>A</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>A</em>'.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#getA()
+ * @see #getA()
+ * @generated
+ */
+ EReference getA_A();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#getB <em>B</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>B</em>'.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#getB()
+ * @see #getA()
+ * @generated
+ */
+ EReference getA_B();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A#getName()
+ * @see #getA()
+ * @generated
+ */
+ EAttribute getA_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B <em>B</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>B</em>'.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B
+ * @generated
+ */
+ EClass getB();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B#getName()
+ * @see #getB()
+ * @generated
+ */
+ EAttribute getB_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B#getB <em>B</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>B</em>'.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B#getB()
+ * @see #getB()
+ * @generated
+ */
+ EReference getB_B();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.root <em>root</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>root</em>'.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.root
+ * @generated
+ */
+ EClass getroot();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.root#getA <em>A</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>A</em>'.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.root#getA()
+ * @see #getroot()
+ * @generated
+ */
+ EReference getroot_A();
+
+ /**
+ * 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
+ */
+ SimplestructureFactory getSimplestructureFactory();
+
+ /**
+ * <!-- 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.xtext.ui.common.editor.outline.impl.simplestructure.impl.AImpl <em>A</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.AImpl
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.SimplestructurePackageImpl#getA()
+ * @generated
+ */
+ EClass A = eINSTANCE.getA();
+
+ /**
+ * The meta object literal for the '<em><b>A</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference A__A = eINSTANCE.getA_A();
+
+ /**
+ * The meta object literal for the '<em><b>B</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference A__B = eINSTANCE.getA_B();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute A__NAME = eINSTANCE.getA_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.BImpl <em>B</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.BImpl
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.SimplestructurePackageImpl#getB()
+ * @generated
+ */
+ EClass B = eINSTANCE.getB();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute B__NAME = eINSTANCE.getB_Name();
+
+ /**
+ * The meta object literal for the '<em><b>B</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference B__B = eINSTANCE.getB_B();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.rootImpl <em>root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.rootImpl
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.SimplestructurePackageImpl#getroot()
+ * @generated
+ */
+ EClass ROOT = eINSTANCE.getroot();
+
+ /**
+ * The meta object literal for the '<em><b>A</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__A = eINSTANCE.getroot_A();
+
+ }
+
+} //SimplestructurePackage
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/AImpl.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/AImpl.java
new file mode 100644
index 0000000..2d82f45
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/AImpl.java
@@ -0,0 +1,292 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AImpl.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.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.xtext.ui.common.editor.outline.impl.simplestructure.A;
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B;
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>A</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.AImpl#getA <em>A</em>}</li>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.AImpl#getB <em>B</em>}</li>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.AImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AImpl extends EObjectImpl implements A {
+ /**
+ * The cached value of the '{@link #getA() <em>A</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getA()
+ * @generated
+ * @ordered
+ */
+ protected A a;
+
+ /**
+ * The cached value of the '{@link #getB() <em>B</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getB()
+ * @generated
+ * @ordered
+ */
+ protected EList<B> b;
+
+ /**
+ * 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 AImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplestructurePackage.Literals.A;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public A getA() {
+ return a;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetA(A newA, NotificationChain msgs) {
+ A oldA = a;
+ a = newA;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimplestructurePackage.A__A, oldA, newA);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setA(A newA) {
+ if (newA != a) {
+ NotificationChain msgs = null;
+ if (a != null)
+ msgs = ((InternalEObject)a).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SimplestructurePackage.A__A, null, msgs);
+ if (newA != null)
+ msgs = ((InternalEObject)newA).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SimplestructurePackage.A__A, null, msgs);
+ msgs = basicSetA(newA, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplestructurePackage.A__A, newA, newA));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<B> getB() {
+ if (b == null) {
+ b = new EObjectContainmentEList<B>(B.class, this, SimplestructurePackage.A__B);
+ }
+ return b;
+ }
+
+ /**
+ * <!-- 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, SimplestructurePackage.A__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplestructurePackage.A__A:
+ return basicSetA(null, msgs);
+ case SimplestructurePackage.A__B:
+ return ((InternalEList<?>)getB()).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 SimplestructurePackage.A__A:
+ return getA();
+ case SimplestructurePackage.A__B:
+ return getB();
+ case SimplestructurePackage.A__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 SimplestructurePackage.A__A:
+ setA((A)newValue);
+ return;
+ case SimplestructurePackage.A__B:
+ getB().clear();
+ getB().addAll((Collection<? extends B>)newValue);
+ return;
+ case SimplestructurePackage.A__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 SimplestructurePackage.A__A:
+ setA((A)null);
+ return;
+ case SimplestructurePackage.A__B:
+ getB().clear();
+ return;
+ case SimplestructurePackage.A__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplestructurePackage.A__A:
+ return a != null;
+ case SimplestructurePackage.A__B:
+ return b != null && !b.isEmpty();
+ case SimplestructurePackage.A__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AImpl
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/BImpl.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/BImpl.java
new file mode 100644
index 0000000..e1367b2
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/BImpl.java
@@ -0,0 +1,225 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BImpl.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.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.xtext.ui.common.editor.outline.impl.simplestructure.B;
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>B</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.BImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.BImpl#getB <em>B</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BImpl extends EObjectImpl implements B {
+ /**
+ * 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 #getB() <em>B</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getB()
+ * @generated
+ * @ordered
+ */
+ protected EList<B> b;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplestructurePackage.Literals.B;
+ }
+
+ /**
+ * <!-- 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, SimplestructurePackage.B__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<B> getB() {
+ if (b == null) {
+ b = new EObjectContainmentEList<B>(B.class, this, SimplestructurePackage.B__B);
+ }
+ return b;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplestructurePackage.B__B:
+ return ((InternalEList<?>)getB()).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 SimplestructurePackage.B__NAME:
+ return getName();
+ case SimplestructurePackage.B__B:
+ return getB();
+ }
+ 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 SimplestructurePackage.B__NAME:
+ setName((String)newValue);
+ return;
+ case SimplestructurePackage.B__B:
+ getB().clear();
+ getB().addAll((Collection<? extends B>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplestructurePackage.B__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case SimplestructurePackage.B__B:
+ getB().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplestructurePackage.B__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case SimplestructurePackage.B__B:
+ return b != null && !b.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();
+ }
+
+} //BImpl
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/SimplestructureFactoryImpl.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/SimplestructureFactoryImpl.java
new file mode 100644
index 0000000..7615cd6
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/SimplestructureFactoryImpl.java
@@ -0,0 +1,121 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SimplestructureFactoryImpl.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SimplestructureFactoryImpl extends EFactoryImpl implements SimplestructureFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SimplestructureFactory init() {
+ try {
+ SimplestructureFactory theSimplestructureFactory = (SimplestructureFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.example.org/simplestructure");
+ if (theSimplestructureFactory != null) {
+ return theSimplestructureFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SimplestructureFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimplestructureFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SimplestructurePackage.A: return createA();
+ case SimplestructurePackage.B: return createB();
+ case SimplestructurePackage.ROOT: return createroot();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public A createA() {
+ AImpl a = new AImpl();
+ return a;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public B createB() {
+ BImpl b = new BImpl();
+ return b;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public root createroot() {
+ rootImpl root = new rootImpl();
+ return root;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimplestructurePackage getSimplestructurePackage() {
+ return (SimplestructurePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SimplestructurePackage getPackage() {
+ return SimplestructurePackage.eINSTANCE;
+ }
+
+} //SimplestructureFactoryImpl
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/SimplestructurePackageImpl.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/SimplestructurePackageImpl.java
new file mode 100644
index 0000000..d4de837
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/SimplestructurePackageImpl.java
@@ -0,0 +1,284 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SimplestructurePackageImpl.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructureFactory;
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage;
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.root;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SimplestructurePackageImpl extends EPackageImpl implements SimplestructurePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass aEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rootEClass = 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.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SimplestructurePackageImpl() {
+ super(eNS_URI, SimplestructureFactory.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. Simple
+ * dependencies are satisfied by calling this method on all
+ * dependent packages before doing anything else. This method drives
+ * initialization for interdependent packages directly, in parallel
+ * with this package, itself.
+ * <p>Of this package and its interdependencies, all packages which
+ * have not yet been registered by their URI values are first created
+ * and registered. The packages are then initialized in two steps:
+ * meta-model objects for all of the packages are created before any
+ * are initialized, since one package's meta-model objects may refer to
+ * those of another.
+ * <p>Invocation of this method will not affect any packages that have
+ * already been initialized.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static SimplestructurePackage init() {
+ if (isInited) return (SimplestructurePackage)EPackage.Registry.INSTANCE.getEPackage(SimplestructurePackage.eNS_URI);
+
+ // Obtain or create and register package
+ SimplestructurePackageImpl theSimplestructurePackage = (SimplestructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof SimplestructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new SimplestructurePackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theSimplestructurePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSimplestructurePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSimplestructurePackage.freeze();
+
+ return theSimplestructurePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getA() {
+ return aEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getA_A() {
+ return (EReference)aEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getA_B() {
+ return (EReference)aEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getA_Name() {
+ return (EAttribute)aEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getB() {
+ return bEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getB_Name() {
+ return (EAttribute)bEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getB_B() {
+ return (EReference)bEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getroot() {
+ return rootEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getroot_A() {
+ return (EReference)rootEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimplestructureFactory getSimplestructureFactory() {
+ return (SimplestructureFactory)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
+ aEClass = createEClass(A);
+ createEReference(aEClass, A__A);
+ createEReference(aEClass, A__B);
+ createEAttribute(aEClass, A__NAME);
+
+ bEClass = createEClass(B);
+ createEAttribute(bEClass, B__NAME);
+ createEReference(bEClass, B__B);
+
+ rootEClass = createEClass(ROOT);
+ createEReference(rootEClass, ROOT__A);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(aEClass, org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A.class, "A", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getA_A(), this.getA(), null, "a", null, 0, 1, org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getA_B(), this.getB(), null, "b", null, 0, -1, org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getA_Name(), ecorePackage.getEString(), "name", null, 0, 1, org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(bEClass, org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B.class, "B", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getB_Name(), ecorePackage.getEString(), "name", null, 0, 1, org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getB_B(), this.getB(), null, "b", null, 0, -1, org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rootEClass, root.class, "root", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getroot_A(), this.getA(), null, "a", null, 0, -1, root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //SimplestructurePackageImpl
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/rootImpl.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/rootImpl.java
new file mode 100644
index 0000000..2a91317
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/impl/rootImpl.java
@@ -0,0 +1,156 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: rootImpl.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.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.xtext.ui.common.editor.outline.impl.simplestructure.A;
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage;
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.root;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>root</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.impl.rootImpl#getA <em>A</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class rootImpl extends EObjectImpl implements root {
+ /**
+ * The cached value of the '{@link #getA() <em>A</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getA()
+ * @generated
+ * @ordered
+ */
+ protected EList<A> a;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected rootImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplestructurePackage.Literals.ROOT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<A> getA() {
+ if (a == null) {
+ a = new EObjectContainmentEList<A>(A.class, this, SimplestructurePackage.ROOT__A);
+ }
+ return a;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplestructurePackage.ROOT__A:
+ return ((InternalEList<?>)getA()).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 SimplestructurePackage.ROOT__A:
+ return getA();
+ }
+ 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 SimplestructurePackage.ROOT__A:
+ getA().clear();
+ getA().addAll((Collection<? extends A>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplestructurePackage.ROOT__A:
+ getA().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplestructurePackage.ROOT__A:
+ return a != null && !a.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //rootImpl
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/root.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/root.java
new file mode 100644
index 0000000..31b6cc3
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/root.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: root.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>root</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.root#getA <em>A</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage#getroot()
+ * @model
+ * @generated
+ */
+public interface root extends EObject {
+ /**
+ * Returns the value of the '<em><b>A</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>A</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>A</em>' containment reference list.
+ * @see org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage#getroot_A()
+ * @model containment="true"
+ * @generated
+ */
+ EList<A> getA();
+
+} // root
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/util/SimplestructureAdapterFactory.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/util/SimplestructureAdapterFactory.java
new file mode 100644
index 0000000..bc3e135
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/util/SimplestructureAdapterFactory.java
@@ -0,0 +1,160 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SimplestructureAdapterFactory.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.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.xtext.ui.common.editor.outline.impl.simplestructure.*;
+
+/**
+ * <!-- 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.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage
+ * @generated
+ */
+public class SimplestructureAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SimplestructurePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimplestructureAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SimplestructurePackage.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 SimplestructureSwitch<Adapter> modelSwitch =
+ new SimplestructureSwitch<Adapter>() {
+ @Override
+ public Adapter caseA(A object) {
+ return createAAdapter();
+ }
+ @Override
+ public Adapter caseB(B object) {
+ return createBAdapter();
+ }
+ @Override
+ public Adapter caseroot(root object) {
+ return createrootAdapter();
+ }
+ @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.xtext.ui.common.editor.outline.impl.simplestructure.A <em>A</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.xtext.ui.common.editor.outline.impl.simplestructure.A
+ * @generated
+ */
+ public Adapter createAAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B <em>B</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.xtext.ui.common.editor.outline.impl.simplestructure.B
+ * @generated
+ */
+ public Adapter createBAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.root <em>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.xtext.ui.common.editor.outline.impl.simplestructure.root
+ * @generated
+ */
+ public Adapter createrootAdapter() {
+ 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;
+ }
+
+} //SimplestructureAdapterFactory
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/util/SimplestructureSwitch.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/util/SimplestructureSwitch.java
new file mode 100644
index 0000000..4165514
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/util/SimplestructureSwitch.java
@@ -0,0 +1,172 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SimplestructureSwitch.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.*;
+
+/**
+ * <!-- 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.xtext.ui.common.editor.outline.impl.simplestructure.SimplestructurePackage
+ * @generated
+ */
+public class SimplestructureSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SimplestructurePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimplestructureSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SimplestructurePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case SimplestructurePackage.A: {
+ A a = (A)theEObject;
+ T result = caseA(a);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SimplestructurePackage.B: {
+ B b = (B)theEObject;
+ T result = caseB(b);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SimplestructurePackage.ROOT: {
+ root root = (root)theEObject;
+ T result = caseroot(root);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>A</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>A</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseA(A object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>B</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>B</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseB(B object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>root</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseroot(root object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //SimplestructureSwitch
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/AValidator.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/AValidator.java
new file mode 100644
index 0000000..5852ae7
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/AValidator.java
@@ -0,0 +1,26 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AValidator.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A;
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B;
+
+/**
+ * A sample validator interface for {@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface AValidator {
+ boolean validate();
+
+ boolean validateA(A value);
+ boolean validateB(EList<B> value);
+ boolean validateName(String value);
+}
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/BValidator.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/BValidator.java
new file mode 100644
index 0000000..bdb0358
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/BValidator.java
@@ -0,0 +1,24 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BValidator.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B;
+
+/**
+ * A sample validator interface for {@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.B}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface BValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateB(EList<B> value);
+}
diff --git a/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/rootValidator.java b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/rootValidator.java
new file mode 100644
index 0000000..ae2dc0d
--- /dev/null
+++ b/tests/org.eclipse.xtext.ui.common.tests/emf-gen/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure/validation/rootValidator.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: rootValidator.java,v 1.1 2009/04/15 13:05:13 szarnekow Exp $
+ */
+package org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.A;
+
+/**
+ * A sample validator interface for {@link org.eclipse.xtext.ui.common.editor.outline.impl.simplestructure.root}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface rootValidator {
+ boolean validate();
+
+ boolean validateA(EList<A> value);
+}
diff --git a/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure.genmodel b/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure.genmodel
index 476177c..0277855 100644
--- a/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure.genmodel
+++ b/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/outline/impl/simplestructure.genmodel
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.xtext.ui.common.tests/src-gen"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.xtext.ui.common.tests/emf-gen"
modelPluginID="org.eclipse.xtext.ui.common.tests" modelName="Simplestructure"
importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false">
<foreignModel>simplestructure.ecore</foreignModel>