diff options
author | Ed Willink | 2016-01-19 14:06:38 +0000 |
---|---|---|
committer | Ed Willink | 2016-01-28 21:20:37 +0000 |
commit | d1601bc1b7500273a3c4e9d9da4c4fbb5babe042 (patch) | |
tree | 7dc7b98689a50765814d8dab35bb5330566e2801 /tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd | |
parent | ba9412883b74b738a5ad9b60d4308c7b8e6fe51d (diff) | |
download | org.eclipse.qvtd-d1601bc1b7500273a3c4e9d9da4c4fbb5babe042.tar.gz org.eclipse.qvtd-d1601bc1b7500273a3c4e9d9da4c4fbb5babe042.tar.xz org.eclipse.qvtd-d1601bc1b7500273a3c4e9d9da4c4fbb5babe042.zip |
[461992] Generate testQVTcCompiler_Upper2Lower example model
Diffstat (limited to 'tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd')
28 files changed, 5970 insertions, 0 deletions
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Edge.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Edge.java new file mode 100644 index 000000000..dabcd6469 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Edge.java @@ -0,0 +1,80 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Edge</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getTarget <em>Target</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getSource <em>Source</em>}</li> + * </ul> + * + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getEdge() + * @model + * @generated + */ +public interface Edge extends Element { + /** + * Returns the value of the '<em><b>Target</b></em>' reference. + * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getIncoming <em>Incoming</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Target</em>' reference. + * @see #setTarget(Node) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getEdge_Target() + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getIncoming + * @model opposite="incoming" + * @generated + */ + Node getTarget(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getTarget <em>Target</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target</em>' reference. + * @see #getTarget() + * @generated + */ + void setTarget(Node value); + + /** + * Returns the value of the '<em><b>Source</b></em>' reference. + * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getOutgoing <em>Outgoing</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Source</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Source</em>' reference. + * @see #setSource(Node) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getEdge_Source() + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getOutgoing + * @model opposite="outgoing" + * @generated + */ + Node getSource(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getSource <em>Source</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Source</em>' reference. + * @see #getSource() + * @generated + */ + void setSource(Node value); + +} // Edge diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Element.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Element.java new file mode 100644 index 000000000..ada1ded61 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Element.java @@ -0,0 +1,52 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Element</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element#getGraph <em>Graph</em>}</li> + * </ul> + * + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getElement() + * @model abstract="true" + * @generated + */ +public interface Element extends EObject { + /** + * Returns the value of the '<em><b>Graph</b></em>' container reference. + * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph#getElement <em>Element</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Graph</em>' container reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Graph</em>' container reference. + * @see #setGraph(Graph) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getElement_Graph() + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph#getElement + * @model opposite="element" required="true" transient="false" + * @generated + */ + Graph getGraph(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element#getGraph <em>Graph</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Graph</em>' container reference. + * @see #getGraph() + * @generated + */ + void setGraph(Graph value); + +} // Element diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Graph.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Graph.java new file mode 100644 index 000000000..d92338c65 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Graph.java @@ -0,0 +1,71 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Graph</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph#getElement <em>Element</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph#getName <em>Name</em>}</li> + * </ul> + * + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getGraph() + * @model + * @generated + */ +public interface Graph extends EObject { + /** + * Returns the value of the '<em><b>Element</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element}. + * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element#getGraph <em>Graph</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Element</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Element</em>' containment reference list. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getGraph_Element() + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element#getGraph + * @model opposite="graph" containment="true" + * @generated + */ + EList<Element> getElement(); + + /** + * 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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getGraph_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph#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); + +} // Graph diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Node.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Node.java new file mode 100644 index 000000000..995bf4901 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/Node.java @@ -0,0 +1,88 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Node</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getIncoming <em>Incoming</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getOutgoing <em>Outgoing</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getLabel <em>Label</em>}</li> + * </ul> + * + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getNode() + * @model + * @generated + */ +public interface Node extends Element { + /** + * Returns the value of the '<em><b>Incoming</b></em>' reference list. + * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge}. + * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getTarget <em>Target</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Incoming</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>Incoming</em>' reference list. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getNode_Incoming() + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getTarget + * @model opposite="target" + * @generated + */ + EList<Edge> getIncoming(); + + /** + * Returns the value of the '<em><b>Outgoing</b></em>' reference list. + * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge}. + * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getSource <em>Source</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Outgoing</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>Outgoing</em>' reference list. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getNode_Outgoing() + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getSource + * @model opposite="source" + * @generated + */ + EList<Edge> getOutgoing(); + + /** + * Returns the value of the '<em><b>Label</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Label</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Label</em>' attribute. + * @see #setLabel(String) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#getNode_Label() + * @model + * @generated + */ + String getLabel(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getLabel <em>Label</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Label</em>' attribute. + * @see #getLabel() + * @generated + */ + void setLabel(String value); + +} // Node diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/SimplegraphFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/SimplegraphFactory.java new file mode 100644 index 000000000..74949f0c6 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/SimplegraphFactory.java @@ -0,0 +1,60 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph; + +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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage + * @generated + */ +public interface SimplegraphFactory extends EFactory { + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + SimplegraphFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Node</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Node</em>'. + * @generated + */ + Node createNode(); + + /** + * Returns a new object of class '<em>Edge</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Edge</em>'. + * @generated + */ + Edge createEdge(); + + /** + * Returns a new object of class '<em>Graph</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Graph</em>'. + * @generated + */ + Graph createGraph(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + SimplegraphPackage getSimplegraphPackage(); + +} //SimplegraphFactory diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/SimplegraphPackage.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/SimplegraphPackage.java new file mode 100644 index 000000000..094a2684a --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/SimplegraphPackage.java @@ -0,0 +1,519 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphFactory + * @model kind="package" + * @generated + */ +public interface SimplegraphPackage extends EPackage { + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "simplegraph"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/qvtd/xtext/qvtcore/tests/Upper2Lower/1.0/SimpleGraph"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "simplegraph"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + SimplegraphPackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphPackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.ElementImpl <em>Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.ElementImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphPackageImpl#getElement() + * @generated + */ + int ELEMENT = 2; + + /** + * The feature id for the '<em><b>Graph</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ELEMENT__GRAPH = 0; + + /** + * The number of structural features of the '<em>Element</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ELEMENT_FEATURE_COUNT = 1; + + /** + * The number of operations of the '<em>Element</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ELEMENT_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.NodeImpl <em>Node</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.NodeImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphPackageImpl#getNode() + * @generated + */ + int NODE = 0; + + /** + * The feature id for the '<em><b>Graph</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__GRAPH = ELEMENT__GRAPH; + + /** + * The feature id for the '<em><b>Incoming</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__INCOMING = ELEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Outgoing</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__OUTGOING = ELEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Label</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE__LABEL = ELEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Node</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 3; + + /** + * The number of operations of the '<em>Node</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.EdgeImpl <em>Edge</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.EdgeImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphPackageImpl#getEdge() + * @generated + */ + int EDGE = 1; + + /** + * The feature id for the '<em><b>Graph</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE__GRAPH = ELEMENT__GRAPH; + + /** + * The feature id for the '<em><b>Target</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE__TARGET = ELEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Source</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE__SOURCE = ELEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Edge</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 2; + + /** + * The number of operations of the '<em>Edge</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.GraphImpl <em>Graph</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.GraphImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphPackageImpl#getGraph() + * @generated + */ + int GRAPH = 3; + + /** + * The feature id for the '<em><b>Element</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH__ELEMENT = 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH__NAME = 1; + + /** + * The number of structural features of the '<em>Graph</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_FEATURE_COUNT = 2; + + /** + * The number of operations of the '<em>Graph</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH_OPERATION_COUNT = 0; + + + /** + * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node <em>Node</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Node</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node + * @generated + */ + EClass getNode(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getIncoming <em>Incoming</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Incoming</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getIncoming() + * @see #getNode() + * @generated + */ + EReference getNode_Incoming(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getOutgoing <em>Outgoing</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Outgoing</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getOutgoing() + * @see #getNode() + * @generated + */ + EReference getNode_Outgoing(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getLabel <em>Label</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Label</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node#getLabel() + * @see #getNode() + * @generated + */ + EAttribute getNode_Label(); + + /** + * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge <em>Edge</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Edge</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge + * @generated + */ + EClass getEdge(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getTarget <em>Target</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Target</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getTarget() + * @see #getEdge() + * @generated + */ + EReference getEdge_Target(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getSource <em>Source</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Source</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge#getSource() + * @see #getEdge() + * @generated + */ + EReference getEdge_Source(); + + /** + * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element <em>Element</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Element</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element + * @generated + */ + EClass getElement(); + + /** + * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element#getGraph <em>Graph</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Graph</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element#getGraph() + * @see #getElement() + * @generated + */ + EReference getElement_Graph(); + + /** + * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph <em>Graph</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Graph</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph + * @generated + */ + EClass getGraph(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph#getElement <em>Element</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Element</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph#getElement() + * @see #getGraph() + * @generated + */ + EReference getGraph_Element(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph#getName() + * @see #getGraph() + * @generated + */ + EAttribute getGraph_Name(); + + /** + * 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 + */ + SimplegraphFactory getSimplegraphFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.NodeImpl <em>Node</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.NodeImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphPackageImpl#getNode() + * @generated + */ + EClass NODE = eINSTANCE.getNode(); + + /** + * The meta object literal for the '<em><b>Incoming</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NODE__INCOMING = eINSTANCE.getNode_Incoming(); + + /** + * The meta object literal for the '<em><b>Outgoing</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NODE__OUTGOING = eINSTANCE.getNode_Outgoing(); + + /** + * The meta object literal for the '<em><b>Label</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute NODE__LABEL = eINSTANCE.getNode_Label(); + + /** + * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.EdgeImpl <em>Edge</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.EdgeImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphPackageImpl#getEdge() + * @generated + */ + EClass EDGE = eINSTANCE.getEdge(); + + /** + * The meta object literal for the '<em><b>Target</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference EDGE__TARGET = eINSTANCE.getEdge_Target(); + + /** + * The meta object literal for the '<em><b>Source</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference EDGE__SOURCE = eINSTANCE.getEdge_Source(); + + /** + * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.ElementImpl <em>Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.ElementImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphPackageImpl#getElement() + * @generated + */ + EClass ELEMENT = eINSTANCE.getElement(); + + /** + * The meta object literal for the '<em><b>Graph</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ELEMENT__GRAPH = eINSTANCE.getElement_Graph(); + + /** + * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.GraphImpl <em>Graph</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.GraphImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphPackageImpl#getGraph() + * @generated + */ + EClass GRAPH = eINSTANCE.getGraph(); + + /** + * The meta object literal for the '<em><b>Element</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GRAPH__ELEMENT = eINSTANCE.getGraph_Element(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute GRAPH__NAME = eINSTANCE.getGraph_Name(); + + } + +} //SimplegraphPackage diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/EdgeImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/EdgeImpl.java new file mode 100644 index 000000000..c63dd47e2 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/EdgeImpl.java @@ -0,0 +1,298 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Edge</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.EdgeImpl#getTarget <em>Target</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.EdgeImpl#getSource <em>Source</em>}</li> + * </ul> + * + * @generated + */ +public class EdgeImpl extends ElementImpl implements Edge { + /** + * The cached value of the '{@link #getTarget() <em>Target</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTarget() + * @generated + * @ordered + */ + protected Node target; + + /** + * The cached value of the '{@link #getSource() <em>Source</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSource() + * @generated + * @ordered + */ + protected Node source; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EdgeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimplegraphPackage.Literals.EDGE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node getTarget() { + if (target != null && target.eIsProxy()) { + InternalEObject oldTarget = (InternalEObject)target; + target = (Node)eResolveProxy(oldTarget); + if (target != oldTarget) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplegraphPackage.EDGE__TARGET, oldTarget, target)); + } + } + return target; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node basicGetTarget() { + return target; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetTarget(Node newTarget, NotificationChain msgs) { + Node oldTarget = target; + target = newTarget; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimplegraphPackage.EDGE__TARGET, oldTarget, newTarget); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTarget(Node newTarget) { + if (newTarget != target) { + NotificationChain msgs = null; + if (target != null) + msgs = ((InternalEObject)target).eInverseRemove(this, SimplegraphPackage.NODE__INCOMING, Node.class, msgs); + if (newTarget != null) + msgs = ((InternalEObject)newTarget).eInverseAdd(this, SimplegraphPackage.NODE__INCOMING, Node.class, msgs); + msgs = basicSetTarget(newTarget, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimplegraphPackage.EDGE__TARGET, newTarget, newTarget)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node getSource() { + if (source != null && source.eIsProxy()) { + InternalEObject oldSource = (InternalEObject)source; + source = (Node)eResolveProxy(oldSource); + if (source != oldSource) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplegraphPackage.EDGE__SOURCE, oldSource, source)); + } + } + return source; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node basicGetSource() { + return source; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetSource(Node newSource, NotificationChain msgs) { + Node oldSource = source; + source = newSource; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimplegraphPackage.EDGE__SOURCE, oldSource, newSource); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSource(Node newSource) { + if (newSource != source) { + NotificationChain msgs = null; + if (source != null) + msgs = ((InternalEObject)source).eInverseRemove(this, SimplegraphPackage.NODE__OUTGOING, Node.class, msgs); + if (newSource != null) + msgs = ((InternalEObject)newSource).eInverseAdd(this, SimplegraphPackage.NODE__OUTGOING, Node.class, msgs); + msgs = basicSetSource(newSource, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimplegraphPackage.EDGE__SOURCE, newSource, newSource)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SimplegraphPackage.EDGE__TARGET: + if (target != null) + msgs = ((InternalEObject)target).eInverseRemove(this, SimplegraphPackage.NODE__INCOMING, Node.class, msgs); + return basicSetTarget((Node)otherEnd, msgs); + case SimplegraphPackage.EDGE__SOURCE: + if (source != null) + msgs = ((InternalEObject)source).eInverseRemove(this, SimplegraphPackage.NODE__OUTGOING, Node.class, msgs); + return basicSetSource((Node)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 SimplegraphPackage.EDGE__TARGET: + return basicSetTarget(null, msgs); + case SimplegraphPackage.EDGE__SOURCE: + return basicSetSource(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SimplegraphPackage.EDGE__TARGET: + if (resolve) return getTarget(); + return basicGetTarget(); + case SimplegraphPackage.EDGE__SOURCE: + if (resolve) return getSource(); + return basicGetSource(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SimplegraphPackage.EDGE__TARGET: + setTarget((Node)newValue); + return; + case SimplegraphPackage.EDGE__SOURCE: + setSource((Node)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SimplegraphPackage.EDGE__TARGET: + setTarget((Node)null); + return; + case SimplegraphPackage.EDGE__SOURCE: + setSource((Node)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimplegraphPackage.EDGE__TARGET: + return target != null; + case SimplegraphPackage.EDGE__SOURCE: + return source != null; + } + return super.eIsSet(featureID); + } + + +} //EdgeImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/ElementImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/ElementImpl.java new file mode 100644 index 000000000..cbaea8ae3 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/ElementImpl.java @@ -0,0 +1,197 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EcoreUtil; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Element</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.ElementImpl#getGraph <em>Graph</em>}</li> + * </ul> + * + * @generated + */ +public abstract class ElementImpl extends MinimalEObjectImpl.Container implements Element { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ElementImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimplegraphPackage.Literals.ELEMENT; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph getGraph() { + if (eContainerFeatureID() != SimplegraphPackage.ELEMENT__GRAPH) return null; + return (Graph)eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetGraph(Graph newGraph, NotificationChain msgs) { + msgs = eBasicSetContainer((InternalEObject)newGraph, SimplegraphPackage.ELEMENT__GRAPH, msgs); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setGraph(Graph newGraph) { + if (newGraph != eInternalContainer() || (eContainerFeatureID() != SimplegraphPackage.ELEMENT__GRAPH && newGraph != null)) { + if (EcoreUtil.isAncestor(this, newGraph)) + throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); + NotificationChain msgs = null; + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + if (newGraph != null) + msgs = ((InternalEObject)newGraph).eInverseAdd(this, SimplegraphPackage.GRAPH__ELEMENT, Graph.class, msgs); + msgs = basicSetGraph(newGraph, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimplegraphPackage.ELEMENT__GRAPH, newGraph, newGraph)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SimplegraphPackage.ELEMENT__GRAPH: + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + return basicSetGraph((Graph)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 SimplegraphPackage.ELEMENT__GRAPH: + return basicSetGraph(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { + switch (eContainerFeatureID()) { + case SimplegraphPackage.ELEMENT__GRAPH: + return eInternalContainer().eInverseRemove(this, SimplegraphPackage.GRAPH__ELEMENT, Graph.class, msgs); + } + return super.eBasicRemoveFromContainerFeature(msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SimplegraphPackage.ELEMENT__GRAPH: + return getGraph(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SimplegraphPackage.ELEMENT__GRAPH: + setGraph((Graph)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SimplegraphPackage.ELEMENT__GRAPH: + setGraph((Graph)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimplegraphPackage.ELEMENT__GRAPH: + return getGraph() != null; + } + return super.eIsSet(featureID); + } + + +} //ElementImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/GraphImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/GraphImpl.java new file mode 100644 index 000000000..3fc8660b2 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/GraphImpl.java @@ -0,0 +1,238 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Graph</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.GraphImpl#getElement <em>Element</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.GraphImpl#getName <em>Name</em>}</li> + * </ul> + * + * @generated + */ +public class GraphImpl extends MinimalEObjectImpl.Container implements Graph { + /** + * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getElement() + * @generated + * @ordered + */ + protected EList<Element> element; + + /** + * 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 GraphImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimplegraphPackage.Literals.GRAPH; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Element> getElement() { + if (element == null) { + element = new EObjectContainmentWithInverseEList<Element>(Element.class, this, SimplegraphPackage.GRAPH__ELEMENT, SimplegraphPackage.ELEMENT__GRAPH); + } + return element; + } + + /** + * <!-- 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, SimplegraphPackage.GRAPH__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 SimplegraphPackage.GRAPH__ELEMENT: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getElement()).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 SimplegraphPackage.GRAPH__ELEMENT: + return ((InternalEList<?>)getElement()).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 SimplegraphPackage.GRAPH__ELEMENT: + return getElement(); + case SimplegraphPackage.GRAPH__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 SimplegraphPackage.GRAPH__ELEMENT: + getElement().clear(); + getElement().addAll((Collection<? extends Element>)newValue); + return; + case SimplegraphPackage.GRAPH__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 SimplegraphPackage.GRAPH__ELEMENT: + getElement().clear(); + return; + case SimplegraphPackage.GRAPH__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimplegraphPackage.GRAPH__ELEMENT: + return element != null && !element.isEmpty(); + case SimplegraphPackage.GRAPH__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(); + } + + +} //GraphImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/NodeImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/NodeImpl.java new file mode 100644 index 000000000..5ef30b006 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/NodeImpl.java @@ -0,0 +1,275 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.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.EObjectWithInverseResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Node</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.NodeImpl#getIncoming <em>Incoming</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.NodeImpl#getOutgoing <em>Outgoing</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.NodeImpl#getLabel <em>Label</em>}</li> + * </ul> + * + * @generated + */ +public class NodeImpl extends ElementImpl implements Node { + /** + * The cached value of the '{@link #getIncoming() <em>Incoming</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getIncoming() + * @generated + * @ordered + */ + protected EList<Edge> incoming; + + /** + * The cached value of the '{@link #getOutgoing() <em>Outgoing</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOutgoing() + * @generated + * @ordered + */ + protected EList<Edge> outgoing; + + /** + * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLabel() + * @generated + * @ordered + */ + protected static final String LABEL_EDEFAULT = null; + + /** + * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLabel() + * @generated + * @ordered + */ + protected String label = LABEL_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NodeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimplegraphPackage.Literals.NODE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Edge> getIncoming() { + if (incoming == null) { + incoming = new EObjectWithInverseResolvingEList<Edge>(Edge.class, this, SimplegraphPackage.NODE__INCOMING, SimplegraphPackage.EDGE__TARGET); + } + return incoming; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Edge> getOutgoing() { + if (outgoing == null) { + outgoing = new EObjectWithInverseResolvingEList<Edge>(Edge.class, this, SimplegraphPackage.NODE__OUTGOING, SimplegraphPackage.EDGE__SOURCE); + } + return outgoing; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLabel() { + return label; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLabel(String newLabel) { + String oldLabel = label; + label = newLabel; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimplegraphPackage.NODE__LABEL, oldLabel, label)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SimplegraphPackage.NODE__INCOMING: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncoming()).basicAdd(otherEnd, msgs); + case SimplegraphPackage.NODE__OUTGOING: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoing()).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 SimplegraphPackage.NODE__INCOMING: + return ((InternalEList<?>)getIncoming()).basicRemove(otherEnd, msgs); + case SimplegraphPackage.NODE__OUTGOING: + return ((InternalEList<?>)getOutgoing()).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 SimplegraphPackage.NODE__INCOMING: + return getIncoming(); + case SimplegraphPackage.NODE__OUTGOING: + return getOutgoing(); + case SimplegraphPackage.NODE__LABEL: + return getLabel(); + } + 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 SimplegraphPackage.NODE__INCOMING: + getIncoming().clear(); + getIncoming().addAll((Collection<? extends Edge>)newValue); + return; + case SimplegraphPackage.NODE__OUTGOING: + getOutgoing().clear(); + getOutgoing().addAll((Collection<? extends Edge>)newValue); + return; + case SimplegraphPackage.NODE__LABEL: + setLabel((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SimplegraphPackage.NODE__INCOMING: + getIncoming().clear(); + return; + case SimplegraphPackage.NODE__OUTGOING: + getOutgoing().clear(); + return; + case SimplegraphPackage.NODE__LABEL: + setLabel(LABEL_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimplegraphPackage.NODE__INCOMING: + return incoming != null && !incoming.isEmpty(); + case SimplegraphPackage.NODE__OUTGOING: + return outgoing != null && !outgoing.isEmpty(); + case SimplegraphPackage.NODE__LABEL: + return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label); + } + 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(" (label: "); + result.append(label); + result.append(')'); + return result.toString(); + } + + +} //NodeImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/SimplegraphFactoryImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/SimplegraphFactoryImpl.java new file mode 100644 index 000000000..52b5d5e37 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/SimplegraphFactoryImpl.java @@ -0,0 +1,117 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.*; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class SimplegraphFactoryImpl extends EFactoryImpl implements SimplegraphFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static SimplegraphFactory init() { + try { + SimplegraphFactory theSimplegraphFactory = (SimplegraphFactory)EPackage.Registry.INSTANCE.getEFactory(SimplegraphPackage.eNS_URI); + if (theSimplegraphFactory != null) { + return theSimplegraphFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new SimplegraphFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SimplegraphFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case SimplegraphPackage.NODE: return createNode(); + case SimplegraphPackage.EDGE: return createEdge(); + case SimplegraphPackage.GRAPH: return createGraph(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node createNode() { + NodeImpl node = new NodeImpl(); + return node; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Edge createEdge() { + EdgeImpl edge = new EdgeImpl(); + return edge; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph createGraph() { + GraphImpl graph = new GraphImpl(); + return graph; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SimplegraphPackage getSimplegraphPackage() { + return (SimplegraphPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static SimplegraphPackage getPackage() { + return SimplegraphPackage.eINSTANCE; + } + +} //SimplegraphFactoryImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/SimplegraphPackageImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/SimplegraphPackageImpl.java new file mode 100644 index 000000000..aea2f4eb6 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/impl/SimplegraphPackageImpl.java @@ -0,0 +1,330 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphFactory; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphPackageImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class SimplegraphPackageImpl extends EPackageImpl implements SimplegraphPackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass nodeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass edgeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass elementEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass graphEClass = 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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage#eNS_URI + * @see #init() + * @generated + */ + private SimplegraphPackageImpl() { + super(eNS_URI, SimplegraphFactory.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 SimplegraphPackage#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 SimplegraphPackage init() { + if (isInited) return (SimplegraphPackage)EPackage.Registry.INSTANCE.getEPackage(SimplegraphPackage.eNS_URI); + + // Obtain or create and register package + Object ePackage = EPackage.Registry.INSTANCE.get(eNS_URI); + SimplegraphPackageImpl theSimplegraphPackage = (SimplegraphPackageImpl)(ePackage instanceof SimplegraphPackageImpl ? ePackage : new SimplegraphPackageImpl()); + + isInited = true; + + // Obtain or create and register interdependencies + Simplegraph2graphPackageImpl theSimplegraph2graphPackage = (Simplegraph2graphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(Simplegraph2graphPackage.eNS_URI) instanceof Simplegraph2graphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(Simplegraph2graphPackage.eNS_URI) : Simplegraph2graphPackage.eINSTANCE); + + // Create package meta-data objects + theSimplegraphPackage.createPackageContents(); + theSimplegraph2graphPackage.createPackageContents(); + + // Initialize created meta-data + theSimplegraphPackage.initializePackageContents(); + theSimplegraph2graphPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theSimplegraphPackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(SimplegraphPackage.eNS_URI, theSimplegraphPackage); + return theSimplegraphPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getNode() { + return nodeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNode_Incoming() { + return (EReference)nodeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNode_Outgoing() { + return (EReference)nodeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getNode_Label() { + return (EAttribute)nodeEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getEdge() { + return edgeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getEdge_Target() { + return (EReference)edgeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getEdge_Source() { + return (EReference)edgeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getElement() { + return elementEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getElement_Graph() { + return (EReference)elementEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGraph() { + return graphEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGraph_Element() { + return (EReference)graphEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getGraph_Name() { + return (EAttribute)graphEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SimplegraphFactory getSimplegraphFactory() { + return (SimplegraphFactory)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 + nodeEClass = createEClass(NODE); + createEReference(nodeEClass, NODE__INCOMING); + createEReference(nodeEClass, NODE__OUTGOING); + createEAttribute(nodeEClass, NODE__LABEL); + + edgeEClass = createEClass(EDGE); + createEReference(edgeEClass, EDGE__TARGET); + createEReference(edgeEClass, EDGE__SOURCE); + + elementEClass = createEClass(ELEMENT); + createEReference(elementEClass, ELEMENT__GRAPH); + + graphEClass = createEClass(GRAPH); + createEReference(graphEClass, GRAPH__ELEMENT); + createEAttribute(graphEClass, GRAPH__NAME); + } + + /** + * <!-- 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 + nodeEClass.getESuperTypes().add(this.getElement()); + edgeEClass.getESuperTypes().add(this.getElement()); + + // Initialize classes, features, and operations; add parameters + initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getNode_Incoming(), this.getEdge(), this.getEdge_Target(), "incoming", null, 0, -1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getNode_Outgoing(), this.getEdge(), this.getEdge_Source(), "outgoing", null, 0, -1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getNode_Label(), ecorePackage.getEString(), "label", null, 0, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(edgeEClass, Edge.class, "Edge", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getEdge_Target(), this.getNode(), this.getNode_Incoming(), "target", null, 0, 1, Edge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getEdge_Source(), this.getNode(), this.getNode_Outgoing(), "source", null, 0, 1, Edge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(elementEClass, Element.class, "Element", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getElement_Graph(), this.getGraph(), this.getGraph_Element(), "graph", null, 1, 1, Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(graphEClass, Graph.class, "Graph", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getGraph_Element(), this.getElement(), this.getElement_Graph(), "element", null, 0, -1, Graph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getGraph_Name(), ecorePackage.getEString(), "name", null, 0, 1, Graph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + } + +} //SimplegraphPackageImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/util/SimplegraphAdapterFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/util/SimplegraphAdapterFactory.java new file mode 100644 index 000000000..40853b5e8 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/util/SimplegraphAdapterFactory.java @@ -0,0 +1,176 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.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.jdt.annotation.Nullable; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.*; + +/** + * <!-- 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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage + * @generated + */ +public class SimplegraphAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static SimplegraphPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SimplegraphAdapterFactory() { + if (modelPackage == null) { + modelPackage = SimplegraphPackage.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 SimplegraphSwitch<@Nullable Adapter> modelSwitch = + new SimplegraphSwitch<@Nullable Adapter>() { + @Override + public Adapter caseNode(Node object) { + return createNodeAdapter(); + } + @Override + public Adapter caseEdge(Edge object) { + return createEdgeAdapter(); + } + @Override + public Adapter caseElement(Element object) { + return createElementAdapter(); + } + @Override + public Adapter caseGraph(Graph object) { + return createGraphAdapter(); + } + @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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node <em>Node</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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node + * @generated + */ + public Adapter createNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge <em>Edge</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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge + * @generated + */ + public Adapter createEdgeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element <em>Element</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Element + * @generated + */ + public Adapter createElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph <em>Graph</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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph + * @generated + */ + public Adapter createGraphAdapter() { + 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; + } + +} //SimplegraphAdapterFactory diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/util/SimplegraphSwitch.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/util/SimplegraphSwitch.java new file mode 100644 index 000000000..273e1ba63 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph/util/SimplegraphSwitch.java @@ -0,0 +1,177 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import org.eclipse.jdt.annotation.Nullable; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.*; + +/** + * <!-- 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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage + * @generated + */ +public class SimplegraphSwitch<@Nullable T> extends Switch<T> { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static SimplegraphPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public SimplegraphSwitch() { + if (modelPackage == null) { + modelPackage = SimplegraphPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case SimplegraphPackage.NODE: { + Node node = (Node)theEObject; + T result = caseNode(node); + if (result == null) result = caseElement(node); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimplegraphPackage.EDGE: { + Edge edge = (Edge)theEObject; + T result = caseEdge(edge); + if (result == null) result = caseElement(edge); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimplegraphPackage.ELEMENT: { + Element element = (Element)theEObject; + T result = caseElement(element); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimplegraphPackage.GRAPH: { + Graph graph = (Graph)theEObject; + T result = caseGraph(graph); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Node</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>Node</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNode(Node object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Edge</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>Edge</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEdge(Edge object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Element</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Element</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseElement(Element object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Graph</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>Graph</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGraph(Graph 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; + } + +} //SimplegraphSwitch diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Edge2Edge.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Edge2Edge.java new file mode 100644 index 000000000..378b6c5f9 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Edge2Edge.java @@ -0,0 +1,135 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Edge2 Edge</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getEdge1 <em>Edge1</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getEdge2 <em>Edge2</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getTarget <em>Target</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getSource <em>Source</em>}</li> + * </ul> + * + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getEdge2Edge() + * @model + * @generated + */ +public interface Edge2Edge extends Element2Element { + /** + * Returns the value of the '<em><b>Edge1</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Edge1</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Edge1</em>' reference. + * @see #setEdge1(Edge) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getEdge2Edge_Edge1() + * @model annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper body='1'" + * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='middle1'" + * annotation="http://www.eclipse.org/qvt#Domains referredDomain='upperGraph'" + * @generated + */ + Edge getEdge1(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getEdge1 <em>Edge1</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Edge1</em>' reference. + * @see #getEdge1() + * @generated + */ + void setEdge1(Edge value); + + /** + * Returns the value of the '<em><b>Edge2</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Edge2</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Edge2</em>' reference. + * @see #setEdge2(Edge) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getEdge2Edge_Edge2() + * @model annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper body='1'" + * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='middle2'" + * annotation="http://www.eclipse.org/qvt#Domains referredDomain='lowerGraph'" + * @generated + */ + Edge getEdge2(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getEdge2 <em>Edge2</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Edge2</em>' reference. + * @see #getEdge2() + * @generated + */ + void setEdge2(Edge value); + + /** + * Returns the value of the '<em><b>Target</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Target</em>' reference. + * @see #setTarget(Node2Node) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getEdge2Edge_Target() + * @model + * @generated + */ + Node2Node getTarget(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getTarget <em>Target</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target</em>' reference. + * @see #getTarget() + * @generated + */ + void setTarget(Node2Node value); + + /** + * Returns the value of the '<em><b>Source</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Source</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Source</em>' reference. + * @see #setSource(Node2Node) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getEdge2Edge_Source() + * @model + * @generated + */ + Node2Node getSource(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getSource <em>Source</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Source</em>' reference. + * @see #getSource() + * @generated + */ + void setSource(Node2Node value); + +} // Edge2Edge diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Element2Element.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Element2Element.java new file mode 100644 index 000000000..f676d5748 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Element2Element.java @@ -0,0 +1,52 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Element2 Element</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element#getOwner <em>Owner</em>}</li> + * </ul> + * + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getElement2Element() + * @model abstract="true" + * @generated + */ +public interface Element2Element extends EObject { + /** + * Returns the value of the '<em><b>Owner</b></em>' container reference. + * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getElement2Element <em>Element2 Element</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Owner</em>' container reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Owner</em>' container reference. + * @see #setOwner(Graph2Graph) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getElement2Element_Owner() + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getElement2Element + * @model opposite="element2Element" transient="false" + * @generated + */ + Graph2Graph getOwner(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element#getOwner <em>Owner</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Owner</em>' container reference. + * @see #getOwner() + * @generated + */ + void setOwner(Graph2Graph value); + +} // Element2Element diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Graph2Graph.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Graph2Graph.java new file mode 100644 index 000000000..07b7aac0b --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Graph2Graph.java @@ -0,0 +1,131 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Graph2 Graph</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getGraph1 <em>Graph1</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getGraph2 <em>Graph2</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getElement2Element <em>Element2 Element</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getName <em>Name</em>}</li> + * </ul> + * + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getGraph2Graph() + * @model + * @generated + */ +public interface Graph2Graph extends EObject { + /** + * Returns the value of the '<em><b>Graph1</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Graph1</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Graph1</em>' reference. + * @see #setGraph1(Graph) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getGraph2Graph_Graph1() + * @model annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper body='1'" + * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='middle1'" + * annotation="http://www.eclipse.org/qvt#Domains referredDomain='upperGraph'" + * @generated + */ + Graph getGraph1(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getGraph1 <em>Graph1</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Graph1</em>' reference. + * @see #getGraph1() + * @generated + */ + void setGraph1(Graph value); + + /** + * Returns the value of the '<em><b>Graph2</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Graph2</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Graph2</em>' reference. + * @see #setGraph2(Graph) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getGraph2Graph_Graph2() + * @model annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper body='1'" + * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='middle2'" + * annotation="http://www.eclipse.org/qvt#Domains referredDomain='lowerGraph'" + * @generated + */ + Graph getGraph2(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getGraph2 <em>Graph2</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Graph2</em>' reference. + * @see #getGraph2() + * @generated + */ + void setGraph2(Graph value); + + /** + * Returns the value of the '<em><b>Element2 Element</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element}. + * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element#getOwner <em>Owner</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Element2 Element</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>Element2 Element</em>' containment reference list. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getGraph2Graph_Element2Element() + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element#getOwner + * @model opposite="owner" containment="true" + * @generated + */ + EList<Element2Element> getElement2Element(); + + /** + * 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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getGraph2Graph_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#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); + +} // Graph2Graph diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Node2Node.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Node2Node.java new file mode 100644 index 000000000..8d5136b9d --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Node2Node.java @@ -0,0 +1,108 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Node2 Node</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getNode1 <em>Node1</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getNode2 <em>Node2</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getLabel <em>Label</em>}</li> + * </ul> + * + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getNode2Node() + * @model + * @generated + */ +public interface Node2Node extends Element2Element { + /** + * Returns the value of the '<em><b>Node1</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Node1</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Node1</em>' reference. + * @see #setNode1(Node) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getNode2Node_Node1() + * @model annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper body='1'" + * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='middle1'" + * annotation="http://www.eclipse.org/qvt#Domains referredDomain='upperGraph'" + * @generated + */ + Node getNode1(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getNode1 <em>Node1</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Node1</em>' reference. + * @see #getNode1() + * @generated + */ + void setNode1(Node value); + + /** + * Returns the value of the '<em><b>Node2</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Node2</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Node2</em>' reference. + * @see #setNode2(Node) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getNode2Node_Node2() + * @model annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper body='1'" + * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='middle2'" + * annotation="http://www.eclipse.org/qvt#Domains referredDomain='lowerGraph'" + * @generated + */ + Node getNode2(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getNode2 <em>Node2</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Node2</em>' reference. + * @see #getNode2() + * @generated + */ + void setNode2(Node value); + + /** + * Returns the value of the '<em><b>Label</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Label</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Label</em>' attribute. + * @see #setLabel(String) + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#getNode2Node_Label() + * @model + * @generated + */ + String getLabel(); + + /** + * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getLabel <em>Label</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Label</em>' attribute. + * @see #getLabel() + * @generated + */ + void setLabel(String value); + +} // Node2Node diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Simplegraph2graphFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Simplegraph2graphFactory.java new file mode 100644 index 000000000..f3179c954 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Simplegraph2graphFactory.java @@ -0,0 +1,60 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph; + +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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage + * @generated + */ +public interface Simplegraph2graphFactory extends EFactory { + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + Simplegraph2graphFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Graph2 Graph</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Graph2 Graph</em>'. + * @generated + */ + Graph2Graph createGraph2Graph(); + + /** + * Returns a new object of class '<em>Edge2 Edge</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Edge2 Edge</em>'. + * @generated + */ + Edge2Edge createEdge2Edge(); + + /** + * Returns a new object of class '<em>Node2 Node</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Node2 Node</em>'. + * @generated + */ + Node2Node createNode2Node(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + Simplegraph2graphPackage getSimplegraph2graphPackage(); + +} //Simplegraph2graphFactory diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Simplegraph2graphPackage.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Simplegraph2graphPackage.java new file mode 100644 index 000000000..5f94430d3 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/Simplegraph2graphPackage.java @@ -0,0 +1,631 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphFactory + * @model kind="package" + * @generated + */ +public interface Simplegraph2graphPackage extends EPackage { + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "simplegraph2graph"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/qvtd/xtext/qvtcore/tests/Upper2Lower/1.0/SimpleGraph2Graph"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "simplegraph2graph"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + Simplegraph2graphPackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphPackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Graph2GraphImpl <em>Graph2 Graph</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Graph2GraphImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphPackageImpl#getGraph2Graph() + * @generated + */ + int GRAPH2_GRAPH = 0; + + /** + * The feature id for the '<em><b>Graph1</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH2_GRAPH__GRAPH1 = 0; + + /** + * The feature id for the '<em><b>Graph2</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH2_GRAPH__GRAPH2 = 1; + + /** + * The feature id for the '<em><b>Element2 Element</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH2_GRAPH__ELEMENT2_ELEMENT = 2; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH2_GRAPH__NAME = 3; + + /** + * The number of structural features of the '<em>Graph2 Graph</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH2_GRAPH_FEATURE_COUNT = 4; + + /** + * The number of operations of the '<em>Graph2 Graph</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GRAPH2_GRAPH_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Element2ElementImpl <em>Element2 Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Element2ElementImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphPackageImpl#getElement2Element() + * @generated + */ + int ELEMENT2_ELEMENT = 1; + + /** + * The feature id for the '<em><b>Owner</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ELEMENT2_ELEMENT__OWNER = 0; + + /** + * The number of structural features of the '<em>Element2 Element</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ELEMENT2_ELEMENT_FEATURE_COUNT = 1; + + /** + * The number of operations of the '<em>Element2 Element</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ELEMENT2_ELEMENT_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Edge2EdgeImpl <em>Edge2 Edge</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Edge2EdgeImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphPackageImpl#getEdge2Edge() + * @generated + */ + int EDGE2_EDGE = 2; + + /** + * The feature id for the '<em><b>Owner</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE2_EDGE__OWNER = ELEMENT2_ELEMENT__OWNER; + + /** + * The feature id for the '<em><b>Edge1</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE2_EDGE__EDGE1 = ELEMENT2_ELEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Edge2</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE2_EDGE__EDGE2 = ELEMENT2_ELEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Target</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE2_EDGE__TARGET = ELEMENT2_ELEMENT_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Source</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE2_EDGE__SOURCE = ELEMENT2_ELEMENT_FEATURE_COUNT + 3; + + /** + * The number of structural features of the '<em>Edge2 Edge</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE2_EDGE_FEATURE_COUNT = ELEMENT2_ELEMENT_FEATURE_COUNT + 4; + + /** + * The number of operations of the '<em>Edge2 Edge</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EDGE2_EDGE_OPERATION_COUNT = ELEMENT2_ELEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Node2NodeImpl <em>Node2 Node</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Node2NodeImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphPackageImpl#getNode2Node() + * @generated + */ + int NODE2_NODE = 3; + + /** + * The feature id for the '<em><b>Owner</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE2_NODE__OWNER = ELEMENT2_ELEMENT__OWNER; + + /** + * The feature id for the '<em><b>Node1</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE2_NODE__NODE1 = ELEMENT2_ELEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Node2</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE2_NODE__NODE2 = ELEMENT2_ELEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Label</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE2_NODE__LABEL = ELEMENT2_ELEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Node2 Node</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE2_NODE_FEATURE_COUNT = ELEMENT2_ELEMENT_FEATURE_COUNT + 3; + + /** + * The number of operations of the '<em>Node2 Node</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NODE2_NODE_OPERATION_COUNT = ELEMENT2_ELEMENT_OPERATION_COUNT + 0; + + + /** + * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph <em>Graph2 Graph</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Graph2 Graph</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph + * @generated + */ + EClass getGraph2Graph(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getGraph1 <em>Graph1</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Graph1</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getGraph1() + * @see #getGraph2Graph() + * @generated + */ + EReference getGraph2Graph_Graph1(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getGraph2 <em>Graph2</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Graph2</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getGraph2() + * @see #getGraph2Graph() + * @generated + */ + EReference getGraph2Graph_Graph2(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getElement2Element <em>Element2 Element</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Element2 Element</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getElement2Element() + * @see #getGraph2Graph() + * @generated + */ + EReference getGraph2Graph_Element2Element(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph#getName() + * @see #getGraph2Graph() + * @generated + */ + EAttribute getGraph2Graph_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element <em>Element2 Element</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Element2 Element</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element + * @generated + */ + EClass getElement2Element(); + + /** + * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element#getOwner <em>Owner</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Owner</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element#getOwner() + * @see #getElement2Element() + * @generated + */ + EReference getElement2Element_Owner(); + + /** + * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge <em>Edge2 Edge</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Edge2 Edge</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge + * @generated + */ + EClass getEdge2Edge(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getEdge1 <em>Edge1</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Edge1</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getEdge1() + * @see #getEdge2Edge() + * @generated + */ + EReference getEdge2Edge_Edge1(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getEdge2 <em>Edge2</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Edge2</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getEdge2() + * @see #getEdge2Edge() + * @generated + */ + EReference getEdge2Edge_Edge2(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getTarget <em>Target</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Target</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getTarget() + * @see #getEdge2Edge() + * @generated + */ + EReference getEdge2Edge_Target(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getSource <em>Source</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Source</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge#getSource() + * @see #getEdge2Edge() + * @generated + */ + EReference getEdge2Edge_Source(); + + /** + * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node <em>Node2 Node</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Node2 Node</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node + * @generated + */ + EClass getNode2Node(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getNode1 <em>Node1</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Node1</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getNode1() + * @see #getNode2Node() + * @generated + */ + EReference getNode2Node_Node1(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getNode2 <em>Node2</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Node2</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getNode2() + * @see #getNode2Node() + * @generated + */ + EReference getNode2Node_Node2(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getLabel <em>Label</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Label</em>'. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node#getLabel() + * @see #getNode2Node() + * @generated + */ + EAttribute getNode2Node_Label(); + + /** + * 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 + */ + Simplegraph2graphFactory getSimplegraph2graphFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Graph2GraphImpl <em>Graph2 Graph</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Graph2GraphImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphPackageImpl#getGraph2Graph() + * @generated + */ + EClass GRAPH2_GRAPH = eINSTANCE.getGraph2Graph(); + + /** + * The meta object literal for the '<em><b>Graph1</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GRAPH2_GRAPH__GRAPH1 = eINSTANCE.getGraph2Graph_Graph1(); + + /** + * The meta object literal for the '<em><b>Graph2</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GRAPH2_GRAPH__GRAPH2 = eINSTANCE.getGraph2Graph_Graph2(); + + /** + * The meta object literal for the '<em><b>Element2 Element</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GRAPH2_GRAPH__ELEMENT2_ELEMENT = eINSTANCE.getGraph2Graph_Element2Element(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute GRAPH2_GRAPH__NAME = eINSTANCE.getGraph2Graph_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Element2ElementImpl <em>Element2 Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Element2ElementImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphPackageImpl#getElement2Element() + * @generated + */ + EClass ELEMENT2_ELEMENT = eINSTANCE.getElement2Element(); + + /** + * The meta object literal for the '<em><b>Owner</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ELEMENT2_ELEMENT__OWNER = eINSTANCE.getElement2Element_Owner(); + + /** + * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Edge2EdgeImpl <em>Edge2 Edge</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Edge2EdgeImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphPackageImpl#getEdge2Edge() + * @generated + */ + EClass EDGE2_EDGE = eINSTANCE.getEdge2Edge(); + + /** + * The meta object literal for the '<em><b>Edge1</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference EDGE2_EDGE__EDGE1 = eINSTANCE.getEdge2Edge_Edge1(); + + /** + * The meta object literal for the '<em><b>Edge2</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference EDGE2_EDGE__EDGE2 = eINSTANCE.getEdge2Edge_Edge2(); + + /** + * The meta object literal for the '<em><b>Target</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference EDGE2_EDGE__TARGET = eINSTANCE.getEdge2Edge_Target(); + + /** + * The meta object literal for the '<em><b>Source</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference EDGE2_EDGE__SOURCE = eINSTANCE.getEdge2Edge_Source(); + + /** + * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Node2NodeImpl <em>Node2 Node</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Node2NodeImpl + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Simplegraph2graphPackageImpl#getNode2Node() + * @generated + */ + EClass NODE2_NODE = eINSTANCE.getNode2Node(); + + /** + * The meta object literal for the '<em><b>Node1</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NODE2_NODE__NODE1 = eINSTANCE.getNode2Node_Node1(); + + /** + * The meta object literal for the '<em><b>Node2</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NODE2_NODE__NODE2 = eINSTANCE.getNode2Node_Node2(); + + /** + * The meta object literal for the '<em><b>Label</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute NODE2_NODE__LABEL = eINSTANCE.getNode2Node_Label(); + + } + +} //Simplegraph2graphPackage diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Edge2EdgeImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Edge2EdgeImpl.java new file mode 100644 index 000000000..042b88535 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Edge2EdgeImpl.java @@ -0,0 +1,339 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Edge; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Edge2 Edge</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Edge2EdgeImpl#getEdge1 <em>Edge1</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Edge2EdgeImpl#getEdge2 <em>Edge2</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Edge2EdgeImpl#getTarget <em>Target</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Edge2EdgeImpl#getSource <em>Source</em>}</li> + * </ul> + * + * @generated + */ +public class Edge2EdgeImpl extends Element2ElementImpl implements Edge2Edge { + /** + * The cached value of the '{@link #getEdge1() <em>Edge1</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEdge1() + * @generated + * @ordered + */ + protected Edge edge1; + + /** + * The cached value of the '{@link #getEdge2() <em>Edge2</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEdge2() + * @generated + * @ordered + */ + protected Edge edge2; + + /** + * The cached value of the '{@link #getTarget() <em>Target</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTarget() + * @generated + * @ordered + */ + protected Node2Node target; + + /** + * The cached value of the '{@link #getSource() <em>Source</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSource() + * @generated + * @ordered + */ + protected Node2Node source; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Edge2EdgeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return Simplegraph2graphPackage.Literals.EDGE2_EDGE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Edge getEdge1() { + if (edge1 != null && edge1.eIsProxy()) { + InternalEObject oldEdge1 = (InternalEObject)edge1; + edge1 = (Edge)eResolveProxy(oldEdge1); + if (edge1 != oldEdge1) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, Simplegraph2graphPackage.EDGE2_EDGE__EDGE1, oldEdge1, edge1)); + } + } + return edge1; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Edge basicGetEdge1() { + return edge1; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setEdge1(Edge newEdge1) { + Edge oldEdge1 = edge1; + edge1 = newEdge1; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Simplegraph2graphPackage.EDGE2_EDGE__EDGE1, oldEdge1, edge1)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Edge getEdge2() { + if (edge2 != null && edge2.eIsProxy()) { + InternalEObject oldEdge2 = (InternalEObject)edge2; + edge2 = (Edge)eResolveProxy(oldEdge2); + if (edge2 != oldEdge2) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, Simplegraph2graphPackage.EDGE2_EDGE__EDGE2, oldEdge2, edge2)); + } + } + return edge2; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Edge basicGetEdge2() { + return edge2; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setEdge2(Edge newEdge2) { + Edge oldEdge2 = edge2; + edge2 = newEdge2; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Simplegraph2graphPackage.EDGE2_EDGE__EDGE2, oldEdge2, edge2)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node2Node getTarget() { + if (target != null && target.eIsProxy()) { + InternalEObject oldTarget = (InternalEObject)target; + target = (Node2Node)eResolveProxy(oldTarget); + if (target != oldTarget) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, Simplegraph2graphPackage.EDGE2_EDGE__TARGET, oldTarget, target)); + } + } + return target; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node2Node basicGetTarget() { + return target; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTarget(Node2Node newTarget) { + Node2Node oldTarget = target; + target = newTarget; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Simplegraph2graphPackage.EDGE2_EDGE__TARGET, oldTarget, target)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node2Node getSource() { + if (source != null && source.eIsProxy()) { + InternalEObject oldSource = (InternalEObject)source; + source = (Node2Node)eResolveProxy(oldSource); + if (source != oldSource) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, Simplegraph2graphPackage.EDGE2_EDGE__SOURCE, oldSource, source)); + } + } + return source; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node2Node basicGetSource() { + return source; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSource(Node2Node newSource) { + Node2Node oldSource = source; + source = newSource; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Simplegraph2graphPackage.EDGE2_EDGE__SOURCE, oldSource, source)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case Simplegraph2graphPackage.EDGE2_EDGE__EDGE1: + if (resolve) return getEdge1(); + return basicGetEdge1(); + case Simplegraph2graphPackage.EDGE2_EDGE__EDGE2: + if (resolve) return getEdge2(); + return basicGetEdge2(); + case Simplegraph2graphPackage.EDGE2_EDGE__TARGET: + if (resolve) return getTarget(); + return basicGetTarget(); + case Simplegraph2graphPackage.EDGE2_EDGE__SOURCE: + if (resolve) return getSource(); + return basicGetSource(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case Simplegraph2graphPackage.EDGE2_EDGE__EDGE1: + setEdge1((Edge)newValue); + return; + case Simplegraph2graphPackage.EDGE2_EDGE__EDGE2: + setEdge2((Edge)newValue); + return; + case Simplegraph2graphPackage.EDGE2_EDGE__TARGET: + setTarget((Node2Node)newValue); + return; + case Simplegraph2graphPackage.EDGE2_EDGE__SOURCE: + setSource((Node2Node)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case Simplegraph2graphPackage.EDGE2_EDGE__EDGE1: + setEdge1((Edge)null); + return; + case Simplegraph2graphPackage.EDGE2_EDGE__EDGE2: + setEdge2((Edge)null); + return; + case Simplegraph2graphPackage.EDGE2_EDGE__TARGET: + setTarget((Node2Node)null); + return; + case Simplegraph2graphPackage.EDGE2_EDGE__SOURCE: + setSource((Node2Node)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case Simplegraph2graphPackage.EDGE2_EDGE__EDGE1: + return edge1 != null; + case Simplegraph2graphPackage.EDGE2_EDGE__EDGE2: + return edge2 != null; + case Simplegraph2graphPackage.EDGE2_EDGE__TARGET: + return target != null; + case Simplegraph2graphPackage.EDGE2_EDGE__SOURCE: + return source != null; + } + return super.eIsSet(featureID); + } + + +} //Edge2EdgeImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Element2ElementImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Element2ElementImpl.java new file mode 100644 index 000000000..8696e40f5 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Element2ElementImpl.java @@ -0,0 +1,197 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EcoreUtil; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Element2 Element</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Element2ElementImpl#getOwner <em>Owner</em>}</li> + * </ul> + * + * @generated + */ +public abstract class Element2ElementImpl extends MinimalEObjectImpl.Container implements Element2Element { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Element2ElementImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return Simplegraph2graphPackage.Literals.ELEMENT2_ELEMENT; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph2Graph getOwner() { + if (eContainerFeatureID() != Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER) return null; + return (Graph2Graph)eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetOwner(Graph2Graph newOwner, NotificationChain msgs) { + msgs = eBasicSetContainer((InternalEObject)newOwner, Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER, msgs); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOwner(Graph2Graph newOwner) { + if (newOwner != eInternalContainer() || (eContainerFeatureID() != Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER && newOwner != null)) { + if (EcoreUtil.isAncestor(this, newOwner)) + throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); + NotificationChain msgs = null; + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + if (newOwner != null) + msgs = ((InternalEObject)newOwner).eInverseAdd(this, Simplegraph2graphPackage.GRAPH2_GRAPH__ELEMENT2_ELEMENT, Graph2Graph.class, msgs); + msgs = basicSetOwner(newOwner, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER, newOwner, newOwner)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER: + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + return basicSetOwner((Graph2Graph)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 Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER: + return basicSetOwner(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { + switch (eContainerFeatureID()) { + case Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER: + return eInternalContainer().eInverseRemove(this, Simplegraph2graphPackage.GRAPH2_GRAPH__ELEMENT2_ELEMENT, Graph2Graph.class, msgs); + } + return super.eBasicRemoveFromContainerFeature(msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER: + return getOwner(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER: + setOwner((Graph2Graph)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER: + setOwner((Graph2Graph)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER: + return getOwner() != null; + } + return super.eIsSet(featureID); + } + + +} //Element2ElementImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Graph2GraphImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Graph2GraphImpl.java new file mode 100644 index 000000000..c2e3fdf34 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Graph2GraphImpl.java @@ -0,0 +1,360 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Graph; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Graph2 Graph</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Graph2GraphImpl#getGraph1 <em>Graph1</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Graph2GraphImpl#getGraph2 <em>Graph2</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Graph2GraphImpl#getElement2Element <em>Element2 Element</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Graph2GraphImpl#getName <em>Name</em>}</li> + * </ul> + * + * @generated + */ +public class Graph2GraphImpl extends MinimalEObjectImpl.Container implements Graph2Graph { + /** + * The cached value of the '{@link #getGraph1() <em>Graph1</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGraph1() + * @generated + * @ordered + */ + protected Graph graph1; + + /** + * The cached value of the '{@link #getGraph2() <em>Graph2</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGraph2() + * @generated + * @ordered + */ + protected Graph graph2; + + /** + * The cached value of the '{@link #getElement2Element() <em>Element2 Element</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getElement2Element() + * @generated + * @ordered + */ + protected EList<Element2Element> element2Element; + + /** + * 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 Graph2GraphImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return Simplegraph2graphPackage.Literals.GRAPH2_GRAPH; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph getGraph1() { + if (graph1 != null && graph1.eIsProxy()) { + InternalEObject oldGraph1 = (InternalEObject)graph1; + graph1 = (Graph)eResolveProxy(oldGraph1); + if (graph1 != oldGraph1) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH1, oldGraph1, graph1)); + } + } + return graph1; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph basicGetGraph1() { + return graph1; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setGraph1(Graph newGraph1) { + Graph oldGraph1 = graph1; + graph1 = newGraph1; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH1, oldGraph1, graph1)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph getGraph2() { + if (graph2 != null && graph2.eIsProxy()) { + InternalEObject oldGraph2 = (InternalEObject)graph2; + graph2 = (Graph)eResolveProxy(oldGraph2); + if (graph2 != oldGraph2) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH2, oldGraph2, graph2)); + } + } + return graph2; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph basicGetGraph2() { + return graph2; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setGraph2(Graph newGraph2) { + Graph oldGraph2 = graph2; + graph2 = newGraph2; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH2, oldGraph2, graph2)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Element2Element> getElement2Element() { + if (element2Element == null) { + element2Element = new EObjectContainmentWithInverseEList<Element2Element>(Element2Element.class, this, Simplegraph2graphPackage.GRAPH2_GRAPH__ELEMENT2_ELEMENT, Simplegraph2graphPackage.ELEMENT2_ELEMENT__OWNER); + } + return element2Element; + } + + /** + * <!-- 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, Simplegraph2graphPackage.GRAPH2_GRAPH__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 Simplegraph2graphPackage.GRAPH2_GRAPH__ELEMENT2_ELEMENT: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getElement2Element()).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 Simplegraph2graphPackage.GRAPH2_GRAPH__ELEMENT2_ELEMENT: + return ((InternalEList<?>)getElement2Element()).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 Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH1: + if (resolve) return getGraph1(); + return basicGetGraph1(); + case Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH2: + if (resolve) return getGraph2(); + return basicGetGraph2(); + case Simplegraph2graphPackage.GRAPH2_GRAPH__ELEMENT2_ELEMENT: + return getElement2Element(); + case Simplegraph2graphPackage.GRAPH2_GRAPH__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 Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH1: + setGraph1((Graph)newValue); + return; + case Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH2: + setGraph2((Graph)newValue); + return; + case Simplegraph2graphPackage.GRAPH2_GRAPH__ELEMENT2_ELEMENT: + getElement2Element().clear(); + getElement2Element().addAll((Collection<? extends Element2Element>)newValue); + return; + case Simplegraph2graphPackage.GRAPH2_GRAPH__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 Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH1: + setGraph1((Graph)null); + return; + case Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH2: + setGraph2((Graph)null); + return; + case Simplegraph2graphPackage.GRAPH2_GRAPH__ELEMENT2_ELEMENT: + getElement2Element().clear(); + return; + case Simplegraph2graphPackage.GRAPH2_GRAPH__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH1: + return graph1 != null; + case Simplegraph2graphPackage.GRAPH2_GRAPH__GRAPH2: + return graph2 != null; + case Simplegraph2graphPackage.GRAPH2_GRAPH__ELEMENT2_ELEMENT: + return element2Element != null && !element2Element.isEmpty(); + case Simplegraph2graphPackage.GRAPH2_GRAPH__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(); + } + + +} //Graph2GraphImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Node2NodeImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Node2NodeImpl.java new file mode 100644 index 000000000..8bc11d6fb --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Node2NodeImpl.java @@ -0,0 +1,286 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.Node; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Node2 Node</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Node2NodeImpl#getNode1 <em>Node1</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Node2NodeImpl#getNode2 <em>Node2</em>}</li> + * <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.impl.Node2NodeImpl#getLabel <em>Label</em>}</li> + * </ul> + * + * @generated + */ +public class Node2NodeImpl extends Element2ElementImpl implements Node2Node { + /** + * The cached value of the '{@link #getNode1() <em>Node1</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNode1() + * @generated + * @ordered + */ + protected Node node1; + + /** + * The cached value of the '{@link #getNode2() <em>Node2</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNode2() + * @generated + * @ordered + */ + protected Node node2; + + /** + * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLabel() + * @generated + * @ordered + */ + protected static final String LABEL_EDEFAULT = null; + + /** + * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLabel() + * @generated + * @ordered + */ + protected String label = LABEL_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Node2NodeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return Simplegraph2graphPackage.Literals.NODE2_NODE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node getNode1() { + if (node1 != null && node1.eIsProxy()) { + InternalEObject oldNode1 = (InternalEObject)node1; + node1 = (Node)eResolveProxy(oldNode1); + if (node1 != oldNode1) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, Simplegraph2graphPackage.NODE2_NODE__NODE1, oldNode1, node1)); + } + } + return node1; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node basicGetNode1() { + return node1; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setNode1(Node newNode1) { + Node oldNode1 = node1; + node1 = newNode1; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Simplegraph2graphPackage.NODE2_NODE__NODE1, oldNode1, node1)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node getNode2() { + if (node2 != null && node2.eIsProxy()) { + InternalEObject oldNode2 = (InternalEObject)node2; + node2 = (Node)eResolveProxy(oldNode2); + if (node2 != oldNode2) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, Simplegraph2graphPackage.NODE2_NODE__NODE2, oldNode2, node2)); + } + } + return node2; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node basicGetNode2() { + return node2; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setNode2(Node newNode2) { + Node oldNode2 = node2; + node2 = newNode2; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Simplegraph2graphPackage.NODE2_NODE__NODE2, oldNode2, node2)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLabel() { + return label; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLabel(String newLabel) { + String oldLabel = label; + label = newLabel; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, Simplegraph2graphPackage.NODE2_NODE__LABEL, oldLabel, label)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case Simplegraph2graphPackage.NODE2_NODE__NODE1: + if (resolve) return getNode1(); + return basicGetNode1(); + case Simplegraph2graphPackage.NODE2_NODE__NODE2: + if (resolve) return getNode2(); + return basicGetNode2(); + case Simplegraph2graphPackage.NODE2_NODE__LABEL: + return getLabel(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case Simplegraph2graphPackage.NODE2_NODE__NODE1: + setNode1((Node)newValue); + return; + case Simplegraph2graphPackage.NODE2_NODE__NODE2: + setNode2((Node)newValue); + return; + case Simplegraph2graphPackage.NODE2_NODE__LABEL: + setLabel((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case Simplegraph2graphPackage.NODE2_NODE__NODE1: + setNode1((Node)null); + return; + case Simplegraph2graphPackage.NODE2_NODE__NODE2: + setNode2((Node)null); + return; + case Simplegraph2graphPackage.NODE2_NODE__LABEL: + setLabel(LABEL_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case Simplegraph2graphPackage.NODE2_NODE__NODE1: + return node1 != null; + case Simplegraph2graphPackage.NODE2_NODE__NODE2: + return node2 != null; + case Simplegraph2graphPackage.NODE2_NODE__LABEL: + return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label); + } + 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(" (label: "); + result.append(label); + result.append(')'); + return result.toString(); + } + + +} //Node2NodeImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Simplegraph2graphFactoryImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Simplegraph2graphFactoryImpl.java new file mode 100644 index 000000000..f306b8e9d --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Simplegraph2graphFactoryImpl.java @@ -0,0 +1,117 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.*; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class Simplegraph2graphFactoryImpl extends EFactoryImpl implements Simplegraph2graphFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static Simplegraph2graphFactory init() { + try { + Simplegraph2graphFactory theSimplegraph2graphFactory = (Simplegraph2graphFactory)EPackage.Registry.INSTANCE.getEFactory(Simplegraph2graphPackage.eNS_URI); + if (theSimplegraph2graphFactory != null) { + return theSimplegraph2graphFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new Simplegraph2graphFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Simplegraph2graphFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case Simplegraph2graphPackage.GRAPH2_GRAPH: return createGraph2Graph(); + case Simplegraph2graphPackage.EDGE2_EDGE: return createEdge2Edge(); + case Simplegraph2graphPackage.NODE2_NODE: return createNode2Node(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Graph2Graph createGraph2Graph() { + Graph2GraphImpl graph2Graph = new Graph2GraphImpl(); + return graph2Graph; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Edge2Edge createEdge2Edge() { + Edge2EdgeImpl edge2Edge = new Edge2EdgeImpl(); + return edge2Edge; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Node2Node createNode2Node() { + Node2NodeImpl node2Node = new Node2NodeImpl(); + return node2Node; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Simplegraph2graphPackage getSimplegraph2graphPackage() { + return (Simplegraph2graphPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static Simplegraph2graphPackage getPackage() { + return Simplegraph2graphPackage.eINSTANCE; + } + +} //Simplegraph2graphFactoryImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Simplegraph2graphPackageImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Simplegraph2graphPackageImpl.java new file mode 100644 index 000000000..2346fcd86 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/impl/Simplegraph2graphPackageImpl.java @@ -0,0 +1,523 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.SimplegraphPackage; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph.impl.SimplegraphPackageImpl; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphFactory; +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class Simplegraph2graphPackageImpl extends EPackageImpl implements Simplegraph2graphPackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass graph2GraphEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass element2ElementEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass edge2EdgeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass node2NodeEClass = 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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage#eNS_URI + * @see #init() + * @generated + */ + private Simplegraph2graphPackageImpl() { + super(eNS_URI, Simplegraph2graphFactory.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 Simplegraph2graphPackage#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 Simplegraph2graphPackage init() { + if (isInited) return (Simplegraph2graphPackage)EPackage.Registry.INSTANCE.getEPackage(Simplegraph2graphPackage.eNS_URI); + + // Obtain or create and register package + Object ePackage = EPackage.Registry.INSTANCE.get(eNS_URI); + Simplegraph2graphPackageImpl theSimplegraph2graphPackage = (Simplegraph2graphPackageImpl)(ePackage instanceof Simplegraph2graphPackageImpl ? ePackage : new Simplegraph2graphPackageImpl()); + + isInited = true; + + // Obtain or create and register interdependencies + SimplegraphPackageImpl theSimplegraphPackage = (SimplegraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SimplegraphPackage.eNS_URI) instanceof SimplegraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SimplegraphPackage.eNS_URI) : SimplegraphPackage.eINSTANCE); + + // Create package meta-data objects + theSimplegraph2graphPackage.createPackageContents(); + theSimplegraphPackage.createPackageContents(); + + // Initialize created meta-data + theSimplegraph2graphPackage.initializePackageContents(); + theSimplegraphPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theSimplegraph2graphPackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(Simplegraph2graphPackage.eNS_URI, theSimplegraph2graphPackage); + return theSimplegraph2graphPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGraph2Graph() { + return graph2GraphEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGraph2Graph_Graph1() { + return (EReference)graph2GraphEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGraph2Graph_Graph2() { + return (EReference)graph2GraphEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getGraph2Graph_Element2Element() { + return (EReference)graph2GraphEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getGraph2Graph_Name() { + return (EAttribute)graph2GraphEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getElement2Element() { + return element2ElementEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getElement2Element_Owner() { + return (EReference)element2ElementEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getEdge2Edge() { + return edge2EdgeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getEdge2Edge_Edge1() { + return (EReference)edge2EdgeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getEdge2Edge_Edge2() { + return (EReference)edge2EdgeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getEdge2Edge_Target() { + return (EReference)edge2EdgeEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getEdge2Edge_Source() { + return (EReference)edge2EdgeEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getNode2Node() { + return node2NodeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNode2Node_Node1() { + return (EReference)node2NodeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNode2Node_Node2() { + return (EReference)node2NodeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getNode2Node_Label() { + return (EAttribute)node2NodeEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Simplegraph2graphFactory getSimplegraph2graphFactory() { + return (Simplegraph2graphFactory)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 + graph2GraphEClass = createEClass(GRAPH2_GRAPH); + createEReference(graph2GraphEClass, GRAPH2_GRAPH__GRAPH1); + createEReference(graph2GraphEClass, GRAPH2_GRAPH__GRAPH2); + createEReference(graph2GraphEClass, GRAPH2_GRAPH__ELEMENT2_ELEMENT); + createEAttribute(graph2GraphEClass, GRAPH2_GRAPH__NAME); + + element2ElementEClass = createEClass(ELEMENT2_ELEMENT); + createEReference(element2ElementEClass, ELEMENT2_ELEMENT__OWNER); + + edge2EdgeEClass = createEClass(EDGE2_EDGE); + createEReference(edge2EdgeEClass, EDGE2_EDGE__EDGE1); + createEReference(edge2EdgeEClass, EDGE2_EDGE__EDGE2); + createEReference(edge2EdgeEClass, EDGE2_EDGE__TARGET); + createEReference(edge2EdgeEClass, EDGE2_EDGE__SOURCE); + + node2NodeEClass = createEClass(NODE2_NODE); + createEReference(node2NodeEClass, NODE2_NODE__NODE1); + createEReference(node2NodeEClass, NODE2_NODE__NODE2); + createEAttribute(node2NodeEClass, NODE2_NODE__LABEL); + } + + /** + * <!-- 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 + SimplegraphPackage theSimplegraphPackage = (SimplegraphPackage)EPackage.Registry.INSTANCE.getEPackage(SimplegraphPackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + edge2EdgeEClass.getESuperTypes().add(this.getElement2Element()); + node2NodeEClass.getESuperTypes().add(this.getElement2Element()); + + // Initialize classes, features, and operations; add parameters + initEClass(graph2GraphEClass, Graph2Graph.class, "Graph2Graph", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getGraph2Graph_Graph1(), theSimplegraphPackage.getGraph(), null, "graph1", null, 0, 1, Graph2Graph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getGraph2Graph_Graph2(), theSimplegraphPackage.getGraph(), null, "graph2", null, 0, 1, Graph2Graph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getGraph2Graph_Element2Element(), this.getElement2Element(), this.getElement2Element_Owner(), "element2Element", null, 0, -1, Graph2Graph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getGraph2Graph_Name(), ecorePackage.getEString(), "name", null, 0, 1, Graph2Graph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(element2ElementEClass, Element2Element.class, "Element2Element", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getElement2Element_Owner(), this.getGraph2Graph(), this.getGraph2Graph_Element2Element(), "owner", null, 0, 1, Element2Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(edge2EdgeEClass, Edge2Edge.class, "Edge2Edge", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getEdge2Edge_Edge1(), theSimplegraphPackage.getEdge(), null, "edge1", null, 0, 1, Edge2Edge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getEdge2Edge_Edge2(), theSimplegraphPackage.getEdge(), null, "edge2", null, 0, 1, Edge2Edge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getEdge2Edge_Target(), this.getNode2Node(), null, "target", null, 0, 1, Edge2Edge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getEdge2Edge_Source(), this.getNode2Node(), null, "source", null, 0, 1, Edge2Edge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(node2NodeEClass, Node2Node.class, "Node2Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getNode2Node_Node1(), theSimplegraphPackage.getNode(), null, "node1", null, 0, 1, Node2Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getNode2Node_Node2(), theSimplegraphPackage.getNode(), null, "node2", null, 0, 1, Node2Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getNode2Node_Label(), ecorePackage.getEString(), "label", null, 0, 1, Node2Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + + // Create annotations + // http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper + createEmofAnnotations(); + // http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName + createEmof_1Annotations(); + // http://www.eclipse.org/qvt#Domains + createQvtDomainsAnnotations(); + } + + /** + * Initializes the annotations for <b>http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void createEmofAnnotations() { + String source = "http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper"; + addAnnotation + (getGraph2Graph_Graph1(), + source, + new String[] { + "body", "1" + }); + addAnnotation + (getGraph2Graph_Graph2(), + source, + new String[] { + "body", "1" + }); + addAnnotation + (getEdge2Edge_Edge1(), + source, + new String[] { + "body", "1" + }); + addAnnotation + (getEdge2Edge_Edge2(), + source, + new String[] { + "body", "1" + }); + addAnnotation + (getNode2Node_Node1(), + source, + new String[] { + "body", "1" + }); + addAnnotation + (getNode2Node_Node2(), + source, + new String[] { + "body", "1" + }); + } + + /** + * Initializes the annotations for <b>http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void createEmof_1Annotations() { + String source = "http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"; + addAnnotation + (getGraph2Graph_Graph1(), + source, + new String[] { + "body", "middle1" + }); + addAnnotation + (getGraph2Graph_Graph2(), + source, + new String[] { + "body", "middle2" + }); + addAnnotation + (getEdge2Edge_Edge1(), + source, + new String[] { + "body", "middle1" + }); + addAnnotation + (getEdge2Edge_Edge2(), + source, + new String[] { + "body", "middle2" + }); + addAnnotation + (getNode2Node_Node1(), + source, + new String[] { + "body", "middle1" + }); + addAnnotation + (getNode2Node_Node2(), + source, + new String[] { + "body", "middle2" + }); + } + + /** + * Initializes the annotations for <b>http://www.eclipse.org/qvt#Domains</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void createQvtDomainsAnnotations() { + String source = "http://www.eclipse.org/qvt#Domains"; + addAnnotation + (getGraph2Graph_Graph1(), + source, + new String[] { + "referredDomain", "upperGraph" + }); + addAnnotation + (getGraph2Graph_Graph2(), + source, + new String[] { + "referredDomain", "lowerGraph" + }); + addAnnotation + (getEdge2Edge_Edge1(), + source, + new String[] { + "referredDomain", "upperGraph" + }); + addAnnotation + (getEdge2Edge_Edge2(), + source, + new String[] { + "referredDomain", "lowerGraph" + }); + addAnnotation + (getNode2Node_Node1(), + source, + new String[] { + "referredDomain", "upperGraph" + }); + addAnnotation + (getNode2Node_Node2(), + source, + new String[] { + "referredDomain", "lowerGraph" + }); + } + +} //Simplegraph2graphPackageImpl diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/util/Simplegraph2graphAdapterFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/util/Simplegraph2graphAdapterFactory.java new file mode 100644 index 000000000..f8d1bf17b --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/util/Simplegraph2graphAdapterFactory.java @@ -0,0 +1,176 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.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.jdt.annotation.Nullable; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.*; + +/** + * <!-- 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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage + * @generated + */ +public class Simplegraph2graphAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static Simplegraph2graphPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Simplegraph2graphAdapterFactory() { + if (modelPackage == null) { + modelPackage = Simplegraph2graphPackage.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 Simplegraph2graphSwitch<@Nullable Adapter> modelSwitch = + new Simplegraph2graphSwitch<@Nullable Adapter>() { + @Override + public Adapter caseGraph2Graph(Graph2Graph object) { + return createGraph2GraphAdapter(); + } + @Override + public Adapter caseElement2Element(Element2Element object) { + return createElement2ElementAdapter(); + } + @Override + public Adapter caseEdge2Edge(Edge2Edge object) { + return createEdge2EdgeAdapter(); + } + @Override + public Adapter caseNode2Node(Node2Node object) { + return createNode2NodeAdapter(); + } + @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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph <em>Graph2 Graph</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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Graph2Graph + * @generated + */ + public Adapter createGraph2GraphAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element <em>Element2 Element</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Element2Element + * @generated + */ + public Adapter createElement2ElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge <em>Edge2 Edge</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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Edge2Edge + * @generated + */ + public Adapter createEdge2EdgeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node <em>Node2 Node</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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Node2Node + * @generated + */ + public Adapter createNode2NodeAdapter() { + 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; + } + +} //Simplegraph2graphAdapterFactory diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/util/Simplegraph2graphSwitch.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/util/Simplegraph2graphSwitch.java new file mode 100644 index 000000000..397a226c3 --- /dev/null +++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/upper2lower/simplegraph2graph/util/Simplegraph2graphSwitch.java @@ -0,0 +1,177 @@ +/** + */ +package org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import org.eclipse.jdt.annotation.Nullable; + +import org.eclipse.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.*; + +/** + * <!-- 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.qvtd.xtext.qvtcore.tests.upper2lower.simplegraph2graph.Simplegraph2graphPackage + * @generated + */ +public class Simplegraph2graphSwitch<@Nullable T> extends Switch<T> { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static Simplegraph2graphPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Simplegraph2graphSwitch() { + if (modelPackage == null) { + modelPackage = Simplegraph2graphPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case Simplegraph2graphPackage.GRAPH2_GRAPH: { + Graph2Graph graph2Graph = (Graph2Graph)theEObject; + T result = caseGraph2Graph(graph2Graph); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Simplegraph2graphPackage.ELEMENT2_ELEMENT: { + Element2Element element2Element = (Element2Element)theEObject; + T result = caseElement2Element(element2Element); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Simplegraph2graphPackage.EDGE2_EDGE: { + Edge2Edge edge2Edge = (Edge2Edge)theEObject; + T result = caseEdge2Edge(edge2Edge); + if (result == null) result = caseElement2Element(edge2Edge); + if (result == null) result = defaultCase(theEObject); + return result; + } + case Simplegraph2graphPackage.NODE2_NODE: { + Node2Node node2Node = (Node2Node)theEObject; + T result = caseNode2Node(node2Node); + if (result == null) result = caseElement2Element(node2Node); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Graph2 Graph</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>Graph2 Graph</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGraph2Graph(Graph2Graph object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Element2 Element</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Element2 Element</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseElement2Element(Element2Element object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Edge2 Edge</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>Edge2 Edge</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEdge2Edge(Edge2Edge object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Node2 Node</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>Node2 Node</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNode2Node(Node2Node 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; + } + +} //Simplegraph2graphSwitch |