Browse Source

Added import reference from a package to other packages.

Thomas Kutz 9 years ago
parent
commit
4b171ce562

File diff suppressed because it is too large
+ 220 - 190
plugins/org.yakindu.base.types/model/types.aird


+ 2 - 0
plugins/org.yakindu.base.types/model/types.ecore

@@ -6,6 +6,8 @@
         eType="#//PackageMember" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="domain" eType="#//Domain"
         containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="import" upperBound="-1"
+        eType="#//Package"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//PackageMember">
     <eOperations name="getOriginType" eType="#//Type"/>

BIN
plugins/org.yakindu.base.types/model/types.jpg


+ 17 - 0
plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/Package.java

@@ -16,6 +16,7 @@ import org.yakindu.base.base.NamedElement;
  * <ul>
  *   <li>{@link org.yakindu.base.types.Package#getMember <em>Member</em>}</li>
  *   <li>{@link org.yakindu.base.types.Package#getDomain <em>Domain</em>}</li>
+ *   <li>{@link org.yakindu.base.types.Package#getImport <em>Import</em>}</li>
  * </ul>
  *
  * @see org.yakindu.base.types.TypesPackage#getPackage()
@@ -65,4 +66,20 @@ public interface Package extends NamedElement {
 	 */
 	void setDomain(Domain value);
 
+	/**
+	 * Returns the value of the '<em><b>Import</b></em>' reference list.
+	 * The list contents are of type {@link org.yakindu.base.types.Package}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Import</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>Import</em>' reference list.
+	 * @see org.yakindu.base.types.TypesPackage#getPackage_Import()
+	 * @model
+	 * @generated
+	 */
+	EList<Package> getImport();
+
 } // Package

+ 29 - 1
plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/TypesPackage.java

@@ -98,6 +98,15 @@ public interface TypesPackage extends EPackage {
 	 */
 	int PACKAGE__DOMAIN = BasePackage.NAMED_ELEMENT_FEATURE_COUNT + 1;
 
+	/**
+	 * The feature id for the '<em><b>Import</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__IMPORT = BasePackage.NAMED_ELEMENT_FEATURE_COUNT + 2;
+
 	/**
 	 * The number of structural features of the '<em>Package</em>' class.
 	 * <!-- begin-user-doc -->
@@ -105,7 +114,7 @@ public interface TypesPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int PACKAGE_FEATURE_COUNT = BasePackage.NAMED_ELEMENT_FEATURE_COUNT + 2;
+	int PACKAGE_FEATURE_COUNT = BasePackage.NAMED_ELEMENT_FEATURE_COUNT + 3;
 
 	/**
 	 * The meta object id for the '{@link org.yakindu.base.types.impl.PackageMemberImpl <em>Package Member</em>}' class.
@@ -1061,6 +1070,17 @@ public interface TypesPackage extends EPackage {
 	 */
 	EReference getPackage_Domain();
 
+	/**
+	 * Returns the meta object for the reference list '{@link org.yakindu.base.types.Package#getImport <em>Import</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Import</em>'.
+	 * @see org.yakindu.base.types.Package#getImport()
+	 * @see #getPackage()
+	 * @generated
+	 */
+	EReference getPackage_Import();
+
 	/**
 	 * Returns the meta object for class '{@link org.yakindu.base.types.Type <em>Type</em>}'.
 	 * <!-- begin-user-doc -->
@@ -1541,6 +1561,14 @@ public interface TypesPackage extends EPackage {
 		 */
 		EReference PACKAGE__DOMAIN = eINSTANCE.getPackage_Domain();
 
+		/**
+		 * The meta object literal for the '<em><b>Import</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PACKAGE__IMPORT = eINSTANCE.getPackage_Import();
+
 		/**
 		 * The meta object literal for the '{@link org.yakindu.base.types.impl.TypeImpl <em>Type</em>}' class.
 		 * <!-- begin-user-doc -->

+ 34 - 0
plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/impl/PackageImpl.java

@@ -11,6 +11,7 @@ import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 import org.yakindu.base.base.impl.NamedElementImpl;
 import org.yakindu.base.types.Domain;
@@ -27,6 +28,7 @@ import org.yakindu.base.types.TypesPackage;
  * <ul>
  *   <li>{@link org.yakindu.base.types.impl.PackageImpl#getMember <em>Member</em>}</li>
  *   <li>{@link org.yakindu.base.types.impl.PackageImpl#getDomain <em>Domain</em>}</li>
+ *   <li>{@link org.yakindu.base.types.impl.PackageImpl#getImport <em>Import</em>}</li>
  * </ul>
  *
  * @generated
@@ -50,6 +52,15 @@ public class PackageImpl extends NamedElementImpl implements org.yakindu.base.ty
 	 * @ordered
 	 */
 	protected Domain domain;
+	/**
+	 * The cached value of the '{@link #getImport() <em>Import</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getImport()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<org.yakindu.base.types.Package> import_;
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -124,6 +135,18 @@ public class PackageImpl extends NamedElementImpl implements org.yakindu.base.ty
 			eNotify(new ENotificationImpl(this, Notification.SET, TypesPackage.PACKAGE__DOMAIN, newDomain, newDomain));
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<org.yakindu.base.types.Package> getImport() {
+		if (import_ == null) {
+			import_ = new EObjectResolvingEList<org.yakindu.base.types.Package>(org.yakindu.base.types.Package.class, this, TypesPackage.PACKAGE__IMPORT);
+		}
+		return import_;
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -152,6 +175,8 @@ public class PackageImpl extends NamedElementImpl implements org.yakindu.base.ty
 				return getMember();
 			case TypesPackage.PACKAGE__DOMAIN:
 				return getDomain();
+			case TypesPackage.PACKAGE__IMPORT:
+				return getImport();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -172,6 +197,10 @@ public class PackageImpl extends NamedElementImpl implements org.yakindu.base.ty
 			case TypesPackage.PACKAGE__DOMAIN:
 				setDomain((Domain)newValue);
 				return;
+			case TypesPackage.PACKAGE__IMPORT:
+				getImport().clear();
+				getImport().addAll((Collection<? extends org.yakindu.base.types.Package>)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -190,6 +219,9 @@ public class PackageImpl extends NamedElementImpl implements org.yakindu.base.ty
 			case TypesPackage.PACKAGE__DOMAIN:
 				setDomain((Domain)null);
 				return;
+			case TypesPackage.PACKAGE__IMPORT:
+				getImport().clear();
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -206,6 +238,8 @@ public class PackageImpl extends NamedElementImpl implements org.yakindu.base.ty
 				return member != null && !member.isEmpty();
 			case TypesPackage.PACKAGE__DOMAIN:
 				return domain != null;
+			case TypesPackage.PACKAGE__IMPORT:
+				return import_ != null && !import_.isEmpty();
 		}
 		return super.eIsSet(featureID);
 	}

+ 11 - 0
plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/impl/TypesPackageImpl.java

@@ -262,6 +262,15 @@ public class TypesPackageImpl extends EPackageImpl implements TypesPackage {
 		return (EReference)packageEClass.getEStructuralFeatures().get(1);
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPackage_Import() {
+		return (EReference)packageEClass.getEStructuralFeatures().get(2);
+	}
+
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @generated
@@ -641,6 +650,7 @@ public class TypesPackageImpl extends EPackageImpl implements TypesPackage {
 		packageEClass = createEClass(PACKAGE);
 		createEReference(packageEClass, PACKAGE__MEMBER);
 		createEReference(packageEClass, PACKAGE__DOMAIN);
+		createEReference(packageEClass, PACKAGE__IMPORT);
 
 		typeEClass = createEClass(TYPE);
 		createEReference(typeEClass, TYPE__CONSTRAINT);
@@ -759,6 +769,7 @@ public class TypesPackageImpl extends EPackageImpl implements TypesPackage {
 		initEClass(packageEClass, org.yakindu.base.types.Package.class, "Package", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getPackage_Member(), this.getPackageMember(), null, "member", null, 0, -1, org.yakindu.base.types.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getPackage_Domain(), this.getDomain(), null, "domain", null, 0, 1, org.yakindu.base.types.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPackage_Import(), this.getPackage(), null, "import", null, 0, -1, org.yakindu.base.types.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(typeEClass, Type.class, "Type", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getType_Constraint(), this.getTypeConstraint(), null, "constraint", null, 0, -1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);