diff --git a/src/languages/de.evoal.languages.model.ddl/model/model.ecore b/src/languages/de.evoal.languages.model.ddl/model/model.ecore index b8c5b5d5f1d4d790e9783d15462ff1933c8c0ddc..1b7e4b3a0e89d21b2ff21814863e364fc6e86400 100644 --- a/src/languages/de.evoal.languages.model.ddl/model/model.ecore +++ b/src/languages/de.evoal.languages.model.ddl/model/model.ecore @@ -85,17 +85,12 @@ </eAnnotations> </eStructuralFeatures> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="DataDescription" abstract="true"> + <eClassifiers xsi:type="ecore:EClass" name="DataDescription" abstract="true" eSuperTypes="../../de.evoal.languages.model.base/model/model.ecore#//Definition"> <eOperations name="getScale" eType="#//ScaleType"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="Returns the associated scale if existing."/> </eAnnotations> </eOperations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Name of the described data."/> - </eAnnotations> - </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="constraints" ordered="false" upperBound="-1" eType="ecore:EClass ../../de.evoal.languages.model.base/model/model.ecore#//Expression" containment="true"> diff --git a/src/languages/de.evoal.languages.model.ddl/model/model.genmodel b/src/languages/de.evoal.languages.model.ddl/model/model.genmodel index 98c702eb78dc9f4d53ee31668c0be8843e8cd533..afadaba2ed5f1cc56c93020955266720797858bc 100644 --- a/src/languages/de.evoal.languages.model.ddl/model/model.genmodel +++ b/src/languages/de.evoal.languages.model.ddl/model/model.genmodel @@ -39,7 +39,6 @@ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model.ecore#//DataTypeDefinition/constraints"/> </genClasses> <genClasses ecoreClass="model.ecore#//DataDescription"> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model.ecore#//DataDescription/name"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model.ecore#//DataDescription/constraints"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model.ecore#//DataDescription/representation"/> <genOperations ecoreOperation="model.ecore#//DataDescription/getScale"/> diff --git a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/DataDescription.java b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/DataDescription.java index 0a7b779056e0053914ee52b0a69a599fd582e2a3..a23aeb30ffb210ca10d5996d92539ef147ed498a 100644 --- a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/DataDescription.java +++ b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/DataDescription.java @@ -2,12 +2,11 @@ */ package de.evoal.languages.model.ddl; +import de.evoal.languages.model.base.Definition; import de.evoal.languages.model.base.Expression; import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; - /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Data Description</b></em>'. @@ -17,7 +16,6 @@ import org.eclipse.emf.ecore.EObject; * The following features are supported: * </p> * <ul> - * <li>{@link de.evoal.languages.model.ddl.DataDescription#getName <em>Name</em>}</li> * <li>{@link de.evoal.languages.model.ddl.DataDescription#getConstraints <em>Constraints</em>}</li> * <li>{@link de.evoal.languages.model.ddl.DataDescription#getRepresentation <em>Representation</em>}</li> * </ul> @@ -26,32 +24,7 @@ import org.eclipse.emf.ecore.EObject; * @model abstract="true" * @generated */ -public interface DataDescription extends EObject { - /** - * Returns the value of the '<em><b>Name</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the described data. - * <!-- end-model-doc --> - * @return the value of the '<em>Name</em>' attribute. - * @see #setName(String) - * @see de.evoal.languages.model.ddl.DdlPackage#getDataDescription_Name() - * @model required="true" - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link de.evoal.languages.model.ddl.DataDescription#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); - +public interface DataDescription extends Definition { /** * Returns the value of the '<em><b>Constraints</b></em>' containment reference list. * The list contents are of type {@link de.evoal.languages.model.base.Expression}. diff --git a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/DdlPackage.java b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/DdlPackage.java index a660a95aded7e8afc845cb6662c658c02e0ba682..90bf944583cdb36370a9d0a76b1bd097de75fa32 100644 --- a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/DdlPackage.java +++ b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/DdlPackage.java @@ -195,7 +195,7 @@ public interface DdlPackage extends EPackage { * @generated * @ordered */ - int DATA_DESCRIPTION__NAME = 0; + int DATA_DESCRIPTION__NAME = BasePackage.DEFINITION__NAME; /** * The feature id for the '<em><b>Constraints</b></em>' containment reference list. @@ -204,7 +204,7 @@ public interface DdlPackage extends EPackage { * @generated * @ordered */ - int DATA_DESCRIPTION__CONSTRAINTS = 1; + int DATA_DESCRIPTION__CONSTRAINTS = BasePackage.DEFINITION_FEATURE_COUNT + 0; /** * The feature id for the '<em><b>Representation</b></em>' attribute. @@ -213,7 +213,7 @@ public interface DdlPackage extends EPackage { * @generated * @ordered */ - int DATA_DESCRIPTION__REPRESENTATION = 2; + int DATA_DESCRIPTION__REPRESENTATION = BasePackage.DEFINITION_FEATURE_COUNT + 1; /** * The number of structural features of the '<em>Data Description</em>' class. @@ -222,7 +222,7 @@ public interface DdlPackage extends EPackage { * @generated * @ordered */ - int DATA_DESCRIPTION_FEATURE_COUNT = 3; + int DATA_DESCRIPTION_FEATURE_COUNT = BasePackage.DEFINITION_FEATURE_COUNT + 2; /** * The meta object id for the '{@link de.evoal.languages.model.ddl.impl.TypedDataDescriptionImpl <em>Typed Data Description</em>}' class. @@ -531,17 +531,6 @@ public interface DdlPackage extends EPackage { */ EClass getDataDescription(); - /** - * Returns the meta object for the attribute '{@link de.evoal.languages.model.ddl.DataDescription#getName <em>Name</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Name</em>'. - * @see de.evoal.languages.model.ddl.DataDescription#getName() - * @see #getDataDescription() - * @generated - */ - EAttribute getDataDescription_Name(); - /** * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.ddl.DataDescription#getConstraints <em>Constraints</em>}'. * <!-- begin-user-doc --> @@ -781,14 +770,6 @@ public interface DdlPackage extends EPackage { */ EClass DATA_DESCRIPTION = eINSTANCE.getDataDescription(); - /** - * The meta object literal for the '<em><b>Name</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EAttribute DATA_DESCRIPTION__NAME = eINSTANCE.getDataDescription_Name(); - /** * The meta object literal for the '<em><b>Constraints</b></em>' containment reference list feature. * <!-- begin-user-doc --> diff --git a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/impl/DataDescriptionImpl.java b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/impl/DataDescriptionImpl.java index 97541d48758a52468457dbcbc8372d93f59d2ce2..c0e45a5f8ef7ce7124eb4463c32ae6bb6f921496 100644 --- a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/impl/DataDescriptionImpl.java +++ b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/impl/DataDescriptionImpl.java @@ -4,6 +4,7 @@ package de.evoal.languages.model.ddl.impl; import de.evoal.languages.model.base.Expression; +import de.evoal.languages.model.base.impl.DefinitionImpl; import de.evoal.languages.model.ddl.DataDescription; import de.evoal.languages.model.ddl.DdlPackage; import de.evoal.languages.model.ddl.RepresentationType; @@ -20,8 +21,6 @@ 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.EObjectContainmentEList; import org.eclipse.emf.ecore.util.InternalEList; @@ -33,34 +32,13 @@ import org.eclipse.emf.ecore.util.InternalEList; * The following features are implemented: * </p> * <ul> - * <li>{@link de.evoal.languages.model.ddl.impl.DataDescriptionImpl#getName <em>Name</em>}</li> * <li>{@link de.evoal.languages.model.ddl.impl.DataDescriptionImpl#getConstraints <em>Constraints</em>}</li> * <li>{@link de.evoal.languages.model.ddl.impl.DataDescriptionImpl#getRepresentation <em>Representation</em>}</li> * </ul> * * @generated */ -public abstract class DataDescriptionImpl extends MinimalEObjectImpl.Container implements DataDescription { - /** - * 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; - +public abstract class DataDescriptionImpl extends DefinitionImpl implements DataDescription { /** * The cached value of the '{@link #getConstraints() <em>Constraints</em>}' containment reference list. * <!-- begin-user-doc --> @@ -110,29 +88,6 @@ public abstract class DataDescriptionImpl extends MinimalEObjectImpl.Container i return DdlPackage.Literals.DATA_DESCRIPTION; } - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public String getName() { - return name; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void setName(String newName) { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, DdlPackage.DATA_DESCRIPTION__NAME, oldName, name)); - } - /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -203,8 +158,6 @@ public abstract class DataDescriptionImpl extends MinimalEObjectImpl.Container i @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { - case DdlPackage.DATA_DESCRIPTION__NAME: - return getName(); case DdlPackage.DATA_DESCRIPTION__CONSTRAINTS: return getConstraints(); case DdlPackage.DATA_DESCRIPTION__REPRESENTATION: @@ -222,9 +175,6 @@ public abstract class DataDescriptionImpl extends MinimalEObjectImpl.Container i @Override public void eSet(int featureID, Object newValue) { switch (featureID) { - case DdlPackage.DATA_DESCRIPTION__NAME: - setName((String)newValue); - return; case DdlPackage.DATA_DESCRIPTION__CONSTRAINTS: getConstraints().clear(); getConstraints().addAll((Collection<? extends Expression>)newValue); @@ -244,9 +194,6 @@ public abstract class DataDescriptionImpl extends MinimalEObjectImpl.Container i @Override public void eUnset(int featureID) { switch (featureID) { - case DdlPackage.DATA_DESCRIPTION__NAME: - setName(NAME_EDEFAULT); - return; case DdlPackage.DATA_DESCRIPTION__CONSTRAINTS: getConstraints().clear(); return; @@ -265,8 +212,6 @@ public abstract class DataDescriptionImpl extends MinimalEObjectImpl.Container i @Override public boolean eIsSet(int featureID) { switch (featureID) { - case DdlPackage.DATA_DESCRIPTION__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); case DdlPackage.DATA_DESCRIPTION__CONSTRAINTS: return constraints != null && !constraints.isEmpty(); case DdlPackage.DATA_DESCRIPTION__REPRESENTATION: @@ -285,9 +230,7 @@ public abstract class DataDescriptionImpl extends MinimalEObjectImpl.Container i if (eIsProxy()) return super.toString(); StringBuilder result = new StringBuilder(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(", representation: "); + result.append(" (representation: "); result.append(representation); result.append(')'); return result.toString(); diff --git a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/impl/DdlPackageImpl.java b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/impl/DdlPackageImpl.java index 0adcdeff6d30646bed0482c8d7c43c4fb6f465e3..db5f26eb8a02cb0501d2dc508b0dc6a5a6bd4c3e 100644 --- a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/impl/DdlPackageImpl.java +++ b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/impl/DdlPackageImpl.java @@ -277,16 +277,6 @@ public class DdlPackageImpl extends EPackageImpl implements DdlPackage { return dataDescriptionEClass; } - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public EAttribute getDataDescription_Name() { - return (EAttribute)dataDescriptionEClass.getEStructuralFeatures().get(0); - } - /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -294,7 +284,7 @@ public class DdlPackageImpl extends EPackageImpl implements DdlPackage { */ @Override public EReference getDataDescription_Constraints() { - return (EReference)dataDescriptionEClass.getEStructuralFeatures().get(1); + return (EReference)dataDescriptionEClass.getEStructuralFeatures().get(0); } /** @@ -304,7 +294,7 @@ public class DdlPackageImpl extends EPackageImpl implements DdlPackage { */ @Override public EAttribute getDataDescription_Representation() { - return (EAttribute)dataDescriptionEClass.getEStructuralFeatures().get(2); + return (EAttribute)dataDescriptionEClass.getEStructuralFeatures().get(1); } /** @@ -440,7 +430,6 @@ public class DdlPackageImpl extends EPackageImpl implements DdlPackage { createEReference(dataTypeDefinitionEClass, DATA_TYPE_DEFINITION__CONSTRAINTS); dataDescriptionEClass = createEClass(DATA_DESCRIPTION); - createEAttribute(dataDescriptionEClass, DATA_DESCRIPTION__NAME); createEReference(dataDescriptionEClass, DATA_DESCRIPTION__CONSTRAINTS); createEAttribute(dataDescriptionEClass, DATA_DESCRIPTION__REPRESENTATION); @@ -491,6 +480,7 @@ public class DdlPackageImpl extends EPackageImpl implements DdlPackage { // Set bounds for type parameters // Add supertypes to classes + dataDescriptionEClass.getESuperTypes().add(theBasePackage.getDefinition()); typedDataDescriptionEClass.getESuperTypes().add(this.getDataDescription()); untypedDataDescriptionEClass.getESuperTypes().add(this.getDataDescription()); dataReferenceEClass.getESuperTypes().add(theBasePackage.getValueReference()); @@ -511,7 +501,6 @@ public class DdlPackageImpl extends EPackageImpl implements DdlPackage { initEReference(getDataTypeDefinition_Constraints(), theBasePackage.getExpression(), null, "constraints", null, 0, -1, DataTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); initEClass(dataDescriptionEClass, DataDescription.class, "DataDescription", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getDataDescription_Name(), ecorePackage.getEString(), "name", null, 1, 1, DataDescription.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDataDescription_Constraints(), theBasePackage.getExpression(), null, "constraints", null, 0, -1, DataDescription.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); initEAttribute(getDataDescription_Representation(), this.getRepresentationType(), "representation", "real", 1, 1, DataDescription.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); diff --git a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/util/DdlAdapterFactory.java b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/util/DdlAdapterFactory.java index aa97299d033f9f3b808c6afa8afc8909d8249be3..95fae712ab5b6f68eb01692c413a200bc13ce9b3 100644 --- a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/util/DdlAdapterFactory.java +++ b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/util/DdlAdapterFactory.java @@ -2,6 +2,7 @@ */ package de.evoal.languages.model.ddl.util; +import de.evoal.languages.model.base.Definition; import de.evoal.languages.model.base.Value; import de.evoal.languages.model.base.ValueReference; @@ -99,6 +100,10 @@ public class DdlAdapterFactory extends AdapterFactoryImpl { return createSelfReferenceAdapter(); } @Override + public Adapter caseDefinition(Definition object) { + return createDefinitionAdapter(); + } + @Override public Adapter caseValue(Value object) { return createValueAdapter(); } @@ -224,6 +229,20 @@ public class DdlAdapterFactory extends AdapterFactoryImpl { return null; } + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.base.Definition <em>Definition</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 de.evoal.languages.model.base.Definition + * @generated + */ + public Adapter createDefinitionAdapter() { + return null; + } + /** * Creates a new adapter for an object of class '{@link de.evoal.languages.model.base.Value <em>Value</em>}'. * <!-- begin-user-doc --> diff --git a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/util/DdlSwitch.java b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/util/DdlSwitch.java index 36c6669ee9b4643f9a67a58a74c960099541d3db..67d663c16dc30d0509fa4551a7c9dc949ad3240a 100644 --- a/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/util/DdlSwitch.java +++ b/src/languages/de.evoal.languages.model.ddl/src-gen/de/evoal/languages/model/ddl/util/DdlSwitch.java @@ -2,6 +2,7 @@ */ package de.evoal.languages.model.ddl.util; +import de.evoal.languages.model.base.Definition; import de.evoal.languages.model.base.Value; import de.evoal.languages.model.base.ValueReference; @@ -84,6 +85,7 @@ public class DdlSwitch<T> extends Switch<T> { case DdlPackage.DATA_DESCRIPTION: { DataDescription dataDescription = (DataDescription)theEObject; T result = caseDataDescription(dataDescription); + if (result == null) result = caseDefinition(dataDescription); if (result == null) result = defaultCase(theEObject); return result; } @@ -91,6 +93,7 @@ public class DdlSwitch<T> extends Switch<T> { TypedDataDescription typedDataDescription = (TypedDataDescription)theEObject; T result = caseTypedDataDescription(typedDataDescription); if (result == null) result = caseDataDescription(typedDataDescription); + if (result == null) result = caseDefinition(typedDataDescription); if (result == null) result = defaultCase(theEObject); return result; } @@ -98,6 +101,7 @@ public class DdlSwitch<T> extends Switch<T> { UntypedDataDescription untypedDataDescription = (UntypedDataDescription)theEObject; T result = caseUntypedDataDescription(untypedDataDescription); if (result == null) result = caseDataDescription(untypedDataDescription); + if (result == null) result = caseDefinition(untypedDataDescription); if (result == null) result = defaultCase(theEObject); return result; } @@ -226,6 +230,21 @@ public class DdlSwitch<T> extends Switch<T> { return null; } + /** + * Returns the result of interpreting the object as an instance of '<em>Definition</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>Definition</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDefinition(Definition object) { + return null; + } + /** * Returns the result of interpreting the object as an instance of '<em>Value</em>'. * <!-- begin-user-doc -->