diff --git a/org.fortiss.tooling.base/trunk/model/base.ecore b/org.fortiss.tooling.base/trunk/model/base.ecore index 115d1e23994b4856fd63941a0949892855544287..c7a15f016261f5d68b5f36173607b0b08637555d 100644 --- a/org.fortiss.tooling.base/trunk/model/base.ecore +++ b/org.fortiss.tooling.base/trunk/model/base.ecore @@ -10,7 +10,7 @@ <details key="documentation" value="Super class of first class model elements."/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EReference" name="specifications" upperBound="-1" - eType="#//element/IModelElementSpecification" containment="true"> + eType="#//element/IModelElementSpecification" containment="true" eOpposite="#//element/IModelElementSpecification/specificationOf"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="List of model element specifications providing additional model element properties."/> </eAnnotations> @@ -27,6 +27,12 @@ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="Super class of model element specifications. Such specifications provide additional plugable properties."/> </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="specificationOf" eType="#//element/IModelElement" + eOpposite="#//element/IModelElement/specifications"> + <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> + <details key="documentation" value="The ModelElement which owns this specification"/> + </eAnnotations> + </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="IModelElementReference" abstract="true" interface="true"> @@ -46,17 +52,23 @@ <details key="documentation" value="Super class of hierarchic model elements."/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1" - eType="#//element/IConnection" containment="true"> + eType="#//element/IConnection" containment="true" eOpposite="#//element/IConnection/owner"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="List of aggregated connection model elements. Usually a hierarchic element aggregates all connections of its direct sub-structure."/> </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="connectors" upperBound="-1" - eType="#//element/IConnector" containment="true"> + eType="#//element/IConnector" containment="true" eOpposite="#//element/IConnector/owner"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="List of aggregated connectors."/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="container" eType="#//element/IHierarchicElementContainer" + eOpposite="#//element/IHierarchicElementContainer/containedElements"> + <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> + <details key="documentation" value="The container which this element belongs to"/> + </eAnnotations> + </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="IHierarchicElementContainer" abstract="true" interface="true"> @@ -64,7 +76,7 @@ <details key="documentation" value="Super class of containers of hierarchic model elements."/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EReference" name="containedElements" upperBound="-1" - eType="#//element/IHierarchicElement" containment="true"> + eType="#//element/IHierarchicElement" containment="true" eOpposite="#//element/IHierarchicElement/container"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="The contained hierarchic model elements."/> </eAnnotations> @@ -87,6 +99,12 @@ <details key="documentation" value="The outgoing connections."/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//element/IHierarchicElement" + eOpposite="#//element/IHierarchicElement/connectors"> + <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> + <details key="documentation" value="The ModelElement which owns this connector"/> + </eAnnotations> + </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="IConnection" abstract="true" interface="true" eSuperTypes="#//element/IModelElement"> @@ -105,6 +123,12 @@ <details key="documentation" value="The connection's target connector."/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//element/IHierarchicElement" + eOpposite="#//element/IHierarchicElement/connections"> + <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> + <details key="documentation" value="The ModelElement which owns this connection"/> + </eAnnotations> + </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="IHiddenSpecification" abstract="true" interface="true" eSuperTypes="#//element/IModelElementSpecification"> diff --git a/org.fortiss.tooling.base/trunk/model/base.genmodel b/org.fortiss.tooling.base/trunk/model/base.genmodel index 39ca72659b9e3e5b7c18eadb27f773222f74f10f..c4edb8b0e117517ef15089040e77d431c2764b26 100644 --- a/org.fortiss.tooling.base/trunk/model/base.genmodel +++ b/org.fortiss.tooling.base/trunk/model/base.genmodel @@ -15,7 +15,9 @@ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//element/IModelElement/referencedBy"/> </genClasses> - <genClasses image="false" ecoreClass="base.ecore#//element/IModelElementSpecification"/> + <genClasses image="false" ecoreClass="base.ecore#//element/IModelElementSpecification"> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference base.ecore#//element/IModelElementSpecification/specificationOf"/> + </genClasses> <genClasses image="false" ecoreClass="base.ecore#//element/IModelElementReference"> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//element/IModelElementReference/reference"/> @@ -23,6 +25,7 @@ <genClasses image="false" ecoreClass="base.ecore#//element/IHierarchicElement"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference base.ecore#//element/IHierarchicElement/connections"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference base.ecore#//element/IHierarchicElement/connectors"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference base.ecore#//element/IHierarchicElement/container"/> </genClasses> <genClasses image="false" ecoreClass="base.ecore#//element/IHierarchicElementContainer"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference base.ecore#//element/IHierarchicElementContainer/containedElements"/> @@ -32,12 +35,14 @@ ecoreFeature="ecore:EReference base.ecore#//element/IConnector/incoming"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//element/IConnector/outgoing"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference base.ecore#//element/IConnector/owner"/> </genClasses> <genClasses image="false" ecoreClass="base.ecore#//element/IConnection"> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//element/IConnection/source"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//element/IConnection/target"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference base.ecore#//element/IConnection/owner"/> </genClasses> <genClasses image="false" ecoreClass="base.ecore#//element/IHiddenSpecification"/> <genClasses ecoreClass="base.ecore#//element/IAnnotatedSpecification"/>